Files
DriverVault/Docker AIO/docker-compose.yml
T
2026-07-06 08:50:52 +02:00

36 lines
1.3 KiB
YAML

name: carcontrol-aio
# Single all-in-one container: PocketBase + API Server + Web App (nginx).
# The build context is the project root so the Dockerfile can reach both
# "API Server/" and "Web App/". Copy .env.example to .env before starting.
services:
carcontrol:
build:
# Project root (one level up from this compose file).
context: ..
dockerfile: Docker AIO/Dockerfile
args:
# Empty -> bundle uses same-origin "/api", proxied internally by nginx.
VITE_API_BASE: "${VITE_API_BASE:-}"
# Optional: pin PocketBase; empty fetches the latest release at build.
PB_VERSION: "${PB_VERSION:-}"
image: carcontrol-aio
container_name: carcontrol-aio
restart: unless-stopped
environment:
# Superuser (also used by the API Server to authenticate to PocketBase).
PB_ADMIN_EMAIL: "${PB_ADMIN_EMAIL:?set PB_ADMIN_EMAIL in .env}"
PB_ADMIN_PASSWORD: "${PB_ADMIN_PASSWORD:?set PB_ADMIN_PASSWORD in .env}"
# Signs auth tokens — set to a long random value.
AUTH_SECRET: "${AUTH_SECRET:?set AUTH_SECRET in .env}"
ports:
- "${WEB_PORT:-80}:80" # Web App
- "${PB_PORT:-8090}:8090" # PocketBase admin UI / API
- "${API_PORT:-8080}:8080" # API Server + embedded API web panel (root /)
volumes:
- pb_data:/pb/pb_data
volumes:
pb_data: