From e1d55717f35ffe255916f286407cfdccb0c0b22d Mon Sep 17 00:00:00 2001 From: che0one <167894882+che0one@users.noreply.github.com> Date: Sat, 2 Nov 2024 23:07:47 +0400 Subject: [PATCH 01/13] Add apprise-api.yaml Adding Apprise-api template --- templates/compose/apprise-api.yaml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 templates/compose/apprise-api.yaml diff --git a/templates/compose/apprise-api.yaml b/templates/compose/apprise-api.yaml new file mode 100644 index 000000000..e13450de1 --- /dev/null +++ b/templates/compose/apprise-api.yaml @@ -0,0 +1,15 @@ +services: + apprise-api: + image: 'linuxserver/apprise-api:latest' + environment: + - SERVICE_FQDN_APPRISE_8000 + - PUID=1000 + - PGID=1000 + - TZ=UTC + volumes: + - '/apprise-api/config:/config' + healthcheck: + test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:8000/"] + interval: 5s + timeout: 20s + retries: 10 From 0b958cea71913abfbea0322eaa68b16d902a2a25 Mon Sep 17 00:00:00 2001 From: che0one <167894882+che0one@users.noreply.github.com> Date: Sat, 2 Nov 2024 23:09:20 +0400 Subject: [PATCH 02/13] Add cyberchef-x86.yaml Better than it-tools all in one Dev Tool ( works only on x86 platform) --- templates/compose/cyberchef-x86.yaml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 templates/compose/cyberchef-x86.yaml diff --git a/templates/compose/cyberchef-x86.yaml b/templates/compose/cyberchef-x86.yaml new file mode 100644 index 000000000..47dcc2aea --- /dev/null +++ b/templates/compose/cyberchef-x86.yaml @@ -0,0 +1,16 @@ +services: + cyberchef: + image: 'ghcr.io/gchq/cyberchef:latest' + environment: + - SERVICE_FQDN_CYBERCHEF_80 + volumes: + - 'cyberchef-data:/app/data' + healthcheck: + test: + - CMD + - curl + - '-f' + - 'http://127.0.0.1:80' + interval: 30s + timeout: 10s + retries: 3 From 79799468335efc787813ee5e6e095f515fb4a120 Mon Sep 17 00:00:00 2001 From: che0one <167894882+che0one@users.noreply.github.com> Date: Sat, 2 Nov 2024 23:10:12 +0400 Subject: [PATCH 03/13] Add dashy.yaml Add Dashy Dashboard Template. --- templates/compose/dashy.yaml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 templates/compose/dashy.yaml diff --git a/templates/compose/dashy.yaml b/templates/compose/dashy.yaml new file mode 100644 index 000000000..368f184db --- /dev/null +++ b/templates/compose/dashy.yaml @@ -0,0 +1,15 @@ +services: + dashy: + image: lissy93/dashy + environment: + - SERVICE_FQDN_DASHY_8080 + - PUID=1000 + - PGID=1000 + - TZ=UTC + volumes: + - '/Config/Dashy/conf.yml:/app/public/conf.yml' + healthcheck: + test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:8080/"] + interval: 5s + timeout: 20s + retries: 10 From d807eb245db5501a0f808ff7789460b7cc1a15ca Mon Sep 17 00:00:00 2001 From: che0one <167894882+che0one@users.noreply.github.com> Date: Sat, 2 Nov 2024 23:11:32 +0400 Subject: [PATCH 04/13] Create faraday.yaml https://github.com/infobyte/faraday Open Source Vulnerability Management Platform Healthchecks works too --- templates/compose/faraday.yaml | 54 ++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 templates/compose/faraday.yaml diff --git a/templates/compose/faraday.yaml b/templates/compose/faraday.yaml new file mode 100644 index 000000000..c342272c3 --- /dev/null +++ b/templates/compose/faraday.yaml @@ -0,0 +1,54 @@ +services: + postgresql: + image: 'postgres:latest' + restart: unless-stopped + healthcheck: + test: + - CMD-SHELL + - 'pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}' + interval: 15s + timeout: 10s + retries: 15 + volumes: + - 'faraday-db:/var/lib/postgresql/data' + environment: + - 'POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRESQL}' + - 'POSTGRES_USER=${SERVICE_USER_POSTGRESQL}' + - 'POSTGRES_DB=${POSTGRES_DB:-faraday}' + redis: + image: 'redis:alpine' + command: '--save 60 1 --loglevel warning' + restart: unless-stopped + healthcheck: + test: + - CMD-SHELL + - 'redis-cli ping | grep PONG' + interval: 15s + timeout: 10s + retries: 15 + volumes: + - 'redis:/data' + faraday: + image: 'faradaysec/faraday:latest' + restart: always + entrypoint: /entrypoint.sh + environment: + - SERVICE_FQDN_FARADAY_5985 + - 'AUTHENTIK_POSTGRESQL__PASSWORD=${SERVICE_PASSWORD_POSTGRESQL}' + - 'PGSQL_USER=${SERVICE_USER_POSTGRESQL}' + - 'PGSQL_PASSWD=${SERVICE_PASSWORD_POSTGRESQL}' + - 'PGSQL_DBNAME=${POSTGRES_DB}' + - PGSQL_HOST=postgresql + - REDIS_SERVER=redis + volumes: + - '/faraday:/home/faraday/.faraday:rw' + depends_on: + postgresql: + condition: service_healthy + redis: + condition: service_healthy + healthcheck: + test: ["CMD", "nc", "-z", "localhost", "5985"] + interval: 30s + timeout: 10s + retries: 3 From 9eb0a27af5dc9433c3abf6cadbd37d2a505a258b Mon Sep 17 00:00:00 2001 From: che0one <167894882+che0one@users.noreply.github.com> Date: Sat, 2 Nov 2024 23:12:30 +0400 Subject: [PATCH 05/13] Update firefly.yaml Add healthcheck to Cron --- templates/compose/firefly.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/templates/compose/firefly.yaml b/templates/compose/firefly.yaml index 1b1c6bf65..3312baf06 100644 --- a/templates/compose/firefly.yaml +++ b/templates/compose/firefly.yaml @@ -68,3 +68,9 @@ services: crond -f -L /dev/stdout environment: - STATIC_CRON_TOKEN=$SERVICE_BASE64_CRONTOKEN + healthcheck: + test: ["CMD-SHELL", "ls /entrypoint.sh || exit 1"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 40s From 35b9c360359e09d2c936e4769b4b9fe7287f8bab Mon Sep 17 00:00:00 2001 From: che0one <167894882+che0one@users.noreply.github.com> Date: Sat, 2 Nov 2024 23:14:02 +0400 Subject: [PATCH 06/13] Create hoppscotch.yaml https://github.com/hoppscotch/hoppscotch Open source API development ecosystem - https://hoppscotch.io (open-source alternative to Postman, Insomnia) Healthchecks works too --- templates/compose/hoppscotch.yaml | 88 +++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 templates/compose/hoppscotch.yaml diff --git a/templates/compose/hoppscotch.yaml b/templates/compose/hoppscotch.yaml new file mode 100644 index 000000000..0f5cfdd9c --- /dev/null +++ b/templates/compose/hoppscotch.yaml @@ -0,0 +1,88 @@ +services: + backend: + image: 'hoppscotch/hoppscotch:latest' + environment: + - SERVICE_FQDN_HOPPSCOTCH_80 + - SERVICE_URL_HOPPSCOTCH + - 'VITE_ALLOWED_AUTH_PROVIDERS=${VITE_ALLOWED_AUTH_PROVIDERS:-GOOGLE,GITHUB,MICROSOFT,EMAIL}' + - 'DATABASE_URL=postgresql://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@hoppscotch-db:5432/${POSTGRES_DB}' + - 'JWT_SECRET=${SERVICE_PASSWORD_JWT}' + - 'TOKEN_SALT_COMPLEXITY=${TOKEN_SALT_COMPLEXITY:-10}' + - 'MAGIC_LINK_TOKEN_VALIDITY=${MAGIC_LINK_TOKEN_VALIDITY:-3}' + - 'REFRESH_TOKEN_VALIDITY=${REFRESH_TOKEN_VALIDITY:-604800000}' + - 'ACCESS_TOKEN_VALIDITY=${ACCESS_TOKEN_VALIDITY:-86400000}' + - 'SESSION_SECRET=${SERVICE_PASSWORD_SECRET}' + - 'ALLOW_SECURE_COOKIES=${ALLOW_SECURE_COOKIES:-true}' + - 'DATA_ENCRYPTION_KEY=${DATA_ENCRYPTION_KEY:-mustbeexactry32characterlikethat}' + - 'REDIRECT_URL=${SERVICE_FQDN_HOPPSCOTCH}' + - 'WHITELISTED_ORIGINS=${SERVICE_FQDN_HOPPSCOTCH}/backend,${SERVICE_FQDN_HOPPSCOTCH},${SERVICE_FQDN_HOPPSCOTCH}/admin' + - 'GOOGLE_CLIENT_ID=${GOOGLE_CLIENT_ID:-*****}' + - 'GOOGLE_CLIENT_SECRET=${GOOGLE_CLIENT_SECRET:-*****}' + - 'GOOGLE_CALLBACK_URL=${SERVICE_FQDN_HOPPSCOTCH}/backend/v1/auth/google/callback' + - 'GOOGLE_SCOPE=email,profile' + - 'GITHUB_CLIENT_ID=${GITHUB_CLIENT_ID:-*****}' + - 'GITHUB_CLIENT_SECRET=${GITHUB_CLIENT_SECRET:-*****}' + - 'GITHUB_CALLBACK_URL=${SERVICE_FQDN_HOPPSCOTCH}/backend/v1/auth/github/callback' + - 'GITHUB_SCOPE=user:email' + - 'MICROSOFT_CLIENT_ID=${MICROSOFT_CLIENT_ID:-*****}' + - 'MICROSOFT_CLIENT_SECRET=${MICROSOFT_CLIENT_SECRET:-*****}' + - 'MICROSOFT_CALLBACK_URL=${SERVICE_FQDN_HOPPSCOTCH}/backend/v1/auth/microsoft/callback' + - 'MICROSOFT_SCOPE=user.read' + - 'MICROSOFT_TENANT=common' + - 'MAILER_SMTP_ENABLE=${MAILER_SMTP_ENABLE:-false}' + - 'MAILER_USE_CUSTOM_CONFIGS=${MAILER_USE_CUSTOM_CONFIGS:-true}' + - 'MAILER_ADDRESS_FROM=${MAILER_ADDRESS_FROM:-samirqlvdev@example.com}' + - 'MAILER_SMTP_URL=${MAILER_SMTP_URL:-smtps_url}' + - 'MAILER_SMTP_HOST=${MAILER_SMTP_HOST:-smtp.example.com}' + - 'MAILER_SMTP_PORT=${MAILER_SMTP_PORT:-465}' + - 'MAILER_SMTP_SECURE=${MAILER_SMTP_SECURE:-true}' + - 'MAILER_SMTP_USER=${MAILER_SMTP_USER:-user@example.com}' + - 'MAILER_SMTP_PASSWORD=${MAILER_SMTP_PASSWORD:-mailpass}' + - 'MAILER_TLS_REJECT_UNAUTHORIZED=${MAILER_TLS_REJECT_UNAUTHORIZED:-false}' + - 'RATE_LIMIT_TTL=${RATE_LIMIT_TTL:-60}' + - 'RATE_LIMIT_MAX=${RATE_LIMIT_MAX:-100}' + - 'VITE_BASE_URL=${SERVICE_FQDN_HOPPSCOTCH}' + - 'VITE_SHORTCODE_BASE_URL=${SERVICE_FQDN_HOPPSCOTCH}' + - 'VITE_ADMIN_URL=${SERVICE_FQDN_HOPPSCOTCH}/admin' + - 'VITE_BACKEND_GQL_URL=${SERVICE_FQDN_HOPPSCOTCH}/backend/graphql' + - 'VITE_BACKEND_WS_URL=wss://${SERVICE_URL_HOPPSCOTCH}/backend/graphql' + - 'VITE_BACKEND_API_URL=${SERVICE_FQDN_HOPPSCOTCH}/backend/v1' + - 'VITE_APP_TOS_LINK=https://docs.hoppscotch.io/support/terms' + - 'VITE_APP_PRIVACY_POLICY_LINK=https://docs.hoppscotch.io/support/privacy' + - ENABLE_SUBPATH_BASED_ACCESS=true + depends_on: + db-migration: + condition: service_completed_successfully + healthcheck: + test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:80/"] + interval: 5s + timeout: 20s + retries: 10 + hoppscotch-db: + image: 'postgres:latest' + volumes: + - 'pg_data:/var/lib/postgresql/data' + environment: + - 'POSTGRES_USER=${SERVICE_USER_POSTGRES}' + - 'POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}' + - 'POSTGRES_DB=${POSTGRES_DB:-hoppscotch}' + healthcheck: + test: + - CMD-SHELL + - 'pg_isready -h localhost -U $${POSTGRES_USER} -d $${POSTGRES_DB}' + interval: 5s + timeout: 10s + retries: 10 + db-migration: + exclude_from_hc: true + image: 'hoppscotch/hoppscotch:latest' + depends_on: + hoppscotch-db: + condition: service_healthy + command: 'pnpx prisma migrate deploy' + restart: on-failure + environment: + - 'POSTGRES_USER=${SERVICE_USER_POSTGRES}' + - 'POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}' + - 'POSTGRES_DB=${POSTGRES_DB:-hoppscotch}' + - 'DATABASE_URL=postgres://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@hoppscotch-db:5432/${POSTGRES_DB:-hoppscotch}' From f0e4cfa75ab44e31ad70a89e6dbd220e0d201817 Mon Sep 17 00:00:00 2001 From: che0one <167894882+che0one@users.noreply.github.com> Date: Sat, 2 Nov 2024 23:14:59 +0400 Subject: [PATCH 07/13] Create jupyter-notebook.yaml Add jupyter-notebook Everything works well --- templates/compose/jupyter-notebook.yaml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 templates/compose/jupyter-notebook.yaml diff --git a/templates/compose/jupyter-notebook.yaml b/templates/compose/jupyter-notebook.yaml new file mode 100644 index 000000000..92313d087 --- /dev/null +++ b/templates/compose/jupyter-notebook.yaml @@ -0,0 +1,13 @@ +services: + jupyter-notebook: + image: 'quay.io/jupyter/base-notebook:latest' + environment: + - SERVICE_FQDN_JUPYTER_8888 + volumes: + - '/jupyter:/home/jovyan/work' + command: start-notebook.sh + healthcheck: + test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:8888/"] + interval: 30s + timeout: 20s + retries: 10 From c468ed4728982e1399fb94ade87704f404331f11 Mon Sep 17 00:00:00 2001 From: che0one <167894882+che0one@users.noreply.github.com> Date: Sat, 2 Nov 2024 23:17:30 +0400 Subject: [PATCH 08/13] Add healthchecks syncthing.yaml Add healthchecks --- templates/compose/syncthing.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/templates/compose/syncthing.yaml b/templates/compose/syncthing.yaml index b6c896294..930bd048d 100644 --- a/templates/compose/syncthing.yaml +++ b/templates/compose/syncthing.yaml @@ -20,3 +20,8 @@ services: - '22000:22000/tcp' - '22000:22000/udp' - '21027:21027/udp' + healthcheck: + test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:8384/"] + interval: 5s + timeout: 20s + retries: 10 From 1b137972366c3c9d7153870a788ddeabdc3bad6d Mon Sep 17 00:00:00 2001 From: che0one <167894882+che0one@users.noreply.github.com> Date: Sat, 2 Nov 2024 23:18:24 +0400 Subject: [PATCH 09/13] Create web-check MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://github.com/Lissy93/web-check 🕵️‍♂️ All-in-one OSINT tool for analysing any website Healthchecks works... --- templates/compose/web-check | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 templates/compose/web-check diff --git a/templates/compose/web-check b/templates/compose/web-check new file mode 100644 index 000000000..09c9d0e0f --- /dev/null +++ b/templates/compose/web-check @@ -0,0 +1,12 @@ +services: + web-check: + image: lissy93/web-check + environment: + - SERVICE_FQDN_WEBCHECK_3000 + healthcheck: + test: + - CMD-SHELL + - 'wget -qO- http://127.0.0.1:3000/' + interval: 5s + timeout: 20s + retries: 10 From 113196c5692d5808a8c5d3ab481f14c3f4fa2358 Mon Sep 17 00:00:00 2001 From: che0one <167894882+che0one@users.noreply.github.com> Date: Sat, 2 Nov 2024 23:19:06 +0400 Subject: [PATCH 10/13] Rename web-check to web-check.yaml --- templates/compose/{web-check => web-check.yaml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename templates/compose/{web-check => web-check.yaml} (100%) diff --git a/templates/compose/web-check b/templates/compose/web-check.yaml similarity index 100% rename from templates/compose/web-check rename to templates/compose/web-check.yaml From dba43a6c773a446d36b7de5a1e2ee4928c88e136 Mon Sep 17 00:00:00 2001 From: che0one <167894882+che0one@users.noreply.github.com> Date: Sat, 2 Nov 2024 23:46:33 +0400 Subject: [PATCH 11/13] Update postiz.yaml By default only frontend of Postiz app works on port 4200 but on 5000 a whole service, if use 4200 signup will be impossible due strict CORS between resources /frontend and /api also add healthchecks to main app --- templates/compose/postiz.yaml | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/templates/compose/postiz.yaml b/templates/compose/postiz.yaml index 8d199fde9..05a51e42d 100644 --- a/templates/compose/postiz.yaml +++ b/templates/compose/postiz.yaml @@ -3,16 +3,16 @@ # slogan: # tags: # logo: -# port: 4200 +# port: 5000 services: postiz: image: "ghcr.io/gitroomhq/postiz-app:latest" environment: - - SERVICE_FQDN_POSTIZ_4200 + - SERVICE_FQDN_POSTIZ_5000 - MAIN_URL=${SERVICE_FQDN_POSTIZ} - FRONTEND_URL=${SERVICE_FQDN_POSTIZ} - - NEXT_PUBLIC_BACKEND_URL=${SERVICE_FQDN_POSTIZAPI_3000} + - NEXT_PUBLIC_BACKEND_URL=${SERVICE_FQDN_POSTIZ}/api - JWT_SECRET=${SERVICE_REALBASE64_JWTSECRET} - DATABASE_URL=postgresql://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@postgres:5432/${POSTGRES_DB:-postiz}?schema=public - REDIS_URL=redis://redis:6379 @@ -33,7 +33,13 @@ services: redis: condition: service_started volumes: - - "postiz_config:/config" + - 'postiz_config:/config' + - 'postiz_uploads:/uploads' + healthcheck: + test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:5000/"] + interval: 5s + timeout: 20s + retries: 10 postgres: image: "postgres:latest" environment: From 3b0d95d391afc5bc7477d8f07cfed84c6730cb21 Mon Sep 17 00:00:00 2001 From: che0one <167894882+che0one@users.noreply.github.com> Date: Sat, 2 Nov 2024 23:48:01 +0400 Subject: [PATCH 12/13] Create portainer.yaml New app portainer similar to Coolify, all tested, healthchecks works... --- templates/compose/portainer.yaml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 templates/compose/portainer.yaml diff --git a/templates/compose/portainer.yaml b/templates/compose/portainer.yaml new file mode 100644 index 000000000..e12cb2111 --- /dev/null +++ b/templates/compose/portainer.yaml @@ -0,0 +1,13 @@ +services: + portainer: + image: 'portainer/portainer-ce:alpine' + environment: + - SERVICE_FQDN_PORTAINER_9000 + volumes: + - '/var/run/docker.sock:/var/run/docker.sock' + - 'portainer_data:/data' + healthcheck: + test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:9000/"] + interval: 20s + timeout: 20s + retries: 10 From c4eaef4295c556857af779b4efa73893c3a21eaa Mon Sep 17 00:00:00 2001 From: che0one <167894882+che0one@users.noreply.github.com> Date: Sun, 3 Nov 2024 00:08:51 +0400 Subject: [PATCH 13/13] Update hoppscotch.yaml username expose fixed --- templates/compose/hoppscotch.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/compose/hoppscotch.yaml b/templates/compose/hoppscotch.yaml index 0f5cfdd9c..2b27fcefd 100644 --- a/templates/compose/hoppscotch.yaml +++ b/templates/compose/hoppscotch.yaml @@ -31,7 +31,7 @@ services: - 'MICROSOFT_TENANT=common' - 'MAILER_SMTP_ENABLE=${MAILER_SMTP_ENABLE:-false}' - 'MAILER_USE_CUSTOM_CONFIGS=${MAILER_USE_CUSTOM_CONFIGS:-true}' - - 'MAILER_ADDRESS_FROM=${MAILER_ADDRESS_FROM:-samirqlvdev@example.com}' + - 'MAILER_ADDRESS_FROM=${MAILER_ADDRESS_FROM:-user@example.com}' - 'MAILER_SMTP_URL=${MAILER_SMTP_URL:-smtps_url}' - 'MAILER_SMTP_HOST=${MAILER_SMTP_HOST:-smtp.example.com}' - 'MAILER_SMTP_PORT=${MAILER_SMTP_PORT:-465}'