Self-Hosting
Visiban is designed for self-hosting. Your data stays on your infrastructure.
Requirements
A server with Docker and Docker Compose v2 is all you need. A 1 vCPU / 1 GB RAM machine handles a small team comfortably.
Docker
24+
Compose
v2
Postgres
16 (bundled)
Redis
7 (bundled)
Quick start
- 1
Clone the repo
git clone https://gitlab.com/visiban/visiban cd visiban - 2
Configure environment
cp .env.example .env # Edit .env — set DJANGO_SECRET_KEY and SITE_DOMAIN at minimum - 3
Start the stack
docker compose up --build -d - 4
Open the app
# Visit http://localhost:5173 # The site admin account is in .env (SITE_ADMIN_EMAIL / _PASSWORD)
Production deployment
For production, use docker-compose.prod.yml which adds an Nginx reverse proxy, serves the built frontend as static files, and uses daphne (ASGI) for WebSocket support.
docker compose -f docker-compose.prod.yml up --build -d
Set SITE_DOMAIN and FRONTEND_URL in your .env to your public hostname. TLS termination can be handled by Nginx with Let's Encrypt (see the full installation guide).
Kubernetes / Helm
A Helm chart is included in the repository under helm/visiban/.
helm repo add bitnami https://charts.bitnami.com/bitnami
helm dependency update helm/visiban
helm install visiban helm/visiban \
--set ingress.host=visiban.example.com \
--set secret.djangoSecretKey=$(python3 -c "import secrets; print(secrets.token_urlsafe(50))") \
--set postgresql.auth.password=strong-password Need the complete guide? The full documentation covers upgrades, backups, OAuth setup, environment variables, and more.
Read the Full Docs →