Example docker-compose.yml
services:
db-wapy:
container_name: wapydev-db
image: postgres:17.4
restart: unless-stopped
environment:
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_DB=${POSTGRES_DB}
volumes:
- ./db:/var/lib/postgresql/data
app-wapy:
container_name: wapy
image: ghcr.io/meceware/wapy.dev:latest
restart: unless-stopped
env_file:
- .env
depends_on:
- db-wapy
cron-wapy:
container_name: wapydev-cron
image: alpine:3.21
restart: unless-stopped
command: >
sh -c 'while true; do
/usr/bin/flock -n /tmp/wapy.lockfile wget -qO- app-wapy:3000/api/cron/;
sleep 60;
done'
depends_on:
- app-wapy
Example .env
POSTGRES_DB=wapydev
POSTGRES_USER=wapydev
POSTGRES_PASSWORD=SECUUUUUURE
DATABASE_URL="postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db-wapy:5432/${POSTGRES_DB}?schema=public"
SITE_URL=https://wapy.example.com
NEXT_PUBLIC_VAPID_PUBLIC_KEY=SECUUUUUURE
VAPID_PRIVATE_KEY=SECUUUUUURE
SUBSCRIPTION_JWT_SECRET=SECUUUUUURE
AUTH_SECRET=SECUUUUUURE
AUTH_TRUST_HOST=true
AUTH_URL=${SITE_URL}/api/auth
# Github
GITHUB_ID=SECUUUUUURE
GITHUB_SECRET=SECUUUUUURE