Files
web-hosts/domains/test.coppertone.tech/compose.yaml
Administrator 69a28b0537 Initial commit: web-hosts infrastructure
- hostctl.sh management script for starting/stopping/restarting hosts
- test.coppertone.tech domain setup with compose.yaml
- deploy.sh for automated deployments from testing branch
- frontend-nginx.conf for static file serving

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 19:54:53 +01:00

100 lines
3.1 KiB
YAML

# Compose file for test.coppertone.tech
# Builds from CopperTone.Tech repo (develop branch)
# All services bind to 127.0.0.1 only (routed via nginx reverse proxy)
#
# Deploy with: ./deploy.sh
# Or manually: podman-compose down && podman-compose build && podman-compose up -d
services:
# Frontend from develop branch
frontend:
build:
context: ./repo/frontend
dockerfile: Containerfile
container_name: test-coppertone-tech-frontend
restart: unless-stopped
ports:
- "127.0.0.1:9100:80"
volumes:
- ./frontend-nginx.conf:/etc/nginx/conf.d/default.conf:ro
environment:
- VITE_API_BASE_URL=https://test.coppertone.tech/api
healthcheck:
test: ["CMD", "wget", "-q", "--spider", "http://localhost/"]
interval: 30s
timeout: 10s
retries: 3
# Auth service
auth-service:
build:
context: ./repo/backend/functions/auth-service
dockerfile: Containerfile
container_name: test-coppertone-tech-auth
restart: unless-stopped
ports:
- "127.0.0.1:9102:8080"
environment:
JWT_SECRET: ${JWT_SECRET:-test_jwt_secret_key_change_me_in_production_at_least_64_characters_long}
DEFAULT_USER_ROLE: ${DEFAULT_USER_ROLE:-CLIENT}
DB_HOST: db
DB_USER: ${DB_USER:-testuser}
DB_PASSWORD: ${DB_PASSWORD:-testpassword}
DB_NAME: ${DB_NAME:-testcoppertone_db}
DB_SSL_MODE: ${DB_SSL_MODE:-disable}
CORS_ALLOW_ORIGIN: https://test.coppertone.tech
depends_on:
- db
# Work management service
work-management-service:
build:
context: ./repo/backend/functions/work-management-service
dockerfile: Containerfile
container_name: test-coppertone-tech-work-mgmt
restart: unless-stopped
ports:
- "127.0.0.1:9103:8080"
environment:
JWT_SECRET: ${JWT_SECRET:-test_jwt_secret_key_change_me_in_production_at_least_64_characters_long}
DB_HOST: db
DB_USER: ${DB_USER:-testuser}
DB_PASSWORD: ${DB_PASSWORD:-testpassword}
DB_NAME: ${DB_NAME:-testcoppertone_db}
DB_SSL_MODE: ${DB_SSL_MODE:-disable}
CORS_ALLOW_ORIGIN: https://test.coppertone.tech
depends_on:
- db
# Blog service
blog-service:
build:
context: ./repo/backend/functions/blog-service
dockerfile: Containerfile
container_name: test-coppertone-tech-blog
restart: unless-stopped
ports:
- "127.0.0.1:9105:8080"
environment:
JWT_SECRET: ${JWT_SECRET:-test_jwt_secret_key_change_me_in_production_at_least_64_characters_long}
DB_HOST: db
DB_USER: ${DB_USER:-testuser}
DB_PASSWORD: ${DB_PASSWORD:-testpassword}
DB_NAME: ${DB_NAME:-testcoppertone_db}
DB_SSL_MODE: ${DB_SSL_MODE:-disable}
CORS_ALLOW_ORIGIN: https://test.coppertone.tech
depends_on:
- db
# Database for test environment
db:
image: postgres:16-alpine
container_name: test-coppertone-tech-db
restart: unless-stopped
environment:
POSTGRES_DB: testcoppertone_db
POSTGRES_USER: testuser
POSTGRES_PASSWORD: testpassword
volumes:
- ./data/postgres:/var/lib/postgresql/data