Files
dotfiles/config/ansible/tasks/servers/services/seafile/docker-compose.yml.j2
Menno van Leeuwen 4c9fddee42
Some checks failed
Ansible Lint Check / check-ansible (push) Failing after 16s
Nix Format Check / check-format (push) Successful in 54s
Python Lint Check / check-python (push) Failing after 13s
feat: update Caddyfile for OnlyOffice reverse proxy and disable WOPI in Docker Compose
2025-03-17 15:54:49 +01:00

91 lines
3.1 KiB
Django/Jinja

services:
db:
image: {{ seafile_db_image | default('mariadb:10.11') }}
container_name: seafile-mysql
environment:
MYSQL_ROOT_PASSWORD: {{ seafile_mysql_root_password | default('ROOT_PASSWORD') }}
MYSQL_USER: {{ seafile_mysql_db_user | default('seafile') }}
MYSQL_PASSWORD: {{ seafile_mysql_db_password | default('PASSWORD') }}
MYSQL_DATABASE: {{ seafile_mysql_db_name | default('seafile') }}
volumes:
- {{ seafile_mysql_volume | default('/opt/seafile-mysql/db') }}:/var/lib/mysql
networks:
- seafile-net
restart: unless-stopped
memcached:
image: {{ seafile_memcached_image | default('memcached:1.6.29') }}
container_name: seafile-memcached
entrypoint: memcached -m 256
networks:
- seafile-net
restart: unless-stopped
seafile:
image: {{ seafile_image | default('seafileltd/seafile-mc:12.0-latest') }}
container_name: seafile
environment:
- DB_HOST={{ seafile_mysql_db_host | default('db') }}
- DB_ROOT_PASSWD={{ seafile_mysql_root_password | default('ROOT_PASSWORD') }}
- TIME_ZONE={{ time_zone | default('Europe/Amsterdam') }}
- SEAFILE_ADMIN_EMAIL={{ seafile_admin_email | default('menno@vleeuwen.me') }}
- SEAFILE_ADMIN_PASSWORD={{ seafile_admin_password | default('WIP123') }}
- SEAFILE_SERVER_HOSTNAME={{ seafile_server_hostname | default('sf.mvl.sh') }}
- SEAFILE_SERVER_LETSENCRYPT=false
- SEADRIVE_SERVER_LETSENCRYPT=false
- SEAFILE_SERVER_PROTOCOL={{ seafile_server_protocol | default('http') }}
- JWT_PRIVATE_KEY={{ jwt_private_key | default('') }}
- ENABLE_SEADOC=false
volumes:
- {{ seafile_volume | default('/opt/seafile-data') }}:/shared
networks:
- seafile-net
- caddy_network
ports:
- 8001:80
- 8082:8082
- 8000:8000
restart: unless-stopped
depends_on:
- db
- memcached
notification-server:
image: {{ notification_server_image | default('seafileltd/notification-server:12.0-latest') }}
container_name: notification-server
environment:
- DB_HOST={{ seafile_mysql_db_host | default('db') }}
- DB_ROOT_PASSWD={{ seafile_mysql_root_password | default('ROOT_PASSWORD') }}
- TIME_ZONE={{ time_zone | default('Europe/Amsterdam') }}
volumes:
- {{ notification_server_volume | default('/opt/notification-data') }}:/shared
- {{ seafile_volume | default('/opt/seafile-data') }}:/shared/seafile
networks:
- seafile-net
- caddy_network
depends_on:
- db
- seafile
restart: unless-stopped
onlyoffice:
image: onlyoffice/documentserver:8.3.1.1
restart: unless-stopped
environment:
- JWT_ENABLED=true
- JWT_SECRET={{ jwt_private_key | default('') }}
- WOPI_ENABLED=false
volumes:
- {{ seafile_data_dir }}/onlyoffice/logs:/var/log/onlyoffice
- {{ seafile_data_dir }}/onlyoffice/data:/var/www/onlyoffice/Data
- {{ seafile_data_dir }}/onlyoffice/lib:/var/lib/onlyoffice
networks:
- seafile-net
- caddy_network
networks:
seafile-net:
caddy_network:
external: true
name: caddy_default