version: '3.8' services: seafile-server: build: ../seafile-server/. volumes: - seafile-data:/shared environment: - DB_HOST=db - DB_ROOT_PASSWD=db_dev - TIME_ZONE=Europe/Berlin - HTTPS=false - SEAFILE_URL=localhost:8080 networks: - seafile-net depends_on: db: condition: service_healthy healthcheck: test: ["CMD", "nc", "-z", "localhost", "8082"] interval: 10s timeout: 10s retries: 3 restart: unless-stopped seahub: build: ../seahub/. volumes: - seafile-data:/shared - seahub-avatars:/shared/seafile/seahub-data/avatars - seahub-custom:/shared/seafile/seahub-data/custom environment: - SEAFILE_ADMIN_EMAIL=me@example.com - SEAFILE_ADMIN_PASSWORD=asecret networks: - seafile-net depends_on: db: condition: service_healthy seafile-server: condition: service_healthy restart: unless-stopped seahub-media: build: ../seahub-media/. volumes: - seahub-avatars:/usr/share/caddy/media/avatars - seahub-custom:/usr/share/caddy/media/custom networks: - seafile-net restart: unless-stopped db: image: mariadb:10.11.9 environment: - MYSQL_ROOT_PASSWORD=db_dev - MYSQL_LOG_CONSOLE=true - MARIADB_AUTO_UPGRADE=true volumes: - seafile-mariadb:/var/lib/mysql networks: - seafile-net healthcheck: test: ["CMD", "healthcheck.sh", "--su-mysql", "--connect", "--innodb_initialized"] interval: 10s timeout: 10s retries: 3 restart: unless-stopped memcached: image: memcached:1.6.29 entrypoint: memcached -m 1024 networks: - seafile-net restart: unless-stopped seafile-caddy: build: ../seafile-caddy/. ports: - "8080:80" networks: - seafile-net - default restart: unless-stopped networks: seafile-net: internal: true volumes: seafile-data: seafile-mariadb: seahub-avatars: seahub-custom: