-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yaml
More file actions
112 lines (112 loc) · 3.08 KB
/
docker-compose.yaml
File metadata and controls
112 lines (112 loc) · 3.08 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
services:
postgres:
image: "docker.io/postgis/postgis:18-3.6-alpine"
environment:
POSTGRES_HOST_AUTH_METHOD: "scram-sha-256"
POSTGRES_INITDB_ARGS: "--auth-host=scram-sha-256 --auth-local=scram-sha-256"
POSTGRES_USER: "postgres"
POSTGRES_PASSWORD: "${POSTGRES_PASSWORD}"
expose:
- "5432"
volumes:
- type: "volume"
target: "/var/lib/postgresql/data"
source: "cartesian-postgres-data"
read_only: false
networks:
- "cartesian"
storage:
image: "docker.io/minio/minio:RELEASE.2025-09-07T16-13-09Z"
command:
- "server"
- "/data"
- "--console-address"
- ":9001"
environment:
MINIO_ROOT_USER: "admin"
MINIO_ROOT_PASSWORD: "${STORAGE_ROOTPASSWORD}"
expose:
- "9000"
- "9001"
volumes:
- type: "volume"
target: "/data"
source: "cartesian-storage-data"
read_only: false
networks:
- "cartesian"
services:
build:
context: .
dockerfile: Cartesian.Services/Dockerfile
environment:
AutoRunMigrations: "true"
ASPNETCORE_FORWARDEDHEADERS_ENABLED: "true"
HTTP_PORTS: "3002"
ConnectionStrings__database: "Host=postgres;Port=5432;Username=postgres;Password=${POSTGRES_PASSWORD};Database=cartesian"
DATABASE_HOST: "postgres"
DATABASE_PORT: "5432"
DATABASE_USERNAME: "postgres"
DATABASE_PASSWORD: "${POSTGRES_PASSWORD}"
DATABASE_URI: "postgresql://postgres:${POSTGRES_PASSWORD}@postgres:5432/cartesian"
DATABASE_JDBCCONNECTIONSTRING: "jdbc:postgresql://postgres:5432/cartesian"
DATABASE_DATABASE: "cartesian"
ConnectionStrings__storage: "Endpoint=http://storage:9000;AccessKey=admin;SecretKey=${STORAGE_ROOTPASSWORD}"
STORAGE_HOST: "storage"
STORAGE_PORT: "9000"
STORAGE_ACCESSKEY: "admin"
STORAGE_SECRETKEY: "${STORAGE_ROOTPASSWORD}"
STORAGE_URI: "http://storage:9000"
expose:
- "3002"
networks:
- "cartesian"
frontend:
build:
context: Cartesian.Frontend
dockerfile: Dockerfile
environment:
NODE_ENV: "production"
PORT: "3001"
PUBLIC_MAPBOX_ACCESS_TOKEN: "${MAPBOX_PUBLIC_TOKEN}"
GOOGLE_AI_KEY: "${GOOGLE_AI_KEY}"
PUBLIC_SERVICES_URL: ""
INTERNAL_SERVICES_URL: "http://services:3002"
expose:
- "3001"
networks:
- "cartesian"
proxy:
image: "caddy:2-alpine"
ports:
- "80:8080"
volumes:
- type: "bind"
source: "./Caddyfile"
target: "/etc/caddy/Caddyfile"
read_only: true
bind:
selinux: z
- type: "volume"
source: "cartesian-caddy-data"
target: "/data"
- type: "volume"
source: "cartesian-caddy-config"
target: "/config"
depends_on:
- "services"
- "frontend"
networks:
- "cartesian"
networks:
cartesian:
driver: "bridge"
volumes:
cartesian-postgres-data:
driver: "local"
cartesian-storage-data:
driver: "local"
cartesian-caddy-data:
driver: "local"
cartesian-caddy-config:
driver: "local"