56 lines
1.7 KiB
YAML
56 lines
1.7 KiB
YAML
services:
|
|
app:
|
|
image: ${REGISTRY_URL}/${NAMESPACE}/${REPO_NAME}:${IMAGE_TAG:-latest}
|
|
container_name: skamp-app
|
|
restart: unless-stopped
|
|
depends_on:
|
|
postgres:
|
|
condition: service_healthy
|
|
ports:
|
|
- "${APP_PORT:-8080}:8080"
|
|
environment:
|
|
# Spring Boot Profile
|
|
SPRING_PROFILES_ACTIVE: ${SPRING_PROFILES_ACTIVE-prod}
|
|
|
|
# Database Configuration
|
|
SPRING_DATASOURCE_URL: jdbc:postgresql://${POSTGRES_HOST:-localhost}:${POSTGRES_PORT:-5432}/${POSTGRES_DB:-skamp}
|
|
SPRING_DATASOURCE_USERNAME: ${POSTGRES_USER:-dev}
|
|
SPRING_DATASOURCE_PASSWORD: ${POSTGRES_PASSWORD:-dev}
|
|
SPRING_JPA_HIBERNATE_DDL_AUTO: ${HIBERNATE_DDL_AUTO:-update}
|
|
|
|
# OAuth2/Keycloak Configuration
|
|
SPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_ISSUER_URI: ${KEYCLOAK_ISSUER_URI:-http://localhost:8280/realms/skamp}
|
|
#SPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_JWK_SET_URI: ${KEYCLOAK_JWK_SET_URI}
|
|
|
|
# CORS Configuration
|
|
CORS_ALLOWED_ORIGINS: ${CORS_ALLOWED_ORIGINS:-http://localhost:3000}
|
|
|
|
# S3 Configuration
|
|
S3_ACCESS_KEY: ${MINIO_ACCESS_KEY:-dev}
|
|
S3_SECRET_KEY: ${MINIO_SECRET_KEY:-dev123456}
|
|
S3_ENDPOINT: ${MINIO_ENDPOINT:-http://localhost:9000}
|
|
|
|
# Application Configuration
|
|
SERVER_PORT: 8080
|
|
JAVA_OPTS: ${JAVA_OPTS:--Xmx512m -Xms256m}
|
|
volumes:
|
|
- app_logs:/app/logs
|
|
networks:
|
|
- skamp-network
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:8080/actuator/health"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 60s
|
|
|
|
volumes:
|
|
postgres_data:
|
|
driver: local
|
|
app_logs:
|
|
driver: local
|
|
|
|
networks:
|
|
skamp-network:
|
|
driver: bridge
|