self-hosting/roles/nextcloud-docker/files/nextcloud/docker-compose.yml

100 lines
2.1 KiB
YAML
Raw Normal View History

2018-01-10 20:11:08 +01:00
version: '3'
2017-12-31 14:03:28 +01:00
networks:
proxy-tier:
external:
name: nginx-proxy
services:
web:
2018-01-10 20:11:08 +01:00
build: ./web
2017-12-31 14:03:28 +01:00
volumes:
2018-01-10 20:11:08 +01:00
- /var/lib/nextcloud:/var/www/html:ro
- /etc/localtime:/etc/localtime:ro
2017-12-31 14:03:28 +01:00
environment:
- VIRTUAL_HOST=${CLOUD_DOMAIN}
- VIRTUAL_NETWORK=nginx-proxy
- VIRTUAL_PORT=80
2018-01-10 20:11:08 +01:00
depends_on:
- app
- collabora
2017-12-31 14:03:28 +01:00
networks:
- proxy-tier
2018-01-10 20:11:08 +01:00
- default
2017-12-31 14:03:28 +01:00
restart: always
app:
2018-01-10 20:11:08 +01:00
build: ./app
2017-12-31 14:03:28 +01:00
volumes:
2018-01-10 20:11:08 +01:00
- ./config/config.php:/var/www/html/config/config.php
- /var/lib/nextcloud:/var/www/html
2017-12-31 14:03:28 +01:00
- /media:/media
- /etc/localtime:/etc/localtime:ro
2018-01-10 20:11:08 +01:00
environment:
- MYSQL_HOST=db
env_file:
- db.env
depends_on:
- db
- redis
restart: always
cron:
build: ./app
2017-12-31 14:03:28 +01:00
restart: always
2018-01-10 20:11:08 +01:00
volumes:
- /var/lib/nextcloud:/var/www/html
user: www-data
entrypoint: |
bash -c 'bash -s <<EOF
trap "break;exit" SIGHUP SIGINT SIGTERM
while [ ! -f /var/www/html/config/config.php ]; do
sleep 1
done
while true; do
php -f /var/www/html/cron.php
sleep 15m
done
EOF'
depends_on:
- db
- redis
2017-12-31 14:03:28 +01:00
db:
image: mariadb
volumes:
2018-01-10 20:11:08 +01:00
- /var/lib/mariadb/nextcloud:/var/lib/mysql
2017-12-31 14:03:28 +01:00
- /backups/nextcloud:/backups
- /etc/localtime:/etc/localtime:ro
2017-12-31 14:03:28 +01:00
environment:
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_DATABASE=${MYSQL_DATABASE}
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
2018-01-10 20:11:08 +01:00
env_file:
- db.env
2017-12-31 14:03:28 +01:00
restart: always
redis:
image: redis
restart: always
collabora:
image: collabora/code
cap_add:
- MKNOD
expose:
- 9980
environment:
- domain=${CLOUD_DOMAIN}
- VIRTUAL_HOST=${COLLABORA_DOMAIN}
- VIRTUAL_NETWORK=nginx-proxy
- VIRTUAL_PORT=9980
2018-01-10 20:11:08 +01:00
# - VIRTUAL_PROTO=https
2017-12-31 14:03:28 +01:00
# - LETSENCRYPT_HOST=${COLLABORA_DOMAIN}
# - LETSENCRYPT_EMAIL=${LETSENCRYPT_EMAIL}
networks:
- proxy-tier
2018-01-10 20:11:08 +01:00
- default
2017-12-31 14:03:28 +01:00
restart: always