services: db: image: ${SEAFILE_DB_IMAGE} container_name: seafile-mysql environment: - MYSQL_ROOT_PASSWORD=${INIT_SEAFILE_MYSQL_ROOT_PASSWORD} - MYSQL_LOG_CONSOLE=true volumes: - ${SEAFILE_MYSQL_VOLUME}:/var/lib/mysql networks: - seafile-net - caddy_default restart: unless-stopped memcached: image: ${SEAFILE_MEMCACHED_IMAGE} container_name: seafile-memcached entrypoint: memcached -m 256 networks: - seafile-net restart: unless-stopped seafile: image: ${SEAFILE_IMAGE} container_name: seafile environment: - DB_HOST=${SEAFILE_MYSQL_DB_HOST} - DB_ROOT_PASSWD=${INIT_SEAFILE_MYSQL_ROOT_PASSWORD} - TIME_ZONE=${TIME_ZONE} - SEAFILE_ADMIN_EMAIL=${INIT_SEAFILE_ADMIN_EMAIL} - SEAFILE_ADMIN_PASSWORD=${INIT_SEAFILE_ADMIN_PASSWORD} - SEAFILE_SERVER_HOSTNAME=${SEAFILE_SERVER_HOSTNAME} - SEAFILE_SERVER_LETSENCRYPT=false - SEADRIVE_SERVER_LETSENCRYPT=false - SEAFILE_SERVER_PROTOCOL=${SEAFILE_SERVER_PROTOCOL} volumes: - ${SEAFILE_VOLUME}:/shared networks: - seafile-net - caddy_default restart: unless-stopped depends_on: - db - memcached notification-server: image: ${NOTIFICATION_SERVER_IMAGE} container_name: notification-server environment: - DB_HOST=${SEAFILE_MYSQL_DB_HOST} - DB_ROOT_PASSWD=${INIT_SEAFILE_MYSQL_ROOT_PASSWORD} - TIME_ZONE=${TIME_ZONE} volumes: - ${NOTIFICATION_SERVER_VOLUME}:/shared - ${SEAFILE_VOLUME}:/shared/seafile networks: - seafile-net depends_on: - db - seafile restart: unless-stopped seadoc-server: image: ${SEADOC_IMAGE} container_name: seadoc-server environment: - DB_HOST=${SEAFILE_MYSQL_DB_HOST} - DB_ROOT_PASSWD=${INIT_SEAFILE_MYSQL_ROOT_PASSWORD} - TIME_ZONE=${TIME_ZONE} - JWT_PRIVATE_KEY=${JWT_PRIVATE_KEY} volumes: - ${SEADOC_VOLUME}:/shared - ${SEAFILE_VOLUME}:/shared/seafile networks: - seafile-net depends_on: - db - seafile restart: unless-stopped networks: seafile-net: caddy_network: external: true name: caddy_default