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