favoritter/compose.yaml
Ole-Morten Duesund 1fc42bf1b2 feat: add packaging, deployment, error pages, and project docs
Phase 7 — Polish:
- Error page template with styled 404/403/500 pages
- Error rendering helper on Renderer

Phase 8 — Packaging & Deployment:
- Containerfile: multi-stage build, non-root user, health check,
  OCI labels with build date and git revision
- Makefile: build, test, cross-compile, deb, rpm, container,
  tarballs, checksums targets
- nfpm.yaml: .deb and .rpm package config
- systemd service: hardened with NoNewPrivileges, ProtectSystem,
  ProtectHome, PrivateTmp, RestrictSUIDSGID
- Default environment file with commented examples
- postinstall/preremove scripts (shellcheck validated)
- compose.yaml: example Podman/Docker Compose
- Caddyfile.example: subdomain, subpath, and remote proxy configs
- CHANGELOG.md for release notes
- CLAUDE.md with architecture, conventions, and quick reference

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 16:34:32 +02:00

24 lines
710 B
YAML

# Example Podman/Docker Compose configuration.
# Usage: podman-compose up -d
services:
favoritter:
build:
context: .
dockerfile: Containerfile
args:
BUILD_DATE: "${BUILD_DATE:-unknown}"
GIT_REVISION: "${GIT_REVISION:-unknown}"
ports:
- "8080:8080"
volumes:
- favoritter-data:/data
environment:
FAVORITTER_ADMIN_USERNAME: "${FAVORITTER_ADMIN_USERNAME:-admin}"
FAVORITTER_ADMIN_PASSWORD: "${FAVORITTER_ADMIN_PASSWORD:?Set FAVORITTER_ADMIN_PASSWORD}"
FAVORITTER_EXTERNAL_URL: "${FAVORITTER_EXTERNAL_URL:-}"
FAVORITTER_SITE_NAME: "${FAVORITTER_SITE_NAME:-Favoritter}"
restart: unless-stopped
volumes:
favoritter-data: