You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
adc/ansible/roles/awfulAll/templates/awful-compose.yml

175 lines
5.0 KiB

version: '3'
networks:
gitea:
external: false
volumes:
nextcloud:
db:
traefik_acme:
traefik_logs:
services:
traefik:
image: traefik
networks:
- pubnet
command: --web --docker --docker.swarmmode --docker.watch --logLevel=DEBUG
ports:
- 80:80
- 443:443
- 5000:5000
volumes:
- traefik_acme:/acme/
- traefik_logs:/var/log/access.log
- /var/run/docker.sock:/var/run/docker.sock
- /home/josiah/apps/traefik/traefik.toml:/traefik.toml
deploy:
mode: global
placement:
constraints:
- node.role == manager
labels:
- "traefik.enable=true"
- "traefik.http.routers.awfulAll-traefik-api.rule=Host(`awful-1.awful.club`)&&(PathPrefix(`/api`)||PathPrefix(`/dashboard`)||PathPrefix(`/debug`))"
- "traefik.http.routers.awfulAll-traefik-api.service=api@internal"
- "traefik.http.routers.awfulAll-traefik-api.entrypoints=http"
whoami:
image: containous/whoami:latest
networks:
- pubnet
labels:
- "traefik.enable=true"
- "traefik.http.routers.awfulAll-whoami.rule=Host(`awful-1.awful.club`) && PathPrefix(`/whoami`)"
- "traefik.http.routers.awfulAll-whoami.service=awfulAll-whoami"
- "traefik.http.services.awfulAll-whoami.loadbalancer.server.port=80"
mojo-web:
build:
context: /home/josiah/apps/mojo/mojo-web/
dockerfile: Dockerfile
image: mojo-web
environment:
SLACK_BOT_TOKEN: {{ slack_bot_token }}
volumes:
- /mnt/volume_sfo2_znc/:/shared/
mojo-rtm:
build:
context: /home/josiah/apps/mojo/mojo-rtm/
dockerfile: Dockerfile
image: mojo-rtm
environment:
SLACK_BOT_TOKEN: {{ slack_bot_token }}
volumes:
- /mnt/volume_sfo2_znc/:/shared/
labels:
- "traefik.enable=true"
- "traefik.http.services.awfulAll-mojo-rtm.loadbalancer.server.port=443"
- "traefik.http.routers.awfulAll-mojo-rtm.service=awfulAll-mojo-rtm"
- "traefik.http.routers.awfulAll-mojo-rtm.rule=Host(`slack.awful.club`)"
arke:
build:
context: /home/josiah/apps/arke/
dockerfile: Dockerfile
image: arke
volumes:
- /mnt/volume_sfo2_znc/:/shared/
znc:
build:
context: /home/josiah/apps/znc/
dockerfile: Dockerfile
image: znc
ports:
- 5000:5000
volumes:
- /mnt/volume_sfo2_znc/:/znc-data
labels:
- "traefik.enable=true"
- "traefik.http.services.awfulAll-mojo-rtm.loadbalancer.server.port=5000"
- "traefik.http.routers.awfulAll-mojo-rtm.service=awfulAll-znc"
- "traefik.http.routers.awfulAll-mojo-rtm.rule=Host(`bouncer.awful.club`)"
gitea-server:
image: gitea/gitea:latest
environment:
- USER_UID=1000
- USER_GID=1000
- DB_TYPE=postgres
- DB_HOST=db:5432
- DB_NAME={{ GITEA_DB_NAME }}
- DB_USER={{ GITEA_DB_USER }}
- DB_PASSWD={{ GITEA_DB_PASSWD }}
restart: always
networks:
- gitea
volumes:
- /mnt/volume_sfo2_01/gitea:/data
ports:
- "3000:3000"
- "222:22"
depends_on:
- db
labels:
- "traefik.enable=true"
- "traefik.services.awfulAll-gitea.port=222"
- "traefik.http.services.awfulAll-gitea.loadbalancer.server.port=3000"
- "traefik.http.routers.awfulAll-gitea.service=awfulAll-znc"
- "traefik.http.routers.awfulAll-gitea.rule=Host(`git.awful.club`)"
gitea-db:
image: postgres:9.6
restart: always
environment:
- POSTGRES_USER={{ GITEA_POSTGRES_USER }}
- POSTGRES_PASSWORD={{ GITEA_POSTGRES_USER }}
- POSTGRES_DB={{ GITEA_POSTGRES_USER }}
networks:
- gitea
volumes:
- /mnt/volume_sfo2_01/psql:/var/lib/postgresql/data
nextcloud-db:
image: postgres:9.6
ports:
- 5432:5432
restart: always
volumes:
- /mnt/shared_document_store/nextcloud/sql:/var/lib/postgresql
environment:
- USER_UID=1000
- USER_GID=1000
- POSTGRES_ROOT_PASSWORD={{ NEXTCLOUD_POSTGRES_ROOT_PASSWORD }}
- POSTGRES_PASSWORD={{ NEXTCLOUD_POSTGRES_PASSWORD }}
- POSTGRES_DB={{ NEXTCLOUD_POSTGRES_DATABASE }}
- POSTGRES_USER={{ NEXTCLOUD_POSTGRES_USER }}
- POSTGRES_HOST={{ NEXTCLOUD_POSTGRES_HOST }}
- NEXTCLOUD_ADMIN_USER={{ NEXTCLOUD_ADMIN_USER }}
- NEXTCLOUD_ADMIN_PASSWORD={{ NEXTCLOUD_ADMIN_PASSWORD }}
nextcloud-app:
image: nextcloud:18
ports:
- 8080:80
links:
- nextcloud-db
volumes:
- /mnt/shared_document_store/nextcloud/html/:/var/www/html/
depends_on:
- nextcloud-db
environment:
- USER_UID=1000
- USER_GID=1000
- POSTGRES_ROOT_PASSWORD={{ NEXTCLOUD_POSTGRES_ROOT_PASSWORD }}
- POSTGRES_PASSWORD={{ NEXTCLOUD_POSTGRES_PASSWORD }}
- POSTGRES_DB={{ NEXTCLOUD_POSTGRES_DATABASE }}
- POSTGRES_USER={{ NEXTCLOUD_POSTGRES_USER }}
- POSTGRES_HOST={{ NEXTCLOUD_POSTGRES_HOST }}
- NEXTCLOUD_ADMIN_USER={{ NEXTCLOUD_ADMIN_USER }}
- NEXTCLOUD_ADMIN_PASSWORD={{ NEXTCLOUD_ADMIN_PASSWORD }}