A folder name with a space has to be quoted in every cd, docker build -f and compose path, and URL-encoded in README links. The compose file's dockerfile path, the build examples and the README now use the new name. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
35 lines
1.5 KiB
YAML
35 lines
1.5 KiB
YAML
name: pilotvault-aio
|
|
|
|
# Production all-in-one — pulls the prebuilt image from the registry instead of
|
|
# building. One container runs PocketBase + API Server + Web App. Everything an
|
|
# operator needs to set lives in .env.
|
|
#
|
|
# 1. cp .env.prod.example .env (then edit it)
|
|
# 2. docker compose -f docker-compose.prod.yml pull
|
|
# 3. docker compose -f docker-compose.prod.yml up -d
|
|
#
|
|
# On first boot the bundled PocketBase upserts its superuser from
|
|
# POCKETBASE_ADMIN_* and runs the JS migrations, which create/reconcile every
|
|
# collection and seed the baseline org + accounts (incl. superadmin@pilotvault.local).
|
|
# Idempotent, so restarts and upgrades are safe.
|
|
|
|
services:
|
|
pilotvault:
|
|
image: "${AIO_IMAGE:-10.2.1.10:5500/admin/pilotvault-aio:latest}"
|
|
container_name: pilotvault-aio
|
|
restart: unless-stopped
|
|
environment:
|
|
POCKETBASE_ADMIN_EMAIL: "${POCKETBASE_ADMIN_EMAIL:?set POCKETBASE_ADMIN_EMAIL in .env}"
|
|
POCKETBASE_ADMIN_PASSWORD: "${POCKETBASE_ADMIN_PASSWORD:?set POCKETBASE_ADMIN_PASSWORD in .env}"
|
|
CORS_ALLOW_ORIGINS: "${CORS_ALLOW_ORIGINS:-http://localhost:8090}"
|
|
ports:
|
|
- "${WEB_PORT:-8090}:8090" # Web App (control panel)
|
|
- "${API_PORT:-8080}:8080" # API Server + embedded API web panel (root /)
|
|
- "${PB_PORT:-8070}:8070" # PocketBase admin UI / API
|
|
volumes:
|
|
# Named volume by default; set PB_DATA to a host path in .env for a bind mount.
|
|
- "${PB_DATA:-pb_data}:/pb/pb_data"
|
|
|
|
volumes:
|
|
pb_data:
|