Files
Warp/Docker-AIO/README.md
T
tajniak81andClaude Opus 5.5 6236f5d9a8
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 and Docker-AIO compose setups for SQLite, PocketBase and PostgreSQL
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>
2026-10-19 16:52:10 +02:00

1.8 KiB

Docker-AIO: everything in one image

warp-aio holds the homeserver, the admin panel, the web client and PostgreSQL 17 in one image, built from Dockerfile. entrypoint.sh starts them in one container; if one exits, the rest are stopped and the container's restart policy brings the set back.

File Database Image
docker-compose.sqlite.yml SQLite, /data/warp.db built here
docker-compose.pocketbase.yml PocketBase (embedded driver), /data/pb_data built here
docker-compose.postgresql.yml PostgreSQL in the container, /data/postgres built here
docker-compose.*.prod.yml as above pulled, never built

Everything lives in the warp-data volume, mounted on /data.

cd Docker-AIO
WARP_SERVER_NAME=matrix.example.org docker compose -f docker-compose.sqlite.yml up -d --build
docker compose -f docker-compose.sqlite.yml exec warp warp create-account --username admin --admin

Homeserver on :8008, admin panel on :8009, web client on :8080.

The embedded PostgreSQL listens only on a Unix socket inside the container, so it needs no password and is not reachable from outside.

Switches

Variable Default
WARP_AIO_ADMIN true false runs no admin panel
WARP_AIO_WEB true false runs no web client
WARP_AIO_EMBEDDED_POSTGRES false true starts the bundled PostgreSQL

The other settings are those of Docker/.

Prod files

The .prod.yml files pull $WARP_REGISTRY/warp-aio:$WARP_VERSION (defaults ghcr.io/dariuszjaniak and latest). Push the image first:

docker build -t $WARP_REGISTRY/warp-aio:$WARP_VERSION -f Docker-AIO/Dockerfile .
docker push $WARP_REGISTRY/warp-aio:$WARP_VERSION