-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
81 lines (69 loc) · 1.93 KB
/
docker-compose.yml
File metadata and controls
81 lines (69 loc) · 1.93 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
version: '3.8'
services:
app:
build:
context: .
dockerfile: Dockerfile
container_name: nakijktool-api
# We gebruiken 'expose' in plaats van 'ports'.
# Hierdoor is poort 3000 bereikbaar voor de Proxy, maar niet direct vanaf het internet.
expose:
- "3000"
environment:
# Deze variabelen matchen de stijl van je werkende voorbeeld
- VIRTUAL_HOST=nakijk.atd.avans.nl
- VIRTUAL_PORT=3000
# Je bestaande variabelen
- NODE_ENV=development
- PORT=3000
- HTTPS_PORT=3443
- ENABLE_HTTPS=false
- CORS_ORIGIN=*
- DB_HOST=mysql
- DB_USER=root
- DB_PASSWORD=password
- DB_NAME=databaas
- DB_PORT=3306
volumes:
- ./src:/app/src
- ./public:/app/public
- ./ssl:/app/ssl
# Belangrijk: voorkomt dat lege node_modules van host de container overschrijven
- /app/node_modules
depends_on:
mysql:
condition: service_healthy
restart: unless-stopped
networks:
- nakijktool-network # Voor communicatie met database
- proxy # Voor communicatie met Nginx Proxy Manager
mysql:
build:
context: .
dockerfile: mysql.Dockerfile
container_name: nakijktool-mysql
environment:
- MYSQL_ROOT_PASSWORD=password
- MYSQL_DATABASE=databaas
# Remove MYSQL_USER=root as it's causing errors
ports:
- "3307:3306"
volumes:
- mysql_data:/var/lib/mysql
restart: unless-stopped
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-p$$MYSQL_ROOT_PASSWORD"]
interval: 5s
timeout: 5s
retries: 20
networks:
- nakijktool-network
networks:
nakijktool-network:
driver: bridge
# Het externe netwerk waar Nginx Proxy Manager op draait.
# In je werkende voorbeeld heette dit 'proxy'.
proxy:
external: true
volumes:
mysql_data: