The repository contains a graphical install path for a single Windows workstation: an Inno Setup script in installer/cluster_erp_setup.iss, the launcher INSTALL.bat, the guide README_INSTALL.txt, and the setup wizard installer/setup_wizard.pyw. This page describes what each file does. A Linux node uses a different path, described in install a Linux node.
Scope and source¶
- Defined in:
installer/cluster_erp_setup.iss,INSTALL.bat,README_INSTALL.txt,installer/setup_wizard.pyw(SetupWizard). - Count: six wizard pages, counted from the docstring list (
installer/setup_wizard.pyw:6-12); nine numbered install steps in the wizard log, of which step 8 has no log line (installer/setup_wizard.pyw:504-699).
Default values that the wizard pre-fills for accounts and passwords are omitted under the security disclosure policy.
Inno Setup script¶
| Section | Content | Source |
|---|---|---|
| Defines | Product name, version 0.1.0, publisher, and start_desktop.bat as the program entry. |
installer/cluster_erp_setup.iss:5-9 |
[Setup] |
Installs under the program files folder, needs administrator rights, writes a setup log, and names the output after the version. | installer/cluster_erp_setup.iss:11-25 |
[Languages] |
Turkish and English. | installer/cluster_erp_setup.iss:27-29 |
[Files] |
src, migrations, pyproject.toml, alembic.ini, .env.example, and the wizard. |
installer/cluster_erp_setup.iss:31-37 |
[Run] |
Starts the wizard after the copy. | installer/cluster_erp_setup.iss:39-40 |
[Icons], [Tasks] |
Start-menu entries for the program, the wizard, and the uninstaller; an optional desktop shortcut. | installer/cluster_erp_setup.iss:42-49 |
[UninstallDelete] |
Removes the virtual environment, __pycache__, and .env on uninstall. |
installer/cluster_erp_setup.iss:51-54 |
INSTALL.bat and README_INSTALL.txt¶
INSTALL.bat checks that python is on the PATH, prints its version, and starts the wizard; without Python it prints the download address and stops (INSTALL.bat:11-40). README_INSTALL.txt is a Turkish guide in four steps: install Python, install PostgreSQL, run INSTALL.bat, and start the program, followed by troubleshooting notes (README_INSTALL.txt:5-66).
Setup wizard¶
The wizard is a tkinter application that needs only Python 3.12 or newer and refuses older versions (installer/setup_wizard.pyw:1-12, installer/setup_wizard.pyw:794-800).
| Step | Behaviour | Source |
|---|---|---|
| 1 | Copies the source tree to the chosen folder, without .git, .env, virtual environments, and node_modules. |
installer/setup_wizard.pyw:503-519 |
| 2 | Creates a virtual environment venv. |
installer/setup_wizard.pyw:521-528 |
| 3 | Installs the project with pip install -e ., then PySide6==6.8.3 and email-validator. |
installer/setup_wizard.pyw:533-545 |
| 4 | Writes .env with the database settings, server host and port, CLUSTER_ERP_DEBUG=false, and a random secret key. |
installer/setup_wizard.pyw:547-567 |
| 5 | If PostgreSQL tools are found and the option is on, creates the database role and the database and grants rights on them. | installer/setup_wizard.pyw:569-626 |
| 6 | Runs alembic upgrade head. |
installer/setup_wizard.pyw:628-653 |
| 7 | Creates the first administrator in the database with an argon2 password hash. | installer/setup_wizard.pyw:655-696 |
| 9 | Writes start_server.bat and start_desktop.bat and creates shortcuts. |
installer/setup_wizard.pyw:698-734 |
The wizard looks for the PostgreSQL tools under the program files folders and then on the PATH (installer/setup_wizard.pyw:420-434). Database names and role names must match _SAFE_IDENT (installer/setup_wizard.pyw:58-67). start_desktop.bat stops any process listening on the server port, starts the server in the background, waits, and starts the desktop client (installer/setup_wizard.pyw:709-724).
Constraints and validation¶
- The wizard installs packages without
requirements.lockand its hashes, unlike the Linux node and continuous integration (installer/setup_wizard.pyw:533-545,deploy/install.sh:153,.github/workflows/ci.yml:47). - The
[Files]list of the Inno Setup script contains nowebappfolder (installer/cluster_erp_setup.iss:31-37); the server mounts/apponly when that folder exists (src/cluster_erp/server/app.py:1633-1634). - The product version in the script and the wizard is the constant
0.1.0(installer/cluster_erp_setup.iss:6,installer/setup_wizard.pyw:51).
Discrepancies¶
Terms introduced¶
| Term | Code identifier | Definition | Turkish term | Source |
|---|---|---|---|---|
| setup wizard | SetupWizard |
The tkinter program that installs Cluster ERP on a Windows workstation. | kurulum sihirbazı | installer/setup_wizard.pyw:74 |
Related pages¶
Verified against commit 92f8051 on 2026-11-13.