All checks were successful
CI/CD / test-go-pg (push) Successful in 2m54s
CI/CD / test-sqlite (push) Successful in 3m1s
CI/CD / build-and-deploy (push) Successful in 1m47s
CI/CD / e2e-smoke (push) Has been skipped
CI/CD / test-frontend (push) Successful in 6s
CI/CD / detect-changes (push) Successful in 4s
CI/CD / test-runners (push) Has been skipped
Co-authored-by: Jeffrey Smith <jasafpro@gmail.com> Co-committed-by: Jeffrey Smith <jasafpro@gmail.com>
47 lines
1.4 KiB
YAML
47 lines
1.4 KiB
YAML
# docker-compose.yml — Local development (SQLite)
|
|
#
|
|
# Single container: Go backend + nginx frontend.
|
|
# No Postgres, no sidecar, no PVC — just a mounted data directory.
|
|
#
|
|
# Usage:
|
|
# docker compose up --build
|
|
# open http://localhost:3000
|
|
#
|
|
# Data persists in the `sb_data` named volume between restarts.
|
|
# To reset: docker compose down -v
|
|
#
|
|
# For Postgres / multi-replica / k8s deployment see k8s/ and Dockerfile.
|
|
|
|
services:
|
|
armature:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
container_name: armature
|
|
environment:
|
|
PORT: "8080"
|
|
BASE_PATH: ""
|
|
DB_DRIVER: sqlite
|
|
DATABASE_URL: /data/armature.db
|
|
JWT_SECRET: ${JWT_SECRET:-change-me-for-production}
|
|
ENCRYPTION_KEY: ${ENCRYPTION_KEY:-change-me-for-production}
|
|
ARMATURE_ADMIN_USERNAME: ${ADMIN_USERNAME:-admin}
|
|
ARMATURE_ADMIN_PASSWORD: ${ADMIN_PASSWORD:-admin}
|
|
STORAGE_BACKEND: pvc
|
|
STORAGE_PATH: /data/storage
|
|
CORS_ALLOWED_ORIGINS: ${CORS_ALLOWED_ORIGINS:-http://localhost:3000}
|
|
EXT_ALLOW_PRIVATE_IPS: ${EXT_ALLOW_PRIVATE_IPS:-true}
|
|
LOG_FORMAT: ${LOG_FORMAT:-text}
|
|
LOG_LEVEL: ${LOG_LEVEL:-info}
|
|
BUNDLED_PACKAGES: ${BUNDLED_PACKAGES:-}
|
|
# Dev seed users — ignored if ENVIRONMENT=production
|
|
SEED_USERS: ${SEED_USERS:-alice:password123:user,bob:password456:user,charlie:password789:user}
|
|
volumes:
|
|
- sb_data:/data
|
|
ports:
|
|
- "3000:80"
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
sb_data:
|