Local demo in 60 seconds
# clone, boot, done
git clone https://github.com/eLh0m3r0/assoluto.git
cd assoluto
cp .env.example .env
docker compose up --build
# in another terminal — seed demo data
docker compose exec web python -m scripts.seed_dev
# open http://4mex.localhost:8000 — the demo portal
# vlastnik@dilna.example.com / demo1234 (staff)
# jan@klient.example.com / demo1234 (client contact)
Production deployment
The repo ships docker-compose.prod.yml, an overlay on top of the base docker-compose.yml.
It puts Caddy in front with automatic HTTPS. The bundled Caddyfile obtains a wildcard certificate through the Porkbun DNS API — swap the DNS plugin for your provider, or use the nginx example in docker/nginx.conf.example. Put your settings (database passwords, SMTP, S3, domain) into an env file and run:
docker compose --env-file /etc/assoluto/env \
-f docker-compose.yml -f docker-compose.prod.yml up -d
Step-by-step guides:
docs/SELF_HOST.md,
env var list in
docs/ENV.md.
Single-tenant vs. multi-tenant
By default the self-hosted install runs as
single-tenant — one supplier, many client contacts. For running multiple independent suppliers on the same instance, set
FEATURE_PLATFORM=true
— this enables the opt-in SaaS layer with cross-tenant identity, signup, and platform admin.
Self-hoster support
Open an issue or a discussion:
GitHub issues.
For commercial support, a security audit, or custom development, use the
contact form.
A word on AGPL-3.0
Assoluto is released under AGPL-3.0. Practically: you may run it free of charge, modify it, and host it — even commercially. If you offer a modified version as a service to third parties, you must publish your modifications under the same licence. For a closed-source deployment, contact us for a commercial licence.