Files
cmc/docker-compose.yml
2025-10-10 19:18:00 +05:30

71 lines
1.6 KiB
YAML

version: '3.8'
services:
backend:
build:
context: support-portal-backend
dockerfile: Dockerfile
restart: always
ports:
- "8080:8080"
environment:
MYSQL_HOST: db
MYSQL_USER: support_portal_user
MYSQL_PASSWORD: support_portal_password
MYSQL_DATABASE: support-portal
# ✅ Activate production profile and enforce HTTPS base URL
SPRING_PROFILES_ACTIVE: production
APP_BASE_URL: https://cmcbackend.rootxwire.com
# ✅ Optional: ensures Spring detects HTTPS correctly behind reverse proxy
SERVER_FORWARD_HEADERS_STRATEGY: native
volumes:
# Persist uploaded images and files
- blog-uploads:/app/uploads
networks:
- angular-spring
- spring-mysql
depends_on:
db:
condition: service_healthy
db:
image: mysql:8.0.19
restart: always
environment:
MYSQL_USER: support_portal_user
MYSQL_PASSWORD: support_portal_password
MYSQL_DATABASE: support-portal
MYSQL_ROOT_PASSWORD: root_password
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"]
interval: 3s
retries: 5
start_period: 30s
volumes:
- db-data:/var/lib/mysql
networks:
- spring-mysql
frontend:
build:
context: support-portal-frontend
dockerfile: Dockerfile
restart: always
ports:
- "8072:80"
networks:
- angular-spring
depends_on:
- backend
volumes:
db-data: {}
blog-uploads: {}
networks:
angular-spring: {}
spring-mysql: {}