# Warp all-in-one on PostgreSQL: the homeserver, the admin panel, the web # client and PostgreSQL in one container, built from this checkout. # # cd Docker-AIO # WARP_SERVER_NAME=matrix.example.org docker compose -f docker-compose.postgresql.yml up -d --build # # 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.yml exec warp warp create-account --username admin --admin name: warp-aio-postgresql services: warp: build: context: .. dockerfile: Docker-AIO/Dockerfile image: warp-aio:latest restart: unless-stopped # PostgreSQL's fast shutdown runs after the homeserver's; give both time. stop_grace_period: 30s environment: WARP_SERVER_NAME: ${WARP_SERVER_NAME:-localhost} WARP_WELL_KNOWN_CLIENT_BASE_URL: ${WARP_PUBLIC_BASEURL:-http://localhost:8008} WARP_AIO_EMBEDDED_POSTGRES: "true" WARP_DB_DRIVER: postgres WARP_DB_CONNECTION_STRING: postgres:///warp?host=/run/postgresql&user=warp&sslmode=disable WARP_REGISTRATION_ENABLED: ${WARP_REGISTRATION_ENABLED:-false} WARP_FEDERATION_ENABLED: ${WARP_FEDERATION_ENABLED:-false} volumes: - warp-data:/data ports: - "${WARP_PORT:-8008}:8008" - "${WARP_ADMIN_PORT:-8009}:8009" - "${WARP_WEB_PORT:-8080}:8080" volumes: warp-data: