Files
Warp/Docker-AIO
tajniak81andClaude Opus 5.5 b8d692bac5 Docker: read every setting from a .env file
Each folder gets a .env.example listing every homeserver, admin panel
and web client setting with its default (empty means the default).
Compose reads .env for ports, registry and the PostgreSQL password, and
passes it to the containers through env_file; the compose files keep
only the database driver, connection string and internal addresses.
.env is git-ignored.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 20:12:35 +02:00
..

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
cp .env.example .env      # then edit it
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.

Settings

Every setting is in .env, copied from .env.example, which lists them all with their defaults; an empty value means the default. .env is not committed. On top of the settings of Docker/, it has:

Variable Default
WARP_AIO_ADMIN true false runs no admin panel
WARP_AIO_WEB true false runs no web client

WARP_AIO_EMBEDDED_POSTGRES, which starts the bundled PostgreSQL, is set by docker-compose.postgresql*.yml.

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