Files
scarif/docker-compose.yml

189 lines
4.2 KiB
YAML
Raw Normal View History

2020-11-26 22:39:24 +00:00
# Options for building certificates
x-certs: &certs
image: paulczar/omgwtfssl
restart: "no"
volumes:
- certs:/certs
version: "3.4"
services:
2020-11-26 22:39:24 +00:00
dashboard:
image: rmountjoy/dashmachine:latest
volumes:
- dashboard:/dashmachine/dashmachine/user_data
restart: always
networks:
- nginx
monica:
build: ./monica
image: monica
env_file: ./monica/.env
environment:
- APP_URL=https://personel.${DOMAIN}
- DB_PASSWORD=${DB_PASSWORD}
- DB_USERNAME=${DB_USER}
- MAIL_FROM_ADDRESS=${MAIL_FROM}
- MAIL_HOST=${MAIL_HOST}
- MAIL_PORT=${MAIL_PORT}
- MAIL_USERNAME=${MAIL_USER}
- MAIL_PASSWORD=${MAIL_PASSWORD}
volumes:
- monica-data:/var/www/html/storage
- monica-public:/var/www/html/public
restart: always
depends_on:
- db
2020-11-24 21:19:10 +00:00
networks:
- db
- nginx
nextcloud:
build: ./nextcloud
image: nextcloud
restart: always
volumes:
- nextcloud:/var/www/html
environment:
- REDIS_HOST=redis
- MYSQL_HOST=db
- MYSQL_PASSWORD=${DB_PASSWORD}
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=${DB_USER}
- NEXTCLOUD_ADMIN_PASSWORD=${NEXTCLOUD_ADMIN_PASSWORD}
- NEXTCLOUD_ADMIN_USER=${NEXTCLOUD_ADMIN_USER}
- MAIL_FROM=${MAIL_FROM}
- MAIL_HOST=${MAIL_HOST}
- MAIL_PORT=${MAIL_PORT}
- MAIL_USER=${MAIL_USER}
- MAIL_PASSWORD=${MAIL_PASSWORD}
- NEXTCLOUD_TRUSTED_DOMAINS=tower.${DOMAIN}
depends_on:
- db
- redis
2020-11-24 21:19:10 +00:00
networks:
- db
- redis
- nginx
2020-12-07 21:55:23 +00:00
extra_hosts:
- "tower.scarif.local:${LOCAL_IP}"
- "office.scarif.local:${LOCAL_IP}"
collabora:
image: collabora/code
restart: always
cap_add:
- MKNOD
volumes:
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
environment:
- DONT_GEN_SSL_CERT="True"
- domain=tower.${DOMAIN}
- cert_domain=office.${DOMAIN}
- server_name=office.${DOMAIN}
- username=${COLLABORA_USER}
- password=${COLLABORA_PASSWORD}
- "extra_params=-o:ssl.enable=false --o:ssl.termination=true"
- "dictionaries=de_DE en_GB en_US es_ES fr_FR it nl pt_BR pt_PT ru ro"
networks:
- nginx
extra_hosts:
- "tower.scarif.local:${LOCAL_IP}"
- "office.scarif.local:${LOCAL_IP}"
2020-11-25 21:33:30 +00:00
gitea:
image: gitea/gitea:1
environment:
- "APP_NAME=Labs: Where the good stuff happens"
- RUN_MODE=prod
- DOMAIN=labs.${DOMAIN}
- ROOT_URL=https://labs.${DOMAIN}
- DB_TYPE=mysql
- DB_HOST=db
- DB_NAME=gitea
- DB_USER=${DB_USER}
- DB_PASSWD=${DB_PASSWORD}
- USER_UID=1200
- USER_GID=1200
- DISABLE_REGISTRATION=true
2020-11-25 21:33:30 +00:00
restart: always
volumes:
- gitea:/data
- /home/git/.ssh/:/data/git/.ssh/
2020-11-25 21:33:30 +00:00
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "127.0.0.1:2222:22"
2020-11-25 21:33:30 +00:00
networks:
- db
- nginx
depends_on:
- db
db:
image: mariadb
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
environment:
- MYSQL_ROOT_PASSWORD=${DB_PASSWORD}
- MYSQL_USER=${DB_USER}
- MYSQL_PASSWORD=${DB_PASSWORD}
volumes:
- db:/var/lib/mysql
- ./db/init:/docker-entrypoint-initdb.d
restart: always
2020-11-24 21:19:10 +00:00
networks:
- db
redis:
image: redis:alpine
restart: always
2020-11-24 21:19:10 +00:00
networks:
- redis
nginx:
image: nginx:alpine
restart: always
volumes:
- certs:/etc/nginx/certs:ro
- ./nginx.conf:/etc/nginx/nginx.conf
- monica-public:/var/www/html/monica/public:ro
- monica-data:/var/www/html/monica/storage:ro
- nextcloud:/var/www/html/nextcloud:ro
depends_on:
2020-11-26 22:39:24 +00:00
- dashboard
- monica
- nextcloud
2020-11-25 21:33:30 +00:00
- gitea
2020-12-07 21:55:23 +00:00
- collabora
2020-11-26 22:39:24 +00:00
- certs
ports:
- 80:80
- 443:443
2020-11-24 21:19:10 +00:00
networks:
- nginx
2020-11-26 22:39:24 +00:00
certs:
<<: *certs
2020-11-25 21:33:30 +00:00
environment:
2020-11-26 22:39:24 +00:00
- SSL_SUBJECT=${DOMAIN}
2020-11-25 21:33:30 +00:00
- CA_SUBJECT=chris@${DOMAIN}
2020-11-26 22:39:24 +00:00
- SSL_KEY=/certs/${DOMAIN}.key
- SSL_CSR=/certs/${DOMAIN}.csr
- SSL_CERT=/certs/${DOMAIN}.crt
2020-11-25 21:33:30 +00:00
volumes:
db:
gitea:
monica-public:
monica-data:
nextcloud:
certs:
2020-11-26 22:39:24 +00:00
dashboard:
2020-11-24 21:19:10 +00:00
networks:
db:
nginx:
redis: