# Warp all-in-one on PostgreSQL: the homeserver, the admin panel, the web # client and PostgreSQL in one container, pulled from a registry. # # cd Docker-AIO # cp .env.example .env # then edit it # docker compose -f docker-compose.postgresql.prod.yml up -d # # PostgreSQL runs inside the container, listening only on a Unix socket # there, with its data in /data/postgres in the warp-data volume. # # Homeserver http://localhost:8008, admin panel http://localhost:8009, web # client http://localhost:8080. # # Create the first administrator once the server is up: # # docker compose -f docker-compose.postgresql.prod.yml exec warp warp create-account --username admin --admin # # Nothing is built here: the image comes from WARP_REGISTRY (default # ghcr.io/dariuszjaniak) at tag WARP_VERSION (default latest). Pin # WARP_VERSION to a release in production, and update with # # docker compose -f docker-compose.postgresql.prod.yml pull && docker compose -f docker-compose.postgresql.prod.yml up -d name: warp-aio-postgresql services: warp: image: ${WARP_REGISTRY:-ghcr.io/dariuszjaniak}/warp-aio:${WARP_VERSION:-latest} pull_policy: always restart: unless-stopped # PostgreSQL's fast shutdown runs after the homeserver's; give both time. stop_grace_period: 30s env_file: .env environment: WARP_AIO_EMBEDDED_POSTGRES: "true" WARP_DB_DRIVER: postgres WARP_DB_CONNECTION_STRING: postgres:///warp?host=/run/postgresql&user=warp&sslmode=disable volumes: - warp-data:/data ports: - "${WARP_PORT:-8008}:8008" - "${WARP_ADMIN_PORT:-8009}:8009" - "${WARP_WEB_PORT:-8080}:8080" volumes: warp-data: