|
@@ -20,10 +20,18 @@ services:
|
|
|
cloud_app:
|
|
|
image: nextcloud
|
|
|
restart: always
|
|
|
+ depends_on:
|
|
|
+ - cloud_db
|
|
|
+ - traefik
|
|
|
+ labels:
|
|
|
+ - "traefik.backend=nextcloud"
|
|
|
+ - "traefik.docker.network=oxyta_traefik"
|
|
|
+ - "traefik.frontend.rule=Host:cloud.${CHATONS_DOMAIN}"
|
|
|
+ - "traefik.enable=true"
|
|
|
+ - "traefik.port=80"
|
|
|
networks:
|
|
|
- cloud
|
|
|
- ports:
|
|
|
- - "127.0.0.1:9000:80"
|
|
|
+ - traefik
|
|
|
volumes:
|
|
|
- ${CHATONS_ROOT_DIR}/nextcloud/app:/var/www/html
|
|
|
|
|
@@ -32,14 +40,22 @@ services:
|
|
|
git_app:
|
|
|
image: gitlab/gitlab-ce
|
|
|
restart: always
|
|
|
+ depends_on:
|
|
|
+ - traefik
|
|
|
environment:
|
|
|
- GITLAB_OMNIBUS_CONFIG |
|
|
|
external_url 'https://git.${CHATONS_DOMAIN}'
|
|
|
hostname: 'git.${CHATONS_DOMAIN}' # required by gitlab
|
|
|
+ labels:
|
|
|
+ - "traefik.backend=gitlab"
|
|
|
+ - "traefik.docker.network=oxyta_traefik"
|
|
|
+ - "traefik.frontend.rule=Host:git.${CHATONS_DOMAIN}"
|
|
|
+ - "traefik.enable=true"
|
|
|
+ - "traefik.port=80"
|
|
|
networks:
|
|
|
- git
|
|
|
+ - traefik
|
|
|
ports:
|
|
|
- - "127.0.0.1:9002:80"
|
|
|
- "22:22"
|
|
|
volumes:
|
|
|
- ${CHATONS_ROOT_DIR}/gitlab/app/config:/etc/gitlab
|
|
@@ -51,10 +67,19 @@ services:
|
|
|
homepage_app:
|
|
|
build: homepage
|
|
|
restart: always
|
|
|
+ depends_on:
|
|
|
+ - traefik
|
|
|
+ labels:
|
|
|
+ - "traefik.backend=homepage"
|
|
|
+ - "traefik.docker.network=oxyta_traefik"
|
|
|
+ # note: www must also be present because we need its certificate
|
|
|
+ # and it is required for traefik redirection to work too (in traefik.yml)
|
|
|
+ - "traefik.frontend.rule=Host:${CHATONS_DOMAIN},www.${CHATONS_DOMAIN}"
|
|
|
+ - "traefik.enable=true"
|
|
|
+ - "traefik.port=80"
|
|
|
networks:
|
|
|
- homepage
|
|
|
- ports:
|
|
|
- - "127.0.0.1:8999:80"
|
|
|
+ - traefik
|
|
|
|
|
|
### SERVICE: pad
|
|
|
|
|
@@ -71,21 +96,47 @@ services:
|
|
|
pad_app:
|
|
|
build: pad
|
|
|
restart: always
|
|
|
+ depends_on:
|
|
|
+ - pad_db
|
|
|
+ - traefik
|
|
|
env_file:
|
|
|
- pad/.env
|
|
|
environment:
|
|
|
- ETHERPAD_DB_HOST=pad_db
|
|
|
- ETHERPAD_TITLE=Bloc Note
|
|
|
+ labels:
|
|
|
+ - "traefik.backend=etherpad"
|
|
|
+ - "traefik.docker.network=oxyta_traefik"
|
|
|
+ - "traefik.frontend.rule=Host:pad.${CHATONS_DOMAIN}"
|
|
|
+ - "traefik.enable=true"
|
|
|
+ - "traefik.port=9001"
|
|
|
networks:
|
|
|
- pad
|
|
|
- ports:
|
|
|
- - "127.0.0.1:9001:9001"
|
|
|
+ - traefik
|
|
|
volumes:
|
|
|
- ${CHATONS_ROOT_DIR}/etherpad/app:/opt/etherpad-lite/var
|
|
|
|
|
|
+### TRAEFIK
|
|
|
+
|
|
|
+ traefik:
|
|
|
+ image: traefik
|
|
|
+ command: --docker.domain=${CHATONS_DOMAIN} --acme.email=${CHATONS_MAIL}
|
|
|
+ restart: always
|
|
|
+ ports:
|
|
|
+ - 80:80
|
|
|
+ - 443:443
|
|
|
+ - 127.0.0.1:8080:8080
|
|
|
+ networks:
|
|
|
+ - traefik
|
|
|
+ volumes:
|
|
|
+ - /var/run/docker.sock:/var/run/docker.sock
|
|
|
+ - ${CHATONS_ROOT_DIR}/traefik/acme.json:/acme.json
|
|
|
+ - ${CHATONS_ROOT_DIR}/traefik/traefik.toml:/traefik.toml
|
|
|
+
|
|
|
### NETWORKS
|
|
|
|
|
|
networks:
|
|
|
+ traefik:
|
|
|
cloud:
|
|
|
git:
|
|
|
homepage:
|