From 723cc36980ee8dcda491a7ae900501c04adbcb53 Mon Sep 17 00:00:00 2001 From: Gerrit Gogel Date: Wed, 14 Feb 2024 11:13:21 +0100 Subject: [PATCH] compose: added health checks, restart policy and improved depends_on --- compose/docker-compose-dev.yml | 36 +++++++++++++++++++--------- compose/docker-compose.yml | 44 ++++++++++++++++++++++------------ 2 files changed, 54 insertions(+), 26 deletions(-) diff --git a/compose/docker-compose-dev.yml b/compose/docker-compose-dev.yml index b8aa745..129b98a 100644 --- a/compose/docker-compose-dev.yml +++ b/compose/docker-compose-dev.yml @@ -10,12 +10,17 @@ services: - TIME_ZONE=Europe/Berlin - HTTPS=false - SEAFILE_URL=localhost - depends_on: - - db - - memcached - - seafile-caddy 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/. @@ -26,22 +31,23 @@ services: environment: - SEAFILE_ADMIN_EMAIL=me@example.com - SEAFILE_ADMIN_PASSWORD=asecret - depends_on: - - seafile-server - - seafile-caddy - - seahub-media 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 - depends_on: - - seafile-caddy networks: - seafile-net + restart: unless-stopped db: image: mariadb:10.11.7 @@ -53,20 +59,28 @@ services: - 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.23 entrypoint: memcached -m 1024 networks: - seafile-net + restart: unless-stopped seafile-caddy: build: ../seafile-caddy/. ports: - - "80:80" + - "8080:80" networks: - seafile-net - default + restart: unless-stopped networks: seafile-net: diff --git a/compose/docker-compose.yml b/compose/docker-compose.yml index b5f931f..c6e6f70 100644 --- a/compose/docker-compose.yml +++ b/compose/docker-compose.yml @@ -3,45 +3,51 @@ services: seafile-server: image: ggogel/seafile-server:11.0.4 volumes: - - seafile-data:/shared + - seafile-data:/shared environment: - DB_HOST=db - DB_ROOT_PASSWD=db_dev - TIME_ZONE=Europe/Berlin - HTTPS=true - SEAFILE_URL=seafile.mydomain.com # Mandatory on first deployment! - depends_on: - - db - - memcached - - seafile-caddy 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: image: ggogel/seahub:11.0.4 volumes: - seafile-data:/shared - seahub-avatars:/shared/seafile/seahub-data/avatars - - seahub-custom:/shared/seafile/seahub-data/custom + - seahub-custom:/shared/seafile/seahub-data/custom environment: - SEAFILE_ADMIN_EMAIL=me@example.com - SEAFILE_ADMIN_PASSWORD=asecret - depends_on: - - seafile-server - - seafile-caddy - - seahub-media networks: - seafile-net - + depends_on: + db: + condition: service_healthy + seafile-server: + condition: service_healthy + restart: unless-stopped + seahub-media: image: ggogel/seahub-media:11.0.4 volumes: - - seahub-avatars:/usr/share/caddy/media/avatars - - seahub-custom:/usr/share/caddy/media/custom - depends_on: - - seafile-caddy + - 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.7 @@ -53,12 +59,19 @@ services: - 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.23 entrypoint: memcached -m 1024 networks: - seafile-net + restart: unless-stopped seafile-caddy: image: ggogel/seafile-caddy:2.7.6 @@ -67,6 +80,7 @@ services: networks: - seafile-net - default + restart: unless-stopped networks: seafile-net: