Collabst
★ 422A self-hosted alternative to Indesign
About
Community Ratings
No ratings yetNew this week
Read recap →Features
- collaborative Typst workspace
- browser-based editing
- live preview while editing
- dashboard for managing projects
- comments
- light and dark theme
- nightly builds
Details
- Last Updated
- Oct 29, 2026
- Created
- Dec 9, 2025
- Install Methods
- dockerdocker-compose
- Requirements
- DockerDocker Compose
- Privacy & Independence
- No Cloud Required
- User Model
- Multi-User
- Deployment
Deployment: Docker Compose ✓4 Containers — moderate hosting footprintRuns as 4 containers
Run Collabst yourself
Pick how much you want to manage.
HetznerBest match
Full control
A small server, then Docker Compose.
About 20 minutes with Docker
DigitalOcean
Full control
A small server, then Docker Compose.
About 20 minutes with Docker
OVHcloud
Full control
A small server, then Docker Compose.
About 20 minutes with Docker
Is this your project? Sponsor a listing
Run Collabst with Docker Compose
Compose file from the Collabst project repository.
4 services · database: postgres · infra: postgres, redis, minio
no resource limits declared
needs persistent storage (3 volumes)
docker-compose.yml · @ 815ffd3 · scanned Sep 23, 2026
services:
postgres:
image: postgres:18
container_name: collabst-postgres
restart: unless-stopped
environment:
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_USER: postgres
POSTGRES_DB: collabst
volumes:
- postgres_data:/var/lib/postgresql/18/docker
healthcheck:
test: [ "CMD-SHELL", "pg_isready -U postgres" ]
interval: 10s
timeout: 5s
retries: 5
redis:
image: redis:7-alpine
container_name: collabst-redis
restart: unless-stopped
volumes:
- redis_data:/data
healthcheck:
test: [ "CMD", "redis-cli", "ping" ]
interval: 10s
timeout: 5s
retries: 5
minio:
image: minio/minio:latest
container_name: collabst-minio
restart: unless-stopped
environment:
MINIO_ROOT_USER: minioadmin
MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD}
ports:
- "${MINIO_PORT}:9000"
- "${MINIO_CONSOLE_PORT}:9001"
command: server /data --console-address ":9001"
volumes:
- minio_data:/data
healthcheck:
test: [ "CMD", "curl", "-f", "http://localhost:9000/minio/health/live" ]
interval: 10s
timeout: 5s
retries: 5
backend:
image: ghcr.io/collabst/collabst:${COLLABST_TAG:-latest}
container_name: collabst-backend
restart: unless-stopped
environment:
DATABASE_URL: postgresql+asyncpg://postgres:${POSTGRES_PASSWORD}@postgres:5432/collabst
REDIS_URL: redis://redis:6379/0
MINIO_ENDPOINT: minio:9000
MINIO_PUBLIC_ENDPOINT: ${MINIO_URL}
MINIO_ACCESS_KEY: minioadmin
MINIO_SECRET_KEY: ${MINIO_ROOT_PASSWORD}
MINIO_SECURE: "false"
MINIO_PUBLIC_SECURE: ${MINIO_PUBLIC_SECURE}
MINIO_BUCKET_NAME: collabst
SECRET_KEY: ${SECRET_KEY}
ALGORITHM: HS256
WEB_URL: ${WEB_URL}
API_V1_STR: ${API_V1_STR}
CORS_ORIGINS: ${CORS_ORIGINS}
REGISTRATION_ENABLED: ${REGISTRATION_ENABLED}
ENVIRONMENT: production
FRONTEND_DIST_DIR: /app/frontend-dist
UVICORN_WORKERS: ${UVICORN_WORKERS}
ports:
- "${BACKEND_PORT}:8000"
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_healthy
minio:
condition: service_healthy
volumes:
postgres_data:
redis_data:
minio_data:
Tags
Track your self-hosted stack
Bookmark software to try, rate tools you've used, and keep your collection in one place.