-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
91 lines (87 loc) · 2.57 KB
/
docker-compose.yml
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
version: "3.8"
services:
pfdb:
image: bianjp/mariadb-alpine:latest
environment:
MYSQL_ROOT_PASSWORD: $MYSQL_PASSWORD
container_name: "$CONTAINER_NAME-db"
networks:
default:
aliases:
- "${CONTAINER_NAME}db"
volumes:
- $path/database:/var/lib/mysql
- $path/static/pathfinder/export/sql:/export
restart: always
pf-redis:
image: redis:latest
container_name: "$CONTAINER_NAME-redis"
command: redis-server /etc/redis.conf
hostname: redis
volumes:
- redis_data:/data
- ${path}/static/redis.conf:/etc/redis.conf
networks:
default:
aliases:
- "$CONTAINER_NAME-redis"
logging:
driver: none
restart: always
pf-socket:
image: composer:latest
container_name: "$CONTAINER_NAME-socket"
command: ["sh","-c","composer install && php cmd.php --tcpHost 0.0.0.0"]
hostname: socket
volumes:
- ${path}/static/websocket:/app
networks:
default:
aliases:
- "$CONTAINER_NAME-socket"
restart: always
pf:
container_name: ${CONTAINER_NAME}
hostname: "pathfinder"
image: tupsi/pathfinder:2.03
build:
context: .
dockerfile: Dockerfile
args:
pf_version: $PF_VERSION
domain: $DOMAIN
env_file: .env
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.${CONTAINER_NAME}-redirect.redirectscheme.scheme=https"
- "traefik.http.services.${CONTAINER_NAME}.loadbalancer.server.scheme=https"
- "traefik.http.services.${CONTAINER_NAME}.loadbalancer.server.port=443"
- "traefik.http.routers.${CONTAINER_NAME}443.tls=true"
- "traefik.http.routers.${CONTAINER_NAME}443.rule=Host(`${DOMAIN}`)"
- "traefik.http.routers.${CONTAINER_NAME}443.entrypoints=https"
- "traefik.http.routers.${CONTAINER_NAME}443.tls.certresolver=http"
- "traefik.http.routers.${CONTAINER_NAME}80.entrypoints=http"
- "traefik.http.routers.${CONTAINER_NAME}80.rule=Host(`${DOMAIN}`)"
- "traefik.http.routers.${CONTAINER_NAME}80.middlewares=${CONTAINER_NAME}-redirect"
- "traefik.docker.network=proxy"
networks:
- default
- proxy
healthcheck:
disable: true
volumes:
- ${path}/static/pathfinder:/var/www/pathfinder
- ${path}/conf:/var/www/pathfinder/conf
- ${path}/logs:/var/www/pathfinder/logs
- ${path}/history:/var/www/pathfinder/history
depends_on:
- pfdb
- pf-redis
- pf-socket
restart: always
volumes:
redis_data:
networks:
default:
proxy:
external: true