annotate docker/api-only/docker-compose.yml @ 0:b51518614818 default tip

New Files
author Pluto <meokcin@gmail.com>
date Tue, 03 Sep 2024 15:57:25 +0800
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
1 # Runs this API, either on port 80 or behind Traefik, either on docker swarm or single daemon.
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
2 # Choose the right configuration for you and comment out the other.
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
3 # Read the comments carefully.
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
4 #
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
5 #
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
6 # In case you run behind Traefik, you need to setup the traefik router HOST
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
7 # You need correctly setup traefik and docker network (here called proxy_external)
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
8 #
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
9 # /!\ /!\ Make sure the mount volumes match correctly. /!\ /!\
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
10 #
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
11 # The first volume is the path to the www folder from the root of this repo.
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
12 # The path shall be a full path, or be next to this docker-compose.yml file.
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
13 # No parent folder navigation like `../../../` is allowed by docker.
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
14 #
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
15 # -> Easy solution:
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
16 # Once you have cloned this repo, you shall move this docker-compose.yml file to the root of the repo.
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
17 #
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
18 # The second volume is the path to the nginx server config file.
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
19 # This needs the commited nginx server config (or your own adapted version) to work properly.
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
20 # See the file `<repo_root>/docker/api-only/conf.d/pritunl-fake-api.conf` for more details.
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
21
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
22 version: '3.7'
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
23 services:
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
24 web:
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
25 image: trafex/php-nginx
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
26 volumes:
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
27 - "./www:/var/www/html:ro"
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
28 - "./docker/api-only/conf.d/pritunl-fake-api.conf:/etc/nginx/conf.d/pritunl-fake-api.conf"
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
29 #################################################################
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
30 ### If you run behind Traefik COMMENT OUT the following lines ###
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
31 ### BEGIN TRAEFIK_BLOCK ###
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
32 ports:
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
33 - "80:8080"
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
34 #################################################################
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
35
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
36 #################################################################
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
37
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
38 ### BEGIN SINGLE_DAEMON_BLOCK ###
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
39
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
40 ### If you run behind on Docker Single Daemon (NOT Swarm) uncomment the following lines ###
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
41 # networks:
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
42 # - default
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
43 # - proxy_external
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
44 # labels:
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
45 # - "traefik.enable=true"
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
46 # - "traefik.docker.network=proxy_external"
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
47 # - "traefik.tags=proxy_external"
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
48 # ### Services
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
49 # ## API
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
50 # - "traefik.http.services.pritunl-api.loadbalancer.server.port=8080"
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
51 # ### Routers
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
52 # - "traefik.http.routers.pritunl-api.entrypoints=https"
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
53 # - "traefik.http.routers.pritunl-api.rule=Host(`mypritunlfakeapi.example.com`)"
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
54 # - "traefik.http.routers.pritunl-api.service=pritunl-api"
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
55 # - "traefik.http.routers.pritunl-api.tls=true"
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
56 # - "traefik.http.routers.pritunl-api.tls.certresolver=http"
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
57 # networks:
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
58 # proxy_external:
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
59 # external: true
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
60 # name: proxy_external
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
61
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
62 ### END SINGLE_DAEMON_BLOCK ###
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
63
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
64
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
65 ### BEGIN SWARM_BLOCK ###
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
66
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
67 ### If you run on Docker Swarm uncomment the following lines ###
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
68 # networks:
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
69 # - default
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
70 # - proxy_external
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
71 # labels:
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
72 # - "traefik.enable=true"
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
73 # deploy:
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
74 # labels:
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
75 # - "traefik.enable=true"
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
76 # - "traefik.docker.network=proxy_external"
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
77 # - "traefik.tags=proxy_external"
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
78 # ### Services
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
79 # ## API
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
80 # - "traefik.http.services.pritunl-api.loadbalancer.server.port=8080"
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
81 # ### Routers
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
82 # - "traefik.http.routers.pritunl-api.entrypoints=https"
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
83 # - "traefik.http.routers.pritunl-api.rule=Host(`mypritunlfakeapi.example.com`)"
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
84 # - "traefik.http.routers.pritunl-api.service=pritunl-api"
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
85 # - "traefik.http.routers.pritunl-api.tls=true"
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
86 # - "traefik.http.routers.pritunl-api.tls.certresolver=http"
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
87 # networks:
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
88 # proxy_external:
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
89 # external: true
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
90 # name: proxy_external
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
91
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
92 ### END SWARM_BLOCK ###
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
93
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
94
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
95
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
96 ### END TRAEFIK BLOCK ###
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
97 #################################################################
b51518614818 New Files
Pluto <meokcin@gmail.com>
parents:
diff changeset
98