mirror of
https://github.com/phfroidmont/self-hosting.git
synced 2025-12-25 05:36:59 +01:00
99 lines
2.1 KiB
YAML
99 lines
2.1 KiB
YAML
version: '3'
|
|
|
|
networks:
|
|
proxy-tier:
|
|
external:
|
|
name: nginx-proxy
|
|
|
|
services:
|
|
web:
|
|
build: ./web
|
|
volumes:
|
|
- /var/lib/nextcloud:/var/www/html:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
environment:
|
|
- VIRTUAL_HOST=${CLOUD_DOMAIN}
|
|
- VIRTUAL_NETWORK=nginx-proxy
|
|
- VIRTUAL_PORT=80
|
|
depends_on:
|
|
- app
|
|
- collabora
|
|
networks:
|
|
- proxy-tier
|
|
- default
|
|
restart: always
|
|
|
|
app:
|
|
build: ./app
|
|
volumes:
|
|
- ./config/config.php:/var/www/html/config/config.php
|
|
- /var/lib/nextcloud:/var/www/html
|
|
- /media:/media
|
|
- /etc/localtime:/etc/localtime:ro
|
|
environment:
|
|
- MYSQL_HOST=db
|
|
env_file:
|
|
- db.env
|
|
depends_on:
|
|
- db
|
|
- redis
|
|
restart: always
|
|
|
|
cron:
|
|
build: ./app
|
|
restart: always
|
|
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
|
|
|
|
db:
|
|
image: mariadb
|
|
volumes:
|
|
- /var/lib/mariadb/nextcloud:/var/lib/mysql
|
|
- /backups/nextcloud:/backups
|
|
- /etc/localtime:/etc/localtime:ro
|
|
environment:
|
|
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
|
|
- MYSQL_DATABASE=${MYSQL_DATABASE}
|
|
- MYSQL_USER=${MYSQL_USER}
|
|
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
|
|
env_file:
|
|
- db.env
|
|
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
|
|
# - VIRTUAL_PROTO=https
|
|
# - LETSENCRYPT_HOST=${COLLABORA_DOMAIN}
|
|
# - LETSENCRYPT_EMAIL=${LETSENCRYPT_EMAIL}
|
|
networks:
|
|
- proxy-tier
|
|
- default
|
|
restart: always
|