Get started in about 5 minutes
No license key, no account creation on our end — clone it, configure it, and run it on your own server.
1. Clone, configure, and start the stack
Copy env.example to .env and set at minimum SECRET_KEY and the POSTGRES_*/ADMIN_* values, then bring the stack up. Database migrations run automatically on startup.
git clone https://github.com/DRYTRIX/Seam-De-Stress.git seamdestress
cd seamdestress
cp env.example .env
# edit .env — SECRET_KEY, POSTGRES_*, ADMIN_*
docker compose up -d
The app is now running at http://localhost:5000.
2. Create the admin user & load demo data
This creates the initial admin account and loads a realistic demo dataset — clients, a service catalog, orders in every status, and one invoice — so you can click around before committing to real data.
docker compose exec app flask seed
Sign in with the ADMIN_USERNAME / ADMIN_PASSWORD you set in .env (defaults to admin / changeme123 — change this before exposing the app).
3. Configure your shop
Everything a shop needs to look and behave like your shop is editable from Settings — no redeploy required:
- Shop name, address, phone, opening hours, and logo
- VAT number and IBAN for invoices
- Daily planning capacity and invoice numbering format
- Notification templates per language, and whether the client portal shows prices
See the full list of environment variables (SMTP, Twilio, upload limits, default locale/timezone/VAT rate) in env.example in the repository.
Local development (without Docker)
For live-reload development, or to hack on the codebase, run it directly with a virtualenv and SQLite:
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements-dev.txt
cp env.example .env # set DB_DRIVER=sqlite for a dependency-free local DB
flask db upgrade
flask seed
flask run --debug
Run the test suite and linter before opening a pull request:
pytest -q
ruff check .
Prefer Docker but want live reload too? Use the dev compose override:
docker compose -f docker-compose.yml -f docker-compose.dev.yml up
Production checklist
- Change
ADMIN_PASSWORDaway from the default before exposing the app - Set a long, random
SECRET_KEY - Put the app behind TLS and keep
SESSION_COOKIE_SECURE=true(the default) - Configure
SMTP_*and/orTWILIO_*if you want "order ready" notifications and password-reset emails to actually send - Mount
UPLOAD_FOLDERon a persistent volume so garment photos and your logo survive redeploys - Set up regular PostgreSQL backups — it's your data, so it's your backup strategy too
Ready when you are
No signup, no license key — just Docker and your own server.