selfhosting/seafile/docker-compose.seafile.yml
2022-12-07 18:55:07 +01:00

68 lines
1.8 KiB
YAML
Executable file

version: '3.8'
services:
seafile-db:
container_name: seafile-db
environment:
MYSQL_LOG_CONSOLE: "true"
MYSQL_ROOT_PASSWORD: ${SEAFILE_DB_ROOT_PASSWORD}
image: mariadb:10.1
networks:
- seafile-backend
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:
- seafile-backend
restart: unless-stopped
seafile:
container_name: seafile
depends_on:
- seafile-db
- seafile-memcached
environment:
DB_HOST: seafile-db
DB_ROOT_PASSWD: ${SEAFILE_DB_ROOT_PASSWORD}
SEAFILE_ADMIN_EMAIL: ${SEAFILE_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:
- seafile-backend
- seafile-frontend
restart: unless-stopped
expose:
- 80
volumes:
- ${ROOT_INSTALL}/selfhosting/seafile/start.py:/scripts/start.py
- 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=https
- traefik.http.routers.seafile.tls=true
- traefik.docker.network=seafile-frontend
networks:
seafile-frontend:
name: seafile-frontend
seafile-backend:
name: seafile-backend
volumes:
seafile_db:
seafile_data: