added healthchecks and removed exposed password from compose.yaml
This commit is contained in:
@@ -19,6 +19,12 @@ services:
|
|||||||
options:
|
options:
|
||||||
max-size: "50m"
|
max-size: "50m"
|
||||||
max-file: "3"
|
max-file: "3"
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB || exit 1"]
|
||||||
|
interval: 10s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 5
|
||||||
|
start_period: 10s
|
||||||
|
|
||||||
synapse-foxgirls:
|
synapse-foxgirls:
|
||||||
image: matrixdotorg/synapse:latest
|
image: matrixdotorg/synapse:latest
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ services:
|
|||||||
|
|
||||||
networks:
|
networks:
|
||||||
- reverse_proxy_default
|
- reverse_proxy_default
|
||||||
|
- postgre-general
|
||||||
|
|
||||||
logging:
|
logging:
|
||||||
driver: "json-file"
|
driver: "json-file"
|
||||||
@@ -39,6 +40,15 @@ services:
|
|||||||
ports:
|
ports:
|
||||||
- "2001:22"
|
- "2001:22"
|
||||||
|
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "wget -qO- http://localhost:3000/api/healthz || exit 1"]
|
||||||
|
interval: 30s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 3
|
||||||
|
start_period: 10s
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
reverse_proxy_default:
|
reverse_proxy_default:
|
||||||
|
external: true
|
||||||
|
postgre-general:
|
||||||
external: true
|
external: true
|
||||||
@@ -13,6 +13,12 @@ services:
|
|||||||
options:
|
options:
|
||||||
max-size: "50m"
|
max-size: "50m"
|
||||||
max-file: "3"
|
max-file: "3"
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "python3", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:5000/', timeout=5)"]
|
||||||
|
interval: 30s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 3
|
||||||
|
start_period: 10s
|
||||||
networks:
|
networks:
|
||||||
reverse_proxy_default:
|
reverse_proxy_default:
|
||||||
external: true
|
external: true
|
||||||
+26
-1
@@ -2,6 +2,7 @@
|
|||||||
services:
|
services:
|
||||||
nextcloud-app:
|
nextcloud-app:
|
||||||
build: .
|
build: .
|
||||||
|
image: local-nextcloud
|
||||||
container_name: nextcloud_app
|
container_name: nextcloud_app
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
volumes:
|
volumes:
|
||||||
@@ -31,6 +32,12 @@ services:
|
|||||||
- postgre-general
|
- postgre-general
|
||||||
- nextcloud-network
|
- nextcloud-network
|
||||||
- reverse_proxy_default
|
- reverse_proxy_default
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "curl -f http://localhost:80/status.php | grep -q '\"installed\":true' || exit 1"]
|
||||||
|
interval: 30s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 3
|
||||||
|
start_period: 10s
|
||||||
|
|
||||||
nextcloud-redis:
|
nextcloud-redis:
|
||||||
image: redis:alpine # Essential for file locking, uses almost no RAM (~20MB)
|
image: redis:alpine # Essential for file locking, uses almost no RAM (~20MB)
|
||||||
@@ -39,9 +46,16 @@ services:
|
|||||||
command: redis-server --requirepass ${REDIS_PASS}
|
command: redis-server --requirepass ${REDIS_PASS}
|
||||||
networks:
|
networks:
|
||||||
- nextcloud-network
|
- nextcloud-network
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "redis-cli -a ${REDIS_PASS} ping | grep PONG || exit 1"]
|
||||||
|
interval: 30s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 3
|
||||||
|
start_period: 5s
|
||||||
|
|
||||||
nextcloud-cron:
|
nextcloud-cron:
|
||||||
image: nextcloud:latest
|
build: .
|
||||||
|
image: local-nextcloud
|
||||||
container_name: nextcloud_cron
|
container_name: nextcloud_cron
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
volumes:
|
volumes:
|
||||||
@@ -52,6 +66,17 @@ services:
|
|||||||
networks:
|
networks:
|
||||||
- nextcloud-network
|
- nextcloud-network
|
||||||
- postgre-general
|
- postgre-general
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "LC_ALL=C; [ $$(($$(date +%s) - $$(runuser -u www-data -- php /var/www/html/occ config:app:get core lastcron))) -le 900 ] || exit 1"]
|
||||||
|
interval: 5m
|
||||||
|
timeout: 15s
|
||||||
|
retries: 3
|
||||||
|
start_period: 2m
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
|
|||||||
+26
-2
@@ -48,8 +48,27 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
- CONTAINER_NAME=palworld-server
|
- CONTAINER_NAME=palworld-server
|
||||||
- DOCKER_HOST=tcp://admin-backend:2375
|
- DOCKER_HOST=tcp://admin-backend:2375
|
||||||
- PASSWORD=saf3fluffypvvd
|
- PASSWORD=${PANEL_PASS}
|
||||||
- USERNAME=admin
|
- USERNAME=${PANEL_USER}
|
||||||
|
healthcheck:
|
||||||
|
test:
|
||||||
|
- "CMD"
|
||||||
|
- "python3"
|
||||||
|
- "-c"
|
||||||
|
- |
|
||||||
|
import urllib.request, sys
|
||||||
|
try:
|
||||||
|
urllib.request.urlopen('http://localhost:5000/', timeout=5)
|
||||||
|
except urllib.error.HTTPError as e:
|
||||||
|
if e.code in [401, 403]:
|
||||||
|
sys.exit(0)
|
||||||
|
sys.exit(1)
|
||||||
|
except Exception:
|
||||||
|
sys.exit(1)
|
||||||
|
interval: 30s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 3
|
||||||
|
start_period: 10s
|
||||||
|
|
||||||
admin-backend:
|
admin-backend:
|
||||||
image: tecnativa/docker-socket-proxy
|
image: tecnativa/docker-socket-proxy
|
||||||
@@ -63,6 +82,11 @@ services:
|
|||||||
- CONTAINERS=1
|
- CONTAINERS=1
|
||||||
volumes:
|
volumes:
|
||||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "nc -z localhost 2375 || exit 1"]
|
||||||
|
interval: 10s
|
||||||
|
timeout: 3s
|
||||||
|
retries: 3
|
||||||
networks:
|
networks:
|
||||||
palworld-admin:
|
palworld-admin:
|
||||||
internal: true
|
internal: true
|
||||||
|
|||||||
@@ -17,3 +17,8 @@ services:
|
|||||||
options:
|
options:
|
||||||
max-size: "50m"
|
max-size: "50m"
|
||||||
max-file: "3"
|
max-file: "3"
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "/usr/bin/check-health"]
|
||||||
|
interval: 10s
|
||||||
|
timeout: 3s
|
||||||
|
retries: 3
|
||||||
|
|||||||
Regular → Executable
+4
-2
@@ -7,11 +7,13 @@ docker compose -f ~/reverse_proxy/compose.yaml --project-directory ~/reverse_pro
|
|||||||
docker compose -f ~/uptime-kuma/compose.yaml --project-directory ~/uptime-kuma/ up -d
|
docker compose -f ~/uptime-kuma/compose.yaml --project-directory ~/uptime-kuma/ up -d
|
||||||
|
|
||||||
#create palworl server, don't start it
|
#create palworl server, don't start it
|
||||||
docker compose -f ~/palworld/compose.yaml --project-directory ~/palworld up --no-start
|
docker compose -f ~/palworld/compose.yaml --project-directory ~/palworld create
|
||||||
|
docker compose -f ~/palworld/compose.yaml --project-directory ~/palworld start admin-panel admin-backend
|
||||||
|
|
||||||
|
|
||||||
#create matrix server and database
|
#create matrix server and database
|
||||||
#todo: split synapse and postgre at some point
|
#todo: split synapse and postgre at some point
|
||||||
docker compose -f~/docker/synapse/compose.yaml --project-directory ~/docker/synapse up -d
|
docker compose -f ~/docker/synapse/compose.yaml --project-directory ~/docker/synapse up -d
|
||||||
|
|
||||||
#start jellyfin
|
#start jellyfin
|
||||||
if [[ ! -d ~/jellyfin/jellyfin-media-remote/foxgirls-jelly ]] ; then
|
if [[ ! -d ~/jellyfin/jellyfin-media-remote/foxgirls-jelly ]] ; then
|
||||||
|
|||||||
Reference in New Issue
Block a user