Common errors and how to fix them. If your issue isn't listed here, email jol@soul-trade.com or visit the support forum.
Docker Desktop must be open and showing Running in your menu bar (Mac) or system tray (Windows) before you run any installer or start script.
winver and press Enter.Specialist Windows editions such as IoT LTSC may require WSL 2 to be enabled manually before installing Docker Desktop. Open PowerShell as administrator and run:
wsl --install
Then restart your computer before installing Docker Desktop.
If Docker Desktop reports that virtualisation is not available, you need to enable it in your BIOS/UEFI settings. Restart your PC, enter BIOS (usually F2, F10 or Delete during startup), find the Virtualisation or Intel VT-x / AMD-V setting and enable it, then save and restart.
Windows PowerShell execution policy is blocking the installer script, or it needs administrator privileges.
Install CrystalSolutions.batDocker Desktop requires hardware virtualisation to be enabled in your PC's BIOS/UEFI settings.
Alternatively, in Docker Desktop Settings → General, try switching between WSL2 and Hyper-V backends.
start.bat → Run as administratordocker compose up -dClick Allow — this is expected. The installer needs this permission to show progress dialogs and the folder picker. It is not accessing any personal data.
.app installerNote: Full signing and notarisation requires a paid Apple Developer account and will be added in a future release.
start.command → OpenOr use the Start button in Docker Desktop instead — it does the same thing.
The database container didn't start in time on the first run, or there's a leftover volume from a previous failed install.
docker compose down -v
docker compose up -d
-v flag removes the database volume. Only use this on a fresh install where you have no data to keep. If you have existing data, omit -v.The database migrations didn't all run on first startup. This can happen if the DB container wasn't fully ready when the SQL init scripts ran.
Run the migrations manually. In a terminal, from the install folder:
docker exec -i crystalsolutions_db mysql --force \ -u csuser -pcs_pass_2026 crystalsolutions \ < docker/initdb/02_migrations.sql
Then refresh your browser.
crystalsolutions with soletrader or praxisclinic and adjust the username/password accordingly for other products. See the quick reference below.You're visiting the root URL instead of the application subfolder.
Use the full URL including the application path:
| Product | Correct URL |
|---|---|
| CrystalSolutions | http://localhost:8080/cspractice |
| SoleTrader | http://localhost:8081/soletrader |
| PraxisClinic | http://localhost:8082/praxis |
localhost:8080 to the correct URL. If you still see 403, download the latest zip from soul-trade.com/downloads/The config.php file is missing or was not created correctly during install.
Do a fresh reinstall — see the reinstalling section below. Make sure you are using the latest Docker zip from soul-trade.com/downloads/
The installer has a built-in menu. Double-click:
Install [Product].bat (right-click → Run as administrator)Setup [Product].commandChoose option 2 — Reinstall after a failed attempt. The installer will warn you, ask you to type YES to confirm, then remove everything and start a fresh install automatically. Nothing else needed.
Double-click Install [Product].bat (Windows) or Setup [Product].command (Mac) and choose option 3 — Update app files only. Your existing records will not be touched.
app/ folder with the new versionsconfig.php — it has your database credentialsA previous install left containers or database volumes behind. Simply deleting the install folder does not remove these — they live inside Docker.
Run the installer and choose option 2 — Reinstall after a failed attempt. This clears everything cleanly before reinstalling.
| Product | URL | DB name | DB user | DB password |
|---|---|---|---|---|
| CrystalSolutions | localhost:8080/cspractice |
crystalsolutions |
csuser |
cs_pass_2026 |
| SoleTrader | localhost:8081/soletrader |
soletrader |
stuser |
st_pass_2026 |
| PraxisClinic | localhost:8082/praxis |
praxisclinic |
praxisuser |
praxis_pass_2026 |
Default login for all products: admin / changeme — change immediately in Setup → Password.
Issue not listed here?
Email jol@soul-trade.com · Support forum · Full install guide