name: pilotvault-aio # All-in-one PilotVault stack (PocketBase + API Server + Web App) in ONE container. # Run from this Docker AIO/ folder: # # cp .env.example .env # then edit the credentials/ports # docker compose up --build # # The build context is the repo root (..) because the Dockerfile COPYs from # "API Server/" and "Web App/". # # 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). services: pilotvault: build: context: ".." dockerfile: "Docker AIO/Dockerfile" # args: # PB_VERSION: "0.22.21" # override the bundled PocketBase version # PB_ARCH: "amd64" # use "arm64" on Apple Silicon image: pilotvault-aio container_name: pilotvault-aio restart: unless-stopped environment: # Loopback-wired between the three in-container services. Override the # bundled default credentials here for anything real. POCKETBASE_ADMIN_EMAIL: "${POCKETBASE_ADMIN_EMAIL:-admin@dji.local}" POCKETBASE_ADMIN_PASSWORD: "${POCKETBASE_ADMIN_PASSWORD:-djiadmin2026!}" CORS_ALLOW_ORIGINS: "${CORS_ALLOW_ORIGINS:-*}" ports: - "${WEB_PORT:-8090}:8090" # Web App (control panel) - "${API_PORT:-8080}:8080" # API Server - "${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: