-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
136 lines (127 loc) · 2.94 KB
/
Copy pathdocker-compose.yml
File metadata and controls
136 lines (127 loc) · 2.94 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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
services:
magic_pinecone:
build:
context: .
dockerfile: Dockerfile
container_name: magic_pinecone_backend
command: sh -c "alembic upgrade head && uvicorn main:app --host 0.0.0.0 --port 8000 --reload"
env_file:
- .env
volumes:
- .:/app
- /app/.venv
expose:
- "8000"
networks:
- public_net
- app_net
- db_net
depends_on:
db:
condition: service_healthy
restart: unless-stopped
dgr-h2db-detect:
container_name: dgr-h2db-detect
image: bash
volumes:
- ./db:/opt/db
- shared:/opt/shared
networks:
- app_net
command: |
bash -c '
cat << EOF > /opt/shared/dgr.args
-Xms2g
-Xmx4g
-DdigiRunner.token.key-store.path=/opt/digirunner/keys
-Dserver.port=18080
-Dspring.datasource.url=jdbc:h2:/opt/digirunner/db/dgrdb;NON_KEYWORDS=VALUE;Mode=MySQL
EOF
ls /opt/db/*.db &> /dev/null && echo "-Dspring.sql.init.mode=never" >> /opt/shared/dgr.args || echo "-Dspring.sql.init.mode=always" >> /opt/shared/dgr.args;
cat /opt/shared/dgr.args
'
dgr:
image: tpisoftwareopensource/digirunner-open-source:release-v4.7.3
container_name: dgr-gateway
depends_on:
magic_pinecone:
condition: service_started
dgr-h2db-detect:
condition: service_completed_successfully
expose:
- "18080"
environment:
- TZ=Asia/Taipei
command:
- "@/opt/shared/dgr.args"
- "org.springframework.boot.loader.launch.PropertiesLauncher"
volumes:
- ./db:/opt/digirunner/db
- shared:/opt/shared
networks:
- public_net
- app_net
restart: unless-stopped
db:
image: pgvector/pgvector:pg17
container_name: magic_pinecone_db
environment:
POSTGRES_USER: ${DB_USER}
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_DB: ${DB_NAME}
volumes:
- postgres_data:/var/lib/postgresql/
expose:
- "5432"
networks:
- db_net
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${DB_USER} -d ${DB_NAME}"]
interval: 5s
timeout: 5s
retries: 5
restart: unless-stopped
adminer:
image: adminer:5.4.2
container_name: magic_pinecone_adminer
expose:
- "8080"
networks:
- public_net
- db_net
depends_on:
- db
caddy:
image: caddy:2.9.1-alpine
container_name: magic_pinecone_caddy
restart: unless-stopped
ports:
- "8000:8000"
- "18080:18080"
- "8081:8081"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- caddy_data:/data
- caddy_config:/config
networks:
- public_net
depends_on:
- magic_pinecone
- dgr
- adminer
networks:
public_net:
driver: bridge
app_net:
driver: bridge
db_net:
driver: bridge
volumes:
postgres_data:
driver: local
shared:
driver: local
caddy_data:
driver: local
caddy_config:
driver: local