Assoluto

Self-hosted

Your server. Your data. Your rules.

Full source code under AGPL-3.0. Host Assoluto on your own VPS — free, no limits, with Docker Compose.

Requirements

  • Linux server with Docker 24+ (2 vCPU, 2 GB RAM to start)
  • PostgreSQL 16 (runs inside the Compose stack)
  • S3-compatible storage (MinIO, Backblaze B2, Cloudflare R2, AWS S3)
  • SMTP relay for outgoing emails
  • Public hostname + TLS (Caddy or nginx recommended)

Local demo in 60 seconds

# clone, boot, done
git clone https://github.com/elh0m3r0/sme-client-portal.git
cd sme-client-portal
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://localhost:8000
# vlastnik@dilna.example.com / demo1234 (staff)
# jan@klient.example.com     / demo1234 (client contact)

Production deployment

The repo ships docker-compose.prod.yml ready for nginx + TLS. Fill in the env (SMTP, S3, domain) and run:

docker compose -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.