selfhosting/seafile/docker-compose.seafile.yml
2021-11-01 19:10:42 +01:00

60 lines
1.5 KiB
YAML
Executable file

version: '3'
services:
seafile-db:
container_name: seafile-db
environment:
MYSQL_LOG_CONSOLE: "true"
MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
image: mariadb:10.1
networks:
- srv
volumes:
- seafile_db:/var/lib/mysql:rw
restart: unless-stopped
seafile-memcached:
container_name: seafile-memcached
entrypoint: memcached -m 256
image: memcached:1.5.6
networks:
- srv
restart: unless-stopped
seafile:
container_name: seafile
depends_on:
- seafile-db
- seafile-memcached
environment:
DB_HOST: seafile-db
DB_ROOT_PASSWD: ${DB_ROOT_PASSWORD}
SEAFILE_ADMIN_EMAIL: ${ADMIN_EMAIL}
SEAFILE_ADMIN_PASSWORD: ${SEAFILE_ADMIN_PASSWORD}
SEAFILE_SERVER_HOSTNAME: ${HOST_SEAFILE}.${DOMAIN}
SEAFILE_SERVER_LETSENCRYPT: "false"
TIME_ZONE: ${TZ}
image: seafileltd/seafile-mc:latest
networks:
- srv
restart: unless-stopped
expose:
- 80
volumes:
- seafile_data:/shared:rw
- type: bind
source: ${ROOT_INSTALL}/data/seafile-fuse
target: /seafile-fuse
bind:
propagation: rshared
privileged: true
cap_add:
- SYS_ADMIN
labels:
- traefik.enable=true
- traefik.http.routers.seafile.rule=Host(`${HOST_SEAFILE}.${DOMAIN}`)
- traefik.http.routers.seafile.entrypoints=websecure
- traefik.http.routers.seafile.tls=true
- traefik.http.services.seafile.loadbalancer.server.port=80
volumes:
seafile_db:
seafile_data: