-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.orbit.yml
More file actions
115 lines (110 loc) · 3.32 KB
/
docker-compose.orbit.yml
File metadata and controls
115 lines (110 loc) · 3.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
services:
mongodb:
image: mongo:7
container_name: orbit-mongodb
restart: unless-stopped
environment:
MONGO_INITDB_DATABASE: ${MONGO_DB:-evolvus_orbit}
volumes:
- orbit_mongo_data:/data/db
healthcheck:
test: ["CMD", "mongosh", "--quiet", "--eval", "db.adminCommand('ping').ok"]
interval: 10s
timeout: 5s
retries: 10
minio:
image: quay.io/minio/minio:latest
container_name: orbit-minio
restart: unless-stopped
command: server /data --console-address ":9001"
environment:
MINIO_ROOT_USER: ${MINIO_ROOT_USER:-minioadmin}
MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:-minioadmin}
volumes:
- orbit_minio_data:/data
ports:
- "${MINIO_API_PORT:-9000}:9000"
- "${MINIO_CONSOLE_PORT:-9001}:9001"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
interval: 10s
timeout: 5s
retries: 10
orbit-server:
build:
context: .
dockerfile: Dockerfile
container_name: orbit-server
restart: unless-stopped
depends_on:
mongodb:
condition: service_healthy
minio:
condition: service_healthy
environment:
MONGO_URI: mongodb://mongodb:27017
MONGO_DB: ${MONGO_DB:-evolvus_orbit}
HOST: 0.0.0.0
PORT: 4000
JWT_SECRET: ${JWT_SECRET:-change-me-in-production}
JWT_ALGORITHM: HS256
JWT_EXPIRES_HOURS: ${JWT_EXPIRES_HOURS:-12}
DEFAULT_ACCEPTED_DOMAINS: ${DEFAULT_ACCEPTED_DOMAINS:-evolvus.com,evolvussolutions.com,onmicrosoft.com}
ALLOW_ANY_DOMAIN: ${ALLOW_ANY_DOMAIN:-true}
SMTP_HOST: ${SMTP_HOST:-}
SMTP_PORT: ${SMTP_PORT:-587}
SMTP_USERNAME: ${SMTP_USERNAME:-}
SMTP_PASSWORD: ${SMTP_PASSWORD:-}
SMTP_FROM_EMAIL: ${SMTP_FROM_EMAIL:-no-reply@orbit.local}
SMTP_USE_TLS: ${SMTP_USE_TLS:-true}
TEAMS_WEBHOOK_URL: ${TEAMS_WEBHOOK_URL:-}
ORBIT_PORTAL_BASE_URL: ${ORBIT_PORTAL_BASE_URL:-http://localhost}
S3_ENDPOINT_URL: http://minio:9000
S3_REGION: ${S3_REGION:-us-east-1}
S3_ACCESS_KEY_ID: ${MINIO_ROOT_USER:-minioadmin}
S3_SECRET_ACCESS_KEY: ${MINIO_ROOT_PASSWORD:-minioadmin}
S3_BUCKET: ${S3_BUCKET:-orbit-documents}
S3_FORCE_PATH_STYLE: true
volumes:
- orbit_uploads:/app/uploads
expose:
- "4000"
orbit-portal:
build:
context: ../corp-portal
dockerfile: Dockerfile
container_name: orbit-portal
restart: unless-stopped
depends_on:
orbit-server:
condition: service_started
environment:
VITE_AZURE_CLIENT_ID: ${VITE_AZURE_CLIENT_ID:-}
VITE_AZURE_TENANT_ID: ${VITE_AZURE_TENANT_ID:-common}
VITE_AZURE_REDIRECT_URI: ${VITE_AZURE_REDIRECT_URI:-}
expose:
- "80"
caddy:
image: caddy:2.8-alpine
container_name: orbit-caddy
restart: unless-stopped
depends_on:
orbit-portal:
condition: service_started
orbit-server:
condition: service_started
ports:
- "${CADDY_HTTPS_PORT:-443}:443"
environment:
ORBIT_DOMAIN: ${ORBIT_DOMAIN}
ACME_EMAIL: ${ACME_EMAIL}
volumes:
- ./deploy/Caddyfile:/etc/caddy/Caddyfile:ro
- orbit_caddy_data:/data
- orbit_caddy_config:/config
volumes:
orbit_mongo_data:
orbit_minio_data:
orbit_uploads:
orbit_caddy_data:
orbit_caddy_config: