100 lines
3.1 KiB
YAML
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://127.0.0.1/"]
|
|
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
|