Run from source
Goal: with one launcher, run the Hub, the browser admin console and the desktop client on this computer.
Before you start: install Python 3.12 or later and Node.js 22.19 or later. On Windows, select Add Python to PATH; keep the Node.js defaults, including npm. Close any open terminals afterwards.
The launcher uses its own SQLite database, listens only on this computer, and doesn't connect to any external SoduWork service. You don't need a database, Docker, Git or a .env file.
1. Get the source
Download the source ZIP and extract all files, or clone the repository:
git clone https://github.com/mdiri-ai/SoduWork
cd SoduWork
Use a normal folder you can write to, for example C:/SoduWork. Don't use a system program folder, and don't run it from inside the ZIP.
2. Start
Open the folder that contains README.md, start.py and client, and use the entry for your system:
| System | How to start |
|---|---|
| Windows | Double-click start-desktop.cmd |
| macOS | Double-click start-desktop.command |
| Linux desktop | Open a terminal in the folder and run sh start.sh --desktop |
Each of these is the same as python start.py --desktop: it starts the Hub and admin console and opens the desktop client.
3. Set the administrator password
The first time, set a password for the admin account, 12 to 128 characters, and enter it again to confirm. Nothing is shown while you type; press Enter when done. Later starts don't ask again.
4. Wait for setup
Keep the window open. The launcher:
- creates a private Python environment and installs dependencies;
- builds the admin console;
- prepares the database;
- opens the desktop client.
The first start needs a network connection and can take a few minutes. Long steps report progress about every 15 seconds. Details go to the startup.log path printed in the window. Later starts reuse what was installed.
Check that it worked
The terminal shows something like this (use the address it actually prints):
SoduWork is ready: http://127.0.0.1:18989
Administrator: admin
Then a browser and the desktop client open:
- The browser shows an introduction page first. Choose Enter admin console to reach sign-in.
- Sign in to both with
adminand the password you just set. This is a local account; no other registration is needed. - The desktop client is already connected to this local service and uses its own
desktop-profile/. Accounts and history in any SoduWork client you already have are not touched.
Stop and start again
- To stop, press Ctrl+C in the launcher window and wait for the message. Closing the desktop window may only send it to the tray; choose Quit from the tray.
- Next time, double-click the same launcher and sign in with the same account. Your data and model settings are kept.
- Don't start it twice. If it says an instance is running, use the window and pages already open.
Other ways to start
Run from the source folder. On macOS and Linux use python3, or sh start.sh.
| To | Command |
|---|---|
| Start the Hub and open the desktop client (same as the double-click entries) | python start.py --desktop |
| Start only the Hub and browser admin console | python start.py (or double-click start.cmd on Windows, start.command on macOS) |
| Check prerequisites without installing or changing files | python start.py --check --desktop |
| Download and build now, start later | python start.py --prepare-only --desktop |
| Don't open the browser | python start.py --desktop --no-browser |
| Use another port | python start.py --desktop --port 18990 |
| Use a separate data directory | python start.py --desktop --data-dir "D:/SoduWork-data" |
On a Linux server without a desktop, use sh start.sh to start only the Hub and admin console. All options are in the command-line reference.
The launcher doesn't read a .env file, database, agent configuration or existing model credentials from the source folder.
Next
- Connect a model: Configure a model and a harness
- Run the client separately or connect to another Hub: Connect the desktop client
- Something went wrong: FAQ