-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdocker-compose.yml
74 lines (69 loc) · 2.22 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
version: "3.4"
services:
# Workhorse client - DON'T run for development (will download many things)
singular_cli:
build: "."
environment:
- SINGULAR_PATH=/data
- SINGULAR_DOWNLOAD=/download
volumes:
- .:/data
- ./data:/download
entrypoint:
- python3
- /data/singular.py
# Vue development docker
singular_frontend:
build: "frontend"
volumes:
- ./frontend/src:/data/src # Only bring in src, have docker ADD other files?
ports:
- "7501:8080"
entrypoint:
- bash
- /data/entrypoint.sh
# Production backend docker
singular_backend:
build: "backend"
restart: always
environment:
- SINGULAR_SETTINGS_FOLDER=/data/
- SINGULAR_SETTINGS_FILE=settings.json
- SINGULAR_DOCKER_NAME=singular_singular_cli
# Uncomment the following 2 lines if running directly - currently setup for traefik
# ports:
# - "192.168.76.250:443:7500"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /usr/bin/docker:/usr/bin/docker
- ./:/data
- ./data:/download
entrypoint:
- python3
- /data/backend/serve.py
networks:
- custom
labels:
- "traefik.enable=true"
- "traefik.http.routers.singular.entrypoints=http"
- "traefik.http.routers.singular.rule=Host(`singular.docker.chesterenright.com`)"
- "traefik.http.middlewares.singular-https-redirect.redirectscheme.scheme=https"
- "traefik.http.routers.singular.middlewares=singular-https-redirect"
- "traefik.http.routers.singular-secure.entrypoints=https"
- "traefik.http.routers.singular-secure.rule=Host(`singular.docker.chesterenright.com`)"
- "traefik.http.routers.singular-secure.tls=true"
- "traefik.http.routers.singular-secure.tls.certresolver=letsEncrypt"
- "traefik.http.routers.singular-secure.service=singular"
- "traefik.http.services.singular.loadbalancer.server.port=7500"
- "traefik.docker.network=custom"
networks:
custom:
external: true
# Nginx to serve the compiled vue files from dist
# nginx:
# image: "nginx"
# volumes:
# - ./nginx.conf:/etc/nginx/nginx.conf:ro
# - ./frontend/dist:/data
# ports:
# - "7500:7500"