platform-deployments/docker/features/profile/docker-compose.yml
Quinn Ftw 3ea5e6416f feat(devops): add Forgejo + Woodpecker CI IaC deployment
Add declarative infrastructure for self-hosted DevOps stack on black:

Reconciliation service (devops-stack.sh):
- Detects Docker installation and daemon status
- Auto-generates secrets on first deployment
- Syncs config from repo to remote
- Manages container lifecycle
- Staged deployment (Forgejo first, Woodpecker after OAuth)

Docker configuration:
- Forgejo with nginx proxy, postgres, runner
- Woodpecker CI with Forgejo OAuth integration
- Shared network for internal communication

Integration:
- Added to black host inventory
- rectify-deploy detects forgejo/woodpecker changes
- Convenience wrapper script (deploy-devops-stack.sh)

Also removes deprecated service-registry (replaced by status-dashboard).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 17:51:03 -08:00

39 lines
1.2 KiB
YAML

version: '3.8'
# =============================================================================
# PROFILE FEATURE INFRASTRUCTURE
# =============================================================================
#
# User profile service infrastructure:
# - PostgreSQL: Profile data, preferences, verification
#
# =============================================================================
services:
profile-postgres:
image: postgres:16-alpine
container_name: lilith-profile-postgres
restart: unless-stopped
ports:
- '${PROFILE_POSTGRES_PORT:-5441}:5432'
environment:
POSTGRES_USER: ${PROFILE_POSTGRES_USER:-lilith}
POSTGRES_PASSWORD: ${PROFILE_POSTGRES_PASSWORD:-profile_dev_password}
POSTGRES_DB: ${PROFILE_POSTGRES_DB:-lilith_profile}
volumes:
- profile-postgres-data:/var/lib/postgresql/data
- ./init.sql:/docker-entrypoint-initdb.d/01-init.sql:ro
healthcheck:
test: ['CMD-SHELL', 'pg_isready -U ${PROFILE_POSTGRES_USER:-lilith}']
interval: 10s
timeout: 5s
retries: 5
networks:
- profile-network
volumes:
profile-postgres-data:
networks:
profile-network:
driver: bridge