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>
68 lines
1.7 KiB
YAML
68 lines
1.7 KiB
YAML
# Warp on SQLite: the homeserver, the admin panel and the web client, each
|
|
# in its own container, built from this checkout.
|
|
#
|
|
# cd Docker
|
|
# cp .env.example .env # then edit it
|
|
# docker compose -f docker-compose.sqlite.yml up -d --build
|
|
#
|
|
# Homeserver http://localhost:8008, admin panel http://localhost:8009, web
|
|
# client http://localhost:8080. The database, signing key and media live
|
|
# in the warp-data volume.
|
|
#
|
|
# Create the first administrator once the server is up:
|
|
#
|
|
# docker compose -f docker-compose.sqlite.yml exec warp warp create-account --username admin --admin
|
|
|
|
name: warp-sqlite
|
|
|
|
services:
|
|
warp:
|
|
build:
|
|
context: ..
|
|
dockerfile: Dockerfile
|
|
image: warp:latest
|
|
restart: unless-stopped
|
|
# The signing key is created on first start and kept in the volume:
|
|
# losing it means other servers no longer recognise this one.
|
|
entrypoint: ["/bin/sh", "-c"]
|
|
command:
|
|
- test -f /data/signing.key || warp generate-keys --output /data/signing.key; exec warp serve
|
|
env_file: .env
|
|
environment:
|
|
WARP_DB_DRIVER: sqlite
|
|
volumes:
|
|
- warp-data:/data
|
|
ports:
|
|
- "${WARP_PORT:-8008}:8008"
|
|
|
|
admin:
|
|
build:
|
|
context: ..
|
|
dockerfile: apps/admin/Dockerfile
|
|
image: warp-admin:latest
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- warp
|
|
env_file: .env
|
|
environment:
|
|
WARP_ADMIN_HOMESERVER: http://warp:8008
|
|
ports:
|
|
- "${WARP_ADMIN_PORT:-8009}:8009"
|
|
|
|
web:
|
|
build:
|
|
context: ..
|
|
dockerfile: apps/web/Dockerfile
|
|
image: warp-web:latest
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- warp
|
|
env_file: .env
|
|
environment:
|
|
WARP_WEB_HOMESERVER: http://warp:8008
|
|
ports:
|
|
- "${WARP_WEB_PORT:-8080}:8080"
|
|
|
|
volumes:
|
|
warp-data:
|