125 lines
3.7 KiB
YAML
125 lines
3.7 KiB
YAML
# Development Docker Compose Configuration
|
|
# Based on official Atlas CMMS with custom frontend
|
|
# Use: docker-compose -f docker-compose.yml -f docker-compose.dev.yml up
|
|
|
|
name: atlas-cmms
|
|
services:
|
|
postgres:
|
|
image: postgres:16-alpine
|
|
container_name: atlas_db
|
|
environment:
|
|
POSTGRES_DB: atlas
|
|
POSTGRES_USER: ${POSTGRES_USER}
|
|
POSTGRES_PASSWORD: ${POSTGRES_PWD}
|
|
ports:
|
|
- '5432:5432'
|
|
volumes:
|
|
- postgres_data:/var/lib/postgresql/data
|
|
|
|
api:
|
|
image: intelloop/atlas-cmms-backend
|
|
container_name: atlas-cmms-backend
|
|
depends_on:
|
|
- postgres
|
|
- minio
|
|
volumes:
|
|
- ./backend/logos:/app/static/images
|
|
environment:
|
|
DB_URL: postgres/atlas
|
|
DB_USER: ${POSTGRES_USER}
|
|
DB_PWD: ${POSTGRES_PWD}
|
|
PUBLIC_API_URL: ${PUBLIC_API_URL}
|
|
FASTSPRING_PWD: ${FASTSPRING_PWD}
|
|
FASTSPRING_USER: ${FASTSPRING_USER}
|
|
PUBLIC_FRONT_URL: ${PUBLIC_FRONT_URL}
|
|
GCP_BUCKET_NAME: ${GCP_BUCKET_NAME}
|
|
GCP_JSON: ${GCP_JSON}
|
|
GCP_PROJECT_ID: ${GCP_PROJECT_ID}
|
|
MAIL_RECIPIENTS: ${MAIL_RECIPIENTS}
|
|
SMTP_PWD: ${SMTP_PWD}
|
|
SMTP_USER: ${SMTP_USER}
|
|
SMTP_HOST: ${SMTP_HOST}
|
|
SMTP_PORT: ${SMTP_PORT}
|
|
SPRING_PROFILES_ACTIVE: ${SPRING_PROFILES_ACTIVE}
|
|
JWT_SECRET_KEY: ${JWT_SECRET_KEY}
|
|
MINIO_ENDPOINT: http://minio:9000
|
|
MINIO_BUCKET: atlas-bucket
|
|
MINIO_ACCESS_KEY: ${MINIO_USER}
|
|
MINIO_SECRET_KEY: ${MINIO_PASSWORD}
|
|
STORAGE_TYPE: ${STORAGE_TYPE:-minio}
|
|
PUBLIC_MINIO_ENDPOINT: ${PUBLIC_MINIO_ENDPOINT}
|
|
INVITATION_VIA_EMAIL: ${INVITATION_VIA_EMAIL}
|
|
ENABLE_EMAIL_NOTIFICATIONS: ${ENABLE_EMAIL_NOTIFICATIONS}
|
|
ENABLE_SSO: ${ENABLE_SSO}
|
|
OAUTH2_PROVIDER: ${OAUTH2_PROVIDER}
|
|
OAUTH2_CLIENT_ID: ${OAUTH2_CLIENT_ID}
|
|
OAUTH2_CLIENT_SECRET: ${OAUTH2_CLIENT_SECRET}
|
|
LICENSE_KEY: ${LICENSE_KEY}
|
|
LICENSE_FINGERPRINT_REQUIRED: ${LICENSE_FINGERPRINT_REQUIRED}
|
|
ALLOWED_ORGANIZATION_ADMINS: ${ALLOWED_ORGANIZATION_ADMINS:-}
|
|
LOGO_PATHS: ${LOGO_PATHS}
|
|
CUSTOM_COLORS: ${CUSTOM_COLORS}
|
|
BRAND_CONFIG: ${BRAND_CONFIG}
|
|
ports:
|
|
- '8080:8080'
|
|
|
|
# Custom frontend (commented out)
|
|
# frontend:
|
|
# build:
|
|
# context: ./frontend
|
|
# dockerfile: Dockerfile.dev
|
|
# container_name: atlas-cmms-frontend
|
|
# environment:
|
|
# VITE_API_BASE_URL: ${PUBLIC_API_URL}
|
|
# VITE_APP_NAME: ${VITE_APP_NAME}
|
|
# VITE_APP_VERSION: ${VITE_APP_VERSION}
|
|
# ports:
|
|
# - '5137:5137'
|
|
# depends_on:
|
|
# - api
|
|
# volumes:
|
|
# # Mount source code for hot reload
|
|
# - ./frontend/src:/app/src
|
|
# - ./frontend/public:/app/public
|
|
# - /app/node_modules
|
|
# command: npm run dev -- --host 0.0.0.0
|
|
|
|
# Official Atlas CMMS frontend
|
|
frontend:
|
|
image: intelloop/atlas-cmms-frontend
|
|
container_name: atlas-cmms-frontend
|
|
environment:
|
|
API_URL: ${PUBLIC_API_URL}
|
|
GOOGLE_KEY: ${GOOGLE_KEY:- }
|
|
GOOGLE_TRACKING_ID: ${GOOGLE_TRACKING_ID:- }
|
|
MUI_X_LICENSE: ${MUI_X_LICENSE:- }
|
|
INVITATION_VIA_EMAIL: ${INVITATION_VIA_EMAIL:-false}
|
|
CLOUD_VERSION: ${CLOUD_VERSION:-false}
|
|
NODE_ENV: production
|
|
ENABLE_SSO: ${ENABLE_SSO:-false}
|
|
OAUTH2_PROVIDER: ${OAUTH2_PROVIDER:- }
|
|
LOGO_PATHS: ${LOGO_PATHS:- }
|
|
CUSTOM_COLORS: ${CUSTOM_COLORS:- }
|
|
BRAND_CONFIG: ${BRAND_CONFIG:- }
|
|
ports:
|
|
- '3000:3000'
|
|
depends_on:
|
|
- api
|
|
|
|
minio:
|
|
image: minio/minio:latest
|
|
container_name: atlas_minio
|
|
environment:
|
|
MINIO_ROOT_USER: ${MINIO_USER}
|
|
MINIO_ROOT_PASSWORD: ${MINIO_PASSWORD}
|
|
volumes:
|
|
- minio_data:/data
|
|
ports:
|
|
- '9000:9000'
|
|
- '9001:9001'
|
|
command: server --address ":9000" --console-address ":9001" /data
|
|
|
|
volumes:
|
|
postgres_data:
|
|
minio_data:
|