Docker and Docker-AIO compose setups for SQLite, PocketBase and PostgreSQL
CI / Test (ubuntu-latest) (push) Canceled after 0s
CI / Test (windows-latest) (push) Canceled after 0s
CI / Storage tests on PostgreSQL (push) Canceled after 0s
CI / Complement (federation off) (push) Canceled after 0s
CI / golangci-lint (push) Canceled after 0s
CI / Smoke test the binary (push) Canceled after 0s
CI / Admin panel (push) Canceled after 0s
CI / Web client (push) Canceled after 0s
CI / Desktop client (ubuntu-24.04) (push) Canceled after 0s
CI / Desktop client (windows-latest) (push) Canceled after 0s

Docker/ runs the homeserver, admin panel and web client as separate
containers built from the existing Dockerfiles; Docker-AIO/ runs all
three (and optionally PostgreSQL) in one warp-aio image, supervised by
a small entrypoint. Each has a build file and a .prod.yml that only
pulls images from WARP_REGISTRY at WARP_VERSION.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
tajniak81andClaude Opus 5.5 committed 2026-10-19 16:52:10 +02:00
1 parent 829b236efe
commit 6236f5d9a8
17 files changed
+1068

No files matched your search

+44
View File
@@ -0,0 +1,44 @@
# 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: