From e329026a7f9dcd24036f6ce43b7d0590799c91b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=F0=9F=8F=94=EF=B8=8F=20Peak?= <122374094+peaklabs-dev@users.noreply.github.com> Date: Thu, 10 Oct 2024 13:28:15 +0200 Subject: [PATCH] Revert "Feat: New services part 3" --- config/sentry.php | 1 + config/version.php | 1 + public/svgs/affine.svg | 88 ----------------- public/svgs/cloudbeaver.svg | 7 -- public/svgs/cryptgeon.png | Bin 77470 -> 0 bytes public/svgs/flowise.png | Bin 7230 -> 0 bytes public/svgs/freshrss.png | Bin 14801 -> 0 bytes public/svgs/homebox.svg | 11 --- public/svgs/immich.svg | 66 ------------- public/svgs/kimai.svg | 67 ------------- public/svgs/libretranslate.svg | 1 - public/svgs/ntfy.svg | 1 - public/svgs/owncloud.svg | 84 ---------------- public/svgs/qbittorrent.svg | 16 --- public/svgs/traccar.png | Bin 22009 -> 0 bytes public/svgs/unsend.svg | 13 --- public/svgs/vvveb.svg | 1 - templates/compose/affine.yaml | 75 --------------- templates/compose/cloudbeaver.yaml | 18 ---- templates/compose/cryptgeon.yaml | 41 -------- templates/compose/flowise-with-databases.yaml | 91 ------------------ templates/compose/flowise.yaml | 35 ------- templates/compose/freshrss-with-mariadb.yaml | 41 -------- templates/compose/freshrss-with-mysql.yaml | 41 -------- .../compose/freshrss-with-postgresql.yaml | 41 -------- templates/compose/freshrss.yaml | 20 ---- templates/compose/glitchtip.yaml | 25 ++--- templates/compose/homebox.yaml | 21 ---- templates/compose/immich.yaml | 76 --------------- templates/compose/kimai.yaml | 44 --------- templates/compose/libretranslate.yaml | 19 ---- templates/compose/nextcloud-with-mariadb.yaml | 61 ------------ templates/compose/nextcloud-with-mysql.yaml | 61 ------------ .../compose/nextcloud-with-postgres.yaml | 60 ------------ templates/compose/nextcloud.yaml | 5 +- templates/compose/ntfy.yaml | 46 --------- templates/compose/owncloud.yaml | 73 -------------- templates/compose/plausible.yaml | 4 +- templates/compose/qbittorrent.yaml | 48 --------- templates/compose/traccar.yaml | 50 ---------- templates/compose/unsend.yaml | 60 ------------ templates/compose/vvveb-with-mariadb.yaml | 41 -------- templates/compose/vvveb-with-mysql.yaml | 41 -------- templates/compose/vvveb.yaml | 18 ---- versions.json | 5 +- 45 files changed, 16 insertions(+), 1502 deletions(-) delete mode 100644 public/svgs/affine.svg delete mode 100644 public/svgs/cloudbeaver.svg delete mode 100644 public/svgs/cryptgeon.png delete mode 100644 public/svgs/flowise.png delete mode 100644 public/svgs/freshrss.png delete mode 100644 public/svgs/homebox.svg delete mode 100644 public/svgs/immich.svg delete mode 100644 public/svgs/kimai.svg delete mode 100644 public/svgs/libretranslate.svg delete mode 100644 public/svgs/ntfy.svg delete mode 100644 public/svgs/owncloud.svg delete mode 100644 public/svgs/qbittorrent.svg delete mode 100644 public/svgs/traccar.png delete mode 100644 public/svgs/unsend.svg delete mode 100644 public/svgs/vvveb.svg delete mode 100644 templates/compose/affine.yaml delete mode 100644 templates/compose/cloudbeaver.yaml delete mode 100644 templates/compose/cryptgeon.yaml delete mode 100644 templates/compose/flowise-with-databases.yaml delete mode 100644 templates/compose/flowise.yaml delete mode 100644 templates/compose/freshrss-with-mariadb.yaml delete mode 100644 templates/compose/freshrss-with-mysql.yaml delete mode 100644 templates/compose/freshrss-with-postgresql.yaml delete mode 100644 templates/compose/freshrss.yaml delete mode 100644 templates/compose/homebox.yaml delete mode 100644 templates/compose/immich.yaml delete mode 100644 templates/compose/kimai.yaml delete mode 100644 templates/compose/libretranslate.yaml delete mode 100644 templates/compose/nextcloud-with-mariadb.yaml delete mode 100644 templates/compose/nextcloud-with-mysql.yaml delete mode 100644 templates/compose/nextcloud-with-postgres.yaml delete mode 100644 templates/compose/ntfy.yaml delete mode 100644 templates/compose/owncloud.yaml delete mode 100644 templates/compose/qbittorrent.yaml delete mode 100644 templates/compose/traccar.yaml delete mode 100644 templates/compose/unsend.yaml delete mode 100644 templates/compose/vvveb-with-mariadb.yaml delete mode 100644 templates/compose/vvveb-with-mysql.yaml delete mode 100644 templates/compose/vvveb.yaml diff --git a/config/sentry.php b/config/sentry.php index 2fed52ef02..b7e230e716 100644 --- a/config/sentry.php +++ b/config/sentry.php @@ -8,6 +8,7 @@ // The release version of your application // Example with dynamic git hash: trim(exec('git --git-dir ' . base_path('.git') . ' log --pretty="%h" -n1 HEAD')) 'release' => '4.0.0-beta.358', + // When left empty or `null` the Laravel environment will be used 'environment' => config('app.env'), diff --git a/config/version.php b/config/version.php index 82b1479afe..a89343eb97 100644 --- a/config/version.php +++ b/config/version.php @@ -1,3 +1,4 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/public/svgs/cloudbeaver.svg b/public/svgs/cloudbeaver.svg deleted file mode 100644 index 4a76347669..0000000000 --- a/public/svgs/cloudbeaver.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/public/svgs/cryptgeon.png b/public/svgs/cryptgeon.png deleted file mode 100644 index be121cfd082f63e4599a0a5ad11577a0d959c0a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77470 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 Y4s7b#`uKB?akabW?e0se+#YuP|4}xp9RL6T diff --git a/public/svgs/flowise.png b/public/svgs/flowise.png deleted file mode 100644 index 6b0be0d2a7f4fbffb3f9eea9f938f8c3460c0b7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7230 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 VHBCY=|9rtaTI%|0wW_b9{|7Qx<|P0C diff --git a/public/svgs/freshrss.png b/public/svgs/freshrss.png deleted file mode 100644 index d1a75118f93d05313314f65764102669bafc4566..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14801 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 - - - - - - - - - - diff --git a/public/svgs/immich.svg b/public/svgs/immich.svg deleted file mode 100644 index 9d844a772b..0000000000 --- a/public/svgs/immich.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/public/svgs/kimai.svg b/public/svgs/kimai.svg deleted file mode 100644 index 35b1469726..0000000000 --- a/public/svgs/kimai.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/public/svgs/libretranslate.svg b/public/svgs/libretranslate.svg deleted file mode 100644 index 103d47d609..0000000000 --- a/public/svgs/libretranslate.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/public/svgs/ntfy.svg b/public/svgs/ntfy.svg deleted file mode 100644 index 9e5b5136fd..0000000000 --- a/public/svgs/ntfy.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/public/svgs/owncloud.svg b/public/svgs/owncloud.svg deleted file mode 100644 index 83631e3f5d..0000000000 --- a/public/svgs/owncloud.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/public/svgs/qbittorrent.svg b/public/svgs/qbittorrent.svg deleted file mode 100644 index 69d8cf62ae..0000000000 --- a/public/svgs/qbittorrent.svg +++ /dev/null @@ -1,16 +0,0 @@ - - - qbittorrent-new-light - - - - - - - - - - - - - \ No newline at end of file diff --git a/public/svgs/traccar.png b/public/svgs/traccar.png deleted file mode 100644 index c747aea05407bc78019b28dbb5cec82ac73f872c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22009 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 F{{m9gF)#oC diff --git a/public/svgs/unsend.svg b/public/svgs/unsend.svg deleted file mode 100644 index f5ff6fabc6..0000000000 --- a/public/svgs/unsend.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/public/svgs/vvveb.svg b/public/svgs/vvveb.svg deleted file mode 100644 index 2b66b3087b..0000000000 --- a/public/svgs/vvveb.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/templates/compose/affine.yaml b/templates/compose/affine.yaml deleted file mode 100644 index 97be09cdb5..0000000000 --- a/templates/compose/affine.yaml +++ /dev/null @@ -1,75 +0,0 @@ -# documentation: https://docs.affine.pro/docs/self-host-affine -# slogan: Affine is an open-source, all-in-one workspace and OS for knowledge management, a Notion/Miro alternative. -# tags: knowledge-management,notion,miro,workspace -# logo: svgs/affine.svg -# port: 3010 - -services: - affine: - image: ghcr.io/toeverything/affine-graphql:stable - command: - - sh - - '-c' - - 'node ./scripts/self-host-predeploy && node ./dist/index.js' - depends_on: - redis: - condition: service_healthy - postgres: - condition: service_healthy - volumes: - - affine-config:/root/.affine/config - - affine-storage:/root/.affine/storage - logging: - driver: json-file - options: - max-size: 1000m - environment: - - SERVICE_FQDN_AFFINE_3010 - - NODE_OPTIONS=--import=./scripts/register.js - - AFFINE_CONFIG_PATH=/root/.affine/config - - REDIS_SERVER_HOST=redis - - DATABASE_URL=postgres://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@postgres:5432/${POSTGRES_DB:-affine} - - NODE_ENV=production - - AFFINE_SERVER_HOST=$SERVICE_FQDN_AFFINE - - AFFINE_SERVER_EXTERNAL_URL=$SERVICE_FQDN_AFFINE - - MAILER_HOST=${MAILER_HOST} - - MAILER_PORT=${MAILER_PORT} - - MAILER_USER=${MAILER_USER} - - MAILER_PASSWORD=${MAILER_PASSWORD} - - MAILER_SENDER=${MAILER_SENDER} - healthcheck: - test: ["CMD-SHELL", "bash -c ':> /dev/tcp/127.0.0.1/3010' || exit 1"] - interval: 5s - timeout: 20s - retries: 3 - - redis: - image: redis - volumes: - - affine-redis-data:/data - healthcheck: - test: - - CMD - - redis-cli - - '--raw' - - incr - - ping - interval: 10s - timeout: 5s - retries: 5 - postgres: - image: postgres:16 - volumes: - - affine-postgres-data:/var/lib/postgresql/data - healthcheck: - test: - - CMD-SHELL - - 'pg_isready -U affine' - interval: 10s - timeout: 5s - retries: 5 - environment: - - POSTGRES_USER=${SERVICE_USER_POSTGRES} - - POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES} - - POSTGRES_DB=${POSTGRES_DB:-affine} - - PGDATA=/var/lib/postgresql/data/pgdata diff --git a/templates/compose/cloudbeaver.yaml b/templates/compose/cloudbeaver.yaml deleted file mode 100644 index a21b004530..0000000000 --- a/templates/compose/cloudbeaver.yaml +++ /dev/null @@ -1,18 +0,0 @@ -# documentation: https://dbeaver.com/docs/cloudbeaver/ -# slogan: CloudBeaver is a lightweight web application designed for comprehensive data management. -# tags: dbeaver, data management, data, database, mysql, postgres, sqlite, sql, mongodb -# logo: svgs/cloudbeaver.svg -# port: 8978 - -services: - cloudbeaver: - image: dbeaver/cloudbeaver:24 - volumes: - - cloudbeaver-data:/opt/cloudbeaver/workspace - environment: - - SERVICE_FQDN_CLOUDBEAVER_8978 - healthcheck: - test: ["CMD", "wget", "-q", "--spider", "http://127.0.0.1:8978/"] - interval: 5s - timeout: 20s - retries: 10 diff --git a/templates/compose/cryptgeon.yaml b/templates/compose/cryptgeon.yaml deleted file mode 100644 index 942b1601c6..0000000000 --- a/templates/compose/cryptgeon.yaml +++ /dev/null @@ -1,41 +0,0 @@ -# documentation: https://github.com/cupcakearmy/cryptgeon -# slogan: Secure note / file sharing service inspired by PrivNote. -# tags: cryptgeon, secure, note, sharing, privnote, file, sharing -# logo: svgs/cryptgeon.png -# port: 8000 - -services: - app: - image: cupcakearmy/cryptgeon:latest - environment: - - SERVICE_FQDN_CRYPTGEON_8000 - - SIZE_LIMIT=${SIZE_LIMIT:-4 MiB} - - MAX_VIEWS=${MAX_VIEWS:-100} - - MAX_EXPIRATION=${MAX_EXPIRATION:-360} - - ALLOW_ADVANCED=${ALLOW_ADVANCED:-true} - - ALLOW_FILES=${ALLOW_FILES:-true} - depends_on: - redis: - condition: service_healthy - healthcheck: - test: - - CMD - - curl - - "--fail" - - "http://127.0.0.1:8000/api/live/" - interval: 1m - timeout: 3s - retries: 2 - start_period: 5s - - redis: - image: redis:7-alpine - command: "redis-server --maxmemory 200mb --maxmemory-policy allkeys-lru" - healthcheck: - test: - - CMD - - redis-cli - - PING - interval: 5s - timeout: 10s - retries: 2 diff --git a/templates/compose/flowise-with-databases.yaml b/templates/compose/flowise-with-databases.yaml deleted file mode 100644 index d78079b621..0000000000 --- a/templates/compose/flowise-with-databases.yaml +++ /dev/null @@ -1,91 +0,0 @@ -# documentation: https://docs.flowiseai.com/ -# slogan: Flowise is an open source low-code tool for developers to build customized LLM orchestration flows & AI agents. Also deploys Redis, Postgres and other services. -# tags: lowcode, nocode, ai, llm, openai, anthropic, machine-learning, rag, agents, chatbot, api, team, bot, flows -# logo: svgs/flowise.png -# port: 3001 - -volumes: - flowise_data: - pg_record_manager_data: - redis_cache_data: - qdrant_data: - -services: - flowise: - image: flowiseai/flowise - restart: always - depends_on: - pg_record_manager: - condition: service_healthy - redis_cache: - condition: service_healthy - qdrant: - condition: service_healthy - environment: - - SERVICE_FQDN_FLOWISE_3001 - - DEBUG=false - - DISABLE_FLOWISE_TELEMETRY=true - - PORT=3001 - - DATABASE_PATH=/root/.flowise - - APIKEY_PATH=/root/.flowise - - SECRETKEY_PATH=/root/.flowise - - LOG_PATH=/root/.flowise/logs - - BLOB_STORAGE_PATH=/root/.flowise/storage - - FLOWISE_USERNAME=${SERVICE_USER_FLOWISE} - - FLOWISE_PASSWORD=${SERVICE_PASSWORD_FLOWISE} - volumes: - - flowise_data:/root/.flowise - healthcheck: - test: - - CMD-SHELL - - wget - - --no-verbose - - --tries=1 - - --spider - - http://localhost:3001 - interval: 5s - timeout: 5s - retries: 3 - pg_record_manager: - image: "postgres:16" - restart: always - environment: - - POSTGRES_USER=${SERVICE_USER_POSTGRES} - - POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES} - - POSTGRES_DB=${POSTGRES_DB:-record_manager} - volumes: - - pg_record_manager_data:/var/lib/postgresql/data - healthcheck: - test: - - CMD-SHELL - - "pg_isready -h localhost -U $${POSTGRES_USER} -d $${POSTGRES_DB}" - interval: 5s - timeout: 5s - retries: 3 - redis_cache: - image: "redis:7" - restart: always - volumes: - - redis_cache_data:/data - healthcheck: - test: - - CMD-SHELL - - "redis-cli -h localhost -p 6379 ping" - interval: 5s - timeout: 5s - retries: 3 - qdrant: - image: "qdrant/qdrant:latest" - restart: always - environment: - - SERVICE_FQDN_QDRANT_6333 - - QDRANT__SERVICE__API_KEY=${SERVICE_PASSWORD_QDRANTAPIKEY} - volumes: - - "qdrant_data:/qdrant/storage" - healthcheck: - test: - - CMD-SHELL - - bash -c ':> /dev/tcp/127.0.0.1/6333' || exit 1 - interval: 5s - timeout: 5s - retries: 3 diff --git a/templates/compose/flowise.yaml b/templates/compose/flowise.yaml deleted file mode 100644 index dc5095e1e9..0000000000 --- a/templates/compose/flowise.yaml +++ /dev/null @@ -1,35 +0,0 @@ -# documentation: https://docs.flowiseai.com/ -# slogan: Flowise is an open source low-code tool for developers to build customized LLM orchestration flows & AI agents. -# tags: lowcode, nocode, ai, llm, openai, anthropic, machine-learning, rag, agents, chatbot, api, team, bot, flows -# logo: svgs/flowise.png -# port: 3001 - -services: - flowise: - image: flowiseai/flowise - restart: always - environment: - - SERVICE_FQDN_FLOWISE_3001 - - DEBUG=false - - DISABLE_FLOWISE_TELEMETRY=true - - PORT=3001 - - DATABASE_PATH=/root/.flowise - - APIKEY_PATH=/root/.flowise - - SECRETKEY_PATH=/root/.flowise - - LOG_PATH=/root/.flowise/logs - - BLOB_STORAGE_PATH=/root/.flowise/storage - - FLOWISE_USERNAME=${SERVICE_USER_FLOWISE} - - FLOWISE_PASSWORD=${SERVICE_PASSWORD_FLOWISE} - volumes: - - flowise_data:/root/.flowise - healthcheck: - test: - - CMD-SHELL - - wget - - --no-verbose - - --tries=1 - - --spide - - http://localhost:3001 - interval: 5s - timeout: 5s - retries: 3 diff --git a/templates/compose/freshrss-with-mariadb.yaml b/templates/compose/freshrss-with-mariadb.yaml deleted file mode 100644 index fe066ffb60..0000000000 --- a/templates/compose/freshrss-with-mariadb.yaml +++ /dev/null @@ -1,41 +0,0 @@ -# documentation: https://freshrss.org/index.html -# slogan: A free, self-hostable feed aggregator. -# tags: rss, feed -# logo: svgs/freshrss.png -# port: 80 - -services: - freshrss: - image: freshrss/freshrss:latest - environment: - - SERVICE_FQDN_FRESHRSS_80 - - CRON_MIN=${CRON_MIN:-1,31} - - MARIADB_DB=${MARIADB_DATABASE:-freshrss} - - MARIADB_USER=${SERVICE_USER_MARIADB} - - MARIADB_PASSWORD=${SERVICE_PASSWORD_MARIADB} - volumes: - - freshrss-data:/var/www/FreshRSS/data - - freshrss-extensions:/var/www/FreshRSS/extensions - depends_on: - freshrss-db: - condition: service_healthy - healthcheck: - test: ["CMD-SHELL", "bash -c ':> /dev/tcp/127.0.0.1/80' || exit 1"] - interval: 5s - timeout: 20s - retries: 3 - - freshrss-db: - image: mariadb:11 - volumes: - - mariadb-data:/var/lib/mysql - environment: - - MYSQL_ROOT_PASSWORD=$SERVICE_PASSWORD_ROOT - - MYSQL_DATABASE=${MARIADB_DATABASE:-freshrss} - - MYSQL_USER=${SERVICE_USER_MARIADB} - - MYSQL_PASSWORD=${SERVICE_PASSWORD_MARIADB} - healthcheck: - test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"] - interval: 5s - timeout: 20s - retries: 10 diff --git a/templates/compose/freshrss-with-mysql.yaml b/templates/compose/freshrss-with-mysql.yaml deleted file mode 100644 index ca3726a124..0000000000 --- a/templates/compose/freshrss-with-mysql.yaml +++ /dev/null @@ -1,41 +0,0 @@ -# documentation: https://freshrss.org/index.html -# slogan: A free, self-hostable feed aggregator. -# tags: rss, feed -# logo: svgs/freshrss.png -# port: 80 - -services: - freshrss: - image: freshrss/freshrss:latest - environment: - - SERVICE_FQDN_FRESHRSS_80 - - CRON_MIN=${CRON_MIN:-1,31} - - MYSQL_DB=${MYSQL_DATABASE:-freshrss} - - MYSQL_USER=${SERVICE_USER_MYSQL} - - MYSQL_PASSWORD=${SERVICE_PASSWORD_MYSQL} - volumes: - - freshrss-data:/var/www/FreshRSS/data - - freshrss-extensions:/var/www/FreshRSS/extensions - depends_on: - freshrss-db: - condition: service_healthy - healthcheck: - test: ["CMD-SHELL", "bash -c ':> /dev/tcp/127.0.0.1/80' || exit 1"] - interval: 5s - timeout: 20s - retries: 3 - - freshrss-db: - image: mysql:8 - volumes: - - mysql-data:/var/lib/mysql - environment: - - MYSQL_ROOT_PASSWORD=$SERVICE_PASSWORD_ROOT - - MYSQL_DATABASE=${MYSQL_DATABASE:-freshrss} - - MYSQL_USER=$SERVICE_USER_MYSQL - - MYSQL_PASSWORD=$SERVICE_PASSWORD_MYSQL - healthcheck: - test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1"] - interval: 5s - timeout: 20s - retries: 10 diff --git a/templates/compose/freshrss-with-postgresql.yaml b/templates/compose/freshrss-with-postgresql.yaml deleted file mode 100644 index 8928dfd562..0000000000 --- a/templates/compose/freshrss-with-postgresql.yaml +++ /dev/null @@ -1,41 +0,0 @@ -# documentation: https://freshrss.org/index.html -# slogan: A free, self-hostable feed aggregator. -# tags: rss, feed -# logo: svgs/freshrss.png -# port: 80 - -services: - freshrss: - image: freshrss/freshrss:latest - environment: - - SERVICE_FQDN_FRESHRSS_80 - - CRON_MIN=${CRON_MIN:-1,31} - - POSTGRES_DB=${POSTGRESQL_DATABASE:-freshrss} - - POSTGRES_USER=${SERVICE_USER_POSTGRESQL} - - POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRESQL} - - POSTGRES_HOST=postgresql - volumes: - - freshrss-data:/var/www/FreshRSS/data - - freshrss-extensions:/var/www/FreshRSS/extensions - depends_on: - freshrss-db: - condition: service_healthy - healthcheck: - test: ["CMD-SHELL", "bash -c ':> /dev/tcp/127.0.0.1/80' || exit 1"] - interval: 5s - timeout: 20s - retries: 3 - - freshrss-db: - image: postgres:16 - volumes: - - freshrss-postgresql-data:/var/lib/postgresql/data - environment: - - POSTGRES_USER=${SERVICE_USER_POSTGRESQL} - - POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRESQL} - - POSTGRES_DB=${POSTGRESQL_DATABASE:-freshrss} - healthcheck: - test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"] - interval: 5s - timeout: 20s - retries: 10 diff --git a/templates/compose/freshrss.yaml b/templates/compose/freshrss.yaml deleted file mode 100644 index c481b96d4c..0000000000 --- a/templates/compose/freshrss.yaml +++ /dev/null @@ -1,20 +0,0 @@ -# documentation: https://freshrss.org/index.html -# slogan: A free, self-hostable feed aggregator. -# tags: rss, feed -# logo: svgs/freshrss.png -# port: 80 - -services: - freshrss: - image: freshrss/freshrss:latest - environment: - - SERVICE_FQDN_FRESHRSS_80 - - CRON_MIN=${CRON_MIN:-1,31} - volumes: - - freshrss-data:/var/www/FreshRSS/data - - freshrss-extensions:/var/www/FreshRSS/extensions - healthcheck: - test: ["CMD-SHELL", "bash -c ':> /dev/tcp/127.0.0.1/80' || exit 1"] - interval: 5s - timeout: 20s - retries: 3 diff --git a/templates/compose/glitchtip.yaml b/templates/compose/glitchtip.yaml index 2f0b0100c3..a8e4848b09 100644 --- a/templates/compose/glitchtip.yaml +++ b/templates/compose/glitchtip.yaml @@ -12,13 +12,12 @@ services: - POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRESQL} - POSTGRES_DB=${POSTGRESQL_DATABASE:-glitchtip} volumes: - - glitchtip-postgres-data:/var/lib/postgresql/data + - pg-data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"] interval: 5s timeout: 20s retries: 10 - redis: image: redis healthcheck: @@ -26,14 +25,11 @@ services: interval: 5s timeout: 20s retries: 10 - web: image: glitchtip/glitchtip depends_on: - postgres: - condition: service_healthy - redis: - condition: service_healthy + - postgres + - redis environment: - SERVICE_FQDN_GLITCHTIP_8080 - DATABASE_URL=postgres://$SERVICE_USER_POSTGRESQL:$SERVICE_PASSWORD_POSTGRESQL@postgres:5432/${POSTGRESQL_DATABASE:-glitchtip} @@ -50,16 +46,14 @@ services: interval: 5s timeout: 20s retries: 10 - worker: image: glitchtip/glitchtip command: ./bin/run-celery-with-beat.sh depends_on: - postgres: - condition: service_healthy - redis: - condition: service_healthy + - postgres + - redis environment: + - SERVICE_FQDN_GLITCHTIP - DATABASE_URL=postgres://$SERVICE_USER_POSTGRESQL:$SERVICE_PASSWORD_POSTGRESQL@postgres:5432/${POSTGRESQL_DATABASE:-glitchtip} - SECRET_KEY=$SERVICE_BASE64_64_ENCRYPTION - EMAIL_URL=${EMAIL_URL:-consolemail://} @@ -74,15 +68,12 @@ services: interval: 5s timeout: 20s retries: 10 - migrate: image: glitchtip/glitchtip restart: "no" depends_on: - postgres: - condition: service_healthy - redis: - condition: service_healthy + - postgres + - redis command: "./manage.py migrate" environment: - DATABASE_URL=postgres://$SERVICE_USER_POSTGRESQL:$SERVICE_PASSWORD_POSTGRESQL@postgres:5432/${POSTGRESQL_DATABASE:-glitchtip} diff --git a/templates/compose/homebox.yaml b/templates/compose/homebox.yaml deleted file mode 100644 index f7c09ed310..0000000000 --- a/templates/compose/homebox.yaml +++ /dev/null @@ -1,21 +0,0 @@ -# documentation: https://github.com/hay-kot/homebox -# slogan: Homebox is a self-hosted file management solution. -# tags: homebox,file-management,self-hosted -# logo: svgs/homebox.svg -# port: 7745 - -services: - homebox: - image: ghcr.io/hay-kot/homebox:latest - environment: - - SERVICE_FQDN_HOMEBOX_7745 - - HBOX_LOG_LEVEL=${HBOX_LOG_LEVEL:-info} - - HBOX_LOG_FORMAT=${HBOX_LOG_FORMAT:-text} - - HBOX_WEB_MAX_UPLOAD_SIZE=${HBOX_WEB_MAX_UPLOAD_SIZE:-10} - volumes: - - homebox-data:/data/ - healthcheck: - test: ["CMD", "wget", "-q", "--spider", "http://127.0.0.1:7745"] - interval: 5s - timeout: 20s - retries: 10 diff --git a/templates/compose/immich.yaml b/templates/compose/immich.yaml deleted file mode 100644 index b3525cc585..0000000000 --- a/templates/compose/immich.yaml +++ /dev/null @@ -1,76 +0,0 @@ -# documentation: https://immich.app/docs/overview/introduction -# slogan: Self-hosted photo and video management solution. -# tags: photo,video,management,server,cloud,storage,sharing,metadata,face,recognition -# logo: svgs/immich.svg -# port: 2283 - -services: - immich: - image: ghcr.io/immich-app/immich-server:release - # extends: - # file: hwaccel.transcoding.yml - # service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding - volumes: - - immich-uploads:/usr/src/app/upload - - /etc/localtime:/etc/localtime:ro - environment: - - SERVICE_FQDN_IMMICH_3001 - - UPLOAD_LOCATION=./library - - DB_DATA_LOCATION=./postgres - - DB_PASSWORD=$SERVICE_PASSWORD_POSTGRES - - DB_USERNAME=$SERVICE_USER_POSTGRES - - DB_DATABASE_NAME=${DB_DATABASE_NAME:-immich} - - TZ=${TZ:-Etc/UTC} - depends_on: - redis: - condition: service_healthy - database: - condition: service_healthy - healthcheck: - disable: false - - immich-machine-learning: - container_name: immich_machine_learning - # For hardware acceleration, add one of -[armnn, cuda, openvino] to the image tag. - # Example tag: ${IMMICH_VERSION:-release}-cuda - image: ghcr.io/immich-app/immich-machine-learning:release - # extends: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/ml-hardware-acceleration - # file: hwaccel.ml.yml - # service: cpu # set to one of [armnn, cuda, openvino, openvino-wsl] for accelerated inference - use the `-wsl` version for WSL2 where applicable - volumes: - - immich-model-cache:/cache - environment: - - UPLOAD_LOCATION=./library - - DB_DATA_LOCATION=./postgres - - DB_PASSWORD=$SERVICE_PASSWORD_POSTGRES - - DB_USERNAME=$SERVICE_USER_POSTGRES - - DB_DATABASE_NAME=${DB_DATABASE_NAME:-immich} - - TZ=${TZ:-Etc/UTC} - healthcheck: - disable: false - - redis: - image: redis:7.4-alpine - healthcheck: - test: - - CMD - - redis-cli - - PING - interval: 5s - timeout: 10s - retries: 20 - - database: - image: docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0 - environment: - POSTGRES_PASSWORD: ${SERVICE_PASSWORD_POSTGRES} - POSTGRES_USER: ${SERVICE_USER_POSTGRES} - POSTGRES_DB: ${DB_DATABASE_NAME:-immich} - POSTGRES_INITDB_ARGS: '--data-checksums' - volumes: - - immich-postgres-data:/var/lib/postgresql/data - healthcheck: - test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"] - interval: 5s - timeout: 20s - retries: 10 diff --git a/templates/compose/kimai.yaml b/templates/compose/kimai.yaml deleted file mode 100644 index ba73ba9805..0000000000 --- a/templates/compose/kimai.yaml +++ /dev/null @@ -1,44 +0,0 @@ -# documentation: https://www.kimai.org/ -# slogan: Open source time-tracking app. -# tags: time-tracking, open-source -# logo: svgs/kimai.svg -# port: 8001 - -services: - mysql: - image: mysql:8 - volumes: - - kimai-mysql-data:/var/lib/mysql - environment: - - MYSQL_DATABASE=${MYSQL_DATABASE:-kimai} - - MYSQL_USER=${SERVICE_USER_MYSQL} - - MYSQL_PASSWORD=${SERVICE_PASSWORD_MYSQL} - - MYSQL_ROOT_PASSWORD=${SERVICE_PASSWORD_ROOT} - command: --default-storage-engine innodb - healthcheck: - test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1"] - interval: 5s - timeout: 20s - retries: 10 - kimai: - image: kimai/kimai2:apache-latest - container_name: kimai - depends_on: - mysql: - condition: service_healthy - volumes: - - kimai-data:/opt/kimai/var/data - environment: - - SERVICE_FQDN_KIMAI_8001 - - APP_SECRET=${SERVICE_PASSWORD_APPSECRET} - - MAILER_FROM=${MAILER_FROM:-kimai@example.com} - - MAILER_URL=${MAILER_URL:-null://null} - - ADMINMAIL=${ADMINMAIL:-admin@kimai.local} - - ADMINPASS=${SERVICE_PASSWORD_ADMINPASS} - - DATABASE_URL=mysql://${SERVICE_USER_MYSQL}:${SERVICE_PASSWORD_MYSQL}@mysql/${MYSQL_DATABASE}?charset=utf8mb4&serverVersion=8.3.0 - - TRUSTED_HOSTS=localhost - healthcheck: - test: ["CMD", "curl", "-f", "http://127.0.0.1:8001"] - interval: 2s - timeout: 10s - retries: 15 diff --git a/templates/compose/libretranslate.yaml b/templates/compose/libretranslate.yaml deleted file mode 100644 index 69b9e44667..0000000000 --- a/templates/compose/libretranslate.yaml +++ /dev/null @@ -1,19 +0,0 @@ -# documentation: https://libretranslate.com/docs/ -# slogan: Free and open-source machine translation API, entirely self-hosted. -# tags: translate, api -# logo: svgs/libretranslate.svg -# port: 5000 - -services: - libretranslate: - image: "libretranslate/libretranslate:latest" - environment: - - SERVICE_FQDN_LIBRETRANSLATE_5000 - - LT_SSL=true - - LT_UPDATE_MODELS=true - - LT_LOAD_ONLY=en,es,fr,de,ja - volumes: - - api-keys:/app/db - - models:/home/libretranslate/.local - healthcheck: - test: ["CMD-SHELL", "./venv/bin/python scripts/healthcheck.py"] diff --git a/templates/compose/nextcloud-with-mariadb.yaml b/templates/compose/nextcloud-with-mariadb.yaml deleted file mode 100644 index 5cab4f0bbc..0000000000 --- a/templates/compose/nextcloud-with-mariadb.yaml +++ /dev/null @@ -1,61 +0,0 @@ -# documentation: https://docs.nextcloud.com -# slogan: NextCloud is a self-hosted, open-source platform that provides file storage, collaboration, and communication tools for seamless data management. -# tags: cloud, collaboration, communication, filestorage, data -# logo: svgs/nextcloud.svg -# port: 80 - -services: - nextcloud: - image: lscr.io/linuxserver/nextcloud:latest - environment: - - SERVICE_FQDN_NEXTCLOUD_80 - - PUID=1000 - - PGID=1000 - - TZ=${TZ:-Europe/Paris} - - MYSQL_DATABASE=${MARIADB_DATABASE:-nextcloud} - - MYSQL_USER=${SERVICE_USER_MARIADB} - - MYSQL_PASSWORD=${SERVICE_PASSWORD_MARIADB} - - MYSQL_HOST=nextcloud-db - - REDIS_HOST=redis - - REDIS_PORT=6379 - volumes: - - nextcloud-config:/config - - nextcloud-data:/data - depends_on: - nextcloud-db: - condition: service_healthy - redis: - condition: service_healthy - healthcheck: - test: ["CMD", "curl", "-f", "http://127.0.0.1:80"] - interval: 2s - timeout: 10s - retries: 15 - - nextcloud-db: - image: mariadb:11 - volumes: - - nextcloud-mariadb-data:/var/lib/mysql - environment: - - MYSQL_ROOT_PASSWORD=${SERVICE_PASSWORD_ROOT} - - MYSQL_DATABASE=${MARIADB_DATABASE:-nextcloud} - - MYSQL_USER=${SERVICE_USER_MARIADB} - - MYSQL_PASSWORD=${SERVICE_PASSWORD_MARIADB} - healthcheck: - test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"] - interval: 5s - timeout: 20s - retries: 10 - - redis: - image: "redis:7.4-alpine" - volumes: - - "nextcloud-redis-data:/data" - healthcheck: - test: - - CMD - - redis-cli - - PING - interval: 5s - timeout: 10s - retries: 20 diff --git a/templates/compose/nextcloud-with-mysql.yaml b/templates/compose/nextcloud-with-mysql.yaml deleted file mode 100644 index f8f6b972fa..0000000000 --- a/templates/compose/nextcloud-with-mysql.yaml +++ /dev/null @@ -1,61 +0,0 @@ -# documentation: https://docs.nextcloud.com -# slogan: NextCloud is a self-hosted, open-source platform that provides file storage, collaboration, and communication tools for seamless data management. -# tags: cloud, collaboration, communication, filestorage, data -# logo: svgs/nextcloud.svg -# port: 80 - -services: - nextcloud: - image: lscr.io/linuxserver/nextcloud:latest - environment: - - SERVICE_FQDN_NEXTCLOUD_80 - - PUID=1000 - - PGID=1000 - - TZ=${TZ:-Europe/Paris} - - MYSQL_DATABASE=${MYSQL_DATABASE:-nextcloud} - - MYSQL_USER=${SERVICE_USER_MYSQL} - - MYSQL_PASSWORD=${SERVICE_PASSWORD_MYSQL} - - MYSQL_HOST=nextcloud-db - - REDIS_HOST=redis - - REDIS_PORT=6379 - volumes: - - nextcloud-config:/config - - nextcloud-data:/data - depends_on: - nextcloud-db: - condition: service_healthy - redis: - condition: service_healthy - healthcheck: - test: ["CMD", "curl", "-f", "http://127.0.0.1:80"] - interval: 2s - timeout: 10s - retries: 15 - - nextcloud-db: - image: mysql:8.4.2 - volumes: - - nextcloud-mysql-data:/var/lib/mysql - environment: - - MYSQL_ROOT_PASSWORD=${SERVICE_PASSWORD_ROOT} - - MYSQL_DATABASE=${MYSQL_DATABASE:-nextcloud} - - MYSQL_USER=${SERVICE_USER_MYSQL} - - MYSQL_PASSWORD=${SERVICE_PASSWORD_MYSQL} - healthcheck: - test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1"] - interval: 5s - timeout: 20s - retries: 10 - - redis: - image: "redis:7.4-alpine" - volumes: - - "nextcloud-redis-data:/data" - healthcheck: - test: - - CMD - - redis-cli - - PING - interval: 5s - timeout: 10s - retries: 20 diff --git a/templates/compose/nextcloud-with-postgres.yaml b/templates/compose/nextcloud-with-postgres.yaml deleted file mode 100644 index 503fb4b826..0000000000 --- a/templates/compose/nextcloud-with-postgres.yaml +++ /dev/null @@ -1,60 +0,0 @@ -# documentation: https://docs.nextcloud.com -# slogan: NextCloud is a self-hosted, open-source platform that provides file storage, collaboration, and communication tools for seamless data management. -# tags: cloud, collaboration, communication, filestorage, data -# logo: svgs/nextcloud.svg -# port: 80 - -services: - nextcloud: - image: lscr.io/linuxserver/nextcloud:latest - environment: - - SERVICE_FQDN_NEXTCLOUD_80 - - PUID=1000 - - PGID=1000 - - TZ=${TZ:-Europe/Paris} - - POSTGRES_DB=${POSTGRES_DB:-nextcloud} - - POSTGRES_USER=${SERVICE_USER_POSTGRES} - - POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES} - - POSTGRES_HOST=nextcloud-db - - REDIS_HOST=redis - - REDIS_PORT=6379 - volumes: - - nextcloud-config:/config - - nextcloud-data:/data - depends_on: - nextcloud-db: - condition: service_healthy - redis: - condition: service_healthy - healthcheck: - test: ["CMD", "curl", "-f", "http://127.0.0.1:80"] - interval: 2s - timeout: 10s - retries: 15 - - nextcloud-db: - image: postgres:16-alpine - volumes: - - nextcloud-postgresql-data:/var/lib/postgresql/data - environment: - - POSTGRES_USER=${SERVICE_USER_POSTGRES} - - POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES} - - POSTGRES_DB=${POSTGRES_DB:-nextcloud} - healthcheck: - test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"] - interval: 5s - timeout: 20s - retries: 10 - - redis: - image: "redis:7.4-alpine" - volumes: - - "nextcloud-redis-data:/data" - healthcheck: - test: - - CMD - - redis-cli - - PING - interval: 5s - timeout: 10s - retries: 20 diff --git a/templates/compose/nextcloud.yaml b/templates/compose/nextcloud.yaml index d0b2c2a593..33858ee15a 100644 --- a/templates/compose/nextcloud.yaml +++ b/templates/compose/nextcloud.yaml @@ -2,16 +2,15 @@ # slogan: NextCloud is a self-hosted, open-source platform that provides file storage, collaboration, and communication tools for seamless data management. # tags: cloud, collaboration, communication, filestorage, data # logo: svgs/nextcloud.svg -# port: 80 services: nextcloud: image: lscr.io/linuxserver/nextcloud:latest environment: - - SERVICE_FQDN_NEXTCLOUD_80 + - SERVICE_FQDN_NEXTCLOUD - PUID=1000 - PGID=1000 - - TZ=${TZ:-Europe/Madrid} + - TZ=Europe/Madrid volumes: - nextcloud-config:/config - nextcloud-data:/data diff --git a/templates/compose/ntfy.yaml b/templates/compose/ntfy.yaml deleted file mode 100644 index 47b66a1247..0000000000 --- a/templates/compose/ntfy.yaml +++ /dev/null @@ -1,46 +0,0 @@ -# documentation: https://docs.ntfy.sh/ -# slogan: ntfy is a simple HTTP-based pub-sub notification service. It allows you to send notifications to your phone or desktop via scripts from any computer, and/or using a REST API. -# tags: ntfy, notification, push notification, pub-sub, notify -# logo: svgs/ntfy.svg -# port: 80 - -services: - ntfy: - image: binwiederhier/ntfy - command: - - serve - environment: - - SERVICE_FQDN_NTFY_80 - - NTFY_BASE_URL=${SERVICE_FQDN_NTFY} - - TZ=${TZ:-UTC} - - NTFY_CACHE_FILE=/var/cache/ntfy/cache.db - - NTFY_AUTH_FILE=/var/lib/ntfy/auth.db - - NTFY_UPSTREAM_BASE_URL=${UPSTREAM_BASE_URL:-https://ntfy.sh} - - NTFY_ENABLE_SIGNUP=${NTFY_ENABLE_SIGNUP:-true} - - NTFY_ENABLE_LOGIN=${NTFY_ENABLE_LOGIN:-true} - - NTFY_CACHE_DURATION=${NTFY_CACHE_DURATION:-24h} - - NTFY_ATTACHMENT_TOTAL_SIZE_LIMIT=${NTFY_ATTACHMENT_TOTAL_SIZE_LIMIT:-1G} - - NTFY_ATTACHMENT_FILE_SIZE_LIMIT=${NTFY_ATTACHMENT_FILE_SIZE_LIMIT:-10M} - - NTFY_ATTACHMENT_EXPIRY_DURATION=${NTFY_ATTACHMENT_EXPIRY_DURATION:-24h} - - NTFY_SMTP_SENDER_ADDR=${NTFY_SMTP_SENDER_ADDR:-smtp.your-domain.de} - - NTFY_SMTP_SENDER_USER=${NTFY_SMTP_SENDER_USER:-no-reply@de} - - NTFY_SMTP_SENDER_PASS=${NTFY_SMTP_SENDER_PASS:-password} - - NTFY_SMTP_SENDER_FROM=${NTFY_SMTP_SENDER_FROM:-no-reply@de} - - NTFY_KEEPALIVE_INTERVAL=${NTFY_KEEPALIVE_INTERVAL:-5m} - - NTFY_MANAGER_INTERVAL=${NTFY_MANAGER_INTERVAL:-5m} - - NTFY_VISITOR_MESSAGE_DAILY_LIMIT=${NTFY_VISITOR_MESSAGE_DAILY_LIMIT:-100} - - NTFY_VISITOR_ATTACHMENT_DAILY_BANDWIDTH_LIMIT=${NTFY_VISITOR_ATTACHMENT_DAILY_BANDWIDTH_LIMIT:-1G} - - NTFY_UPSTREAM_ACCESS_TOKEN=${UPSTREAM_ACCESS_TOKEN} - - NTFY_AUTH_DEFAULT_ACCESS=${NTFY_AUTH_DEFAULT_ACCESS:-read-write} - - NTFY_WEB_PUSH_PUBLIC_KEY=${NTFY_WEB_PUSH_PUBLIC_KEY} - - NTFY_WEB_PUSH_PRIVATE_KEY=${NTFY_WEB_PUSH_PRIVATE_KEY} - - NTFY_WEB_PUSH_EMAIL_ADDRESS=${NTFY_WEB_PUSH_EMAIL_ADDRESS} - volumes: - - ntfy-cache:/var/cache/ntfy - - ntfy-db:/var/lib/ntfy/ - healthcheck: - test: ["CMD-SHELL", "wget -q --tries=1 http://localhost:80/v1/health -O - | grep -Eo '\"healthy\"\\s*:\\s*true' || exit 1"] - interval: 60s - timeout: 10s - retries: 3 - start_period: 40s diff --git a/templates/compose/owncloud.yaml b/templates/compose/owncloud.yaml deleted file mode 100644 index 6c29ddbe77..0000000000 --- a/templates/compose/owncloud.yaml +++ /dev/null @@ -1,73 +0,0 @@ -# ignore: true -# documentation: https://owncloud.com/docs -# slogan: OwnCloud with Open Web UI integrates file management with a powerful, user-friendly interface. -# tags: owncloud,file-management,open-web-ui,integration,cloud -# logo: svgs/owncloud.svg -# port: 8080 - -services: - owncloud: - image: owncloud/server:latest - depends_on: - mariadb: - condition: service_healthy - redis: - condition: service_healthy - environment: - - SERVICE_FQDN_OWNCLOUD_8080 - - OWNCLOUD_DOMAIN=${SERVICE_FQDN_OWNCLOUD} - - OWNCLOUD_TRUSTED_DOMAINS=${SERVICE_FQDN_OWNCLOUD} # This is a comma separated list of domains that are trusted by the server (No Protocol) - - OWNCLOUD_DB_TYPE=mysql - - OWNCLOUD_DB_HOST=mariadb - - OWNCLOUD_DB_NAME=${DB_NAME:-owncloud} - - OWNCLOUD_DB_USERNAME=${SERVICE_USER_MARIADB} - - OWNCLOUD_DB_PASSWORD=${SERVICE_PASSWORD_MARIADB} - - OWNCLOUD_ADMIN_USERNAME=${SERVICE_USER_OWNCLOUD} - - OWNCLOUD_ADMIN_PASSWORD=${SERVICE_PASSWORD_OWNCLOUD} - - OWNCLOUD_MYSQL_UTF8MB4=${MYSQL_UTF8MB4:-true} - - OWNCLOUD_REDIS_ENABLED=${REDIS_ENABLED:-true} - - OWNCLOUD_REDIS_HOST=redis - healthcheck: - test: - - CMD - - /usr/bin/healthcheck - interval: 30s - timeout: 10s - retries: 5 - volumes: - - owncloud-data:/mnt/data - - mariadb: - image: mariadb:latest - environment: - - MYSQL_ROOT_PASSWORD=${SERVICE_PASSWORD_MARIADBROOT} - - MYSQL_USER=${SERVICE_USER_MARIADB} - - MYSQL_PASSWORD=${SERVICE_PASSWORD_MARIADB} - - MYSQL_DATABASE=${DB_NAME:-owncloud} - - TZ=auto - command: - - "--character-set-server=utf8mb4" - - "--collation-server=utf8mb4_bin" - - "--max-allowed-packet=128M" - - "--innodb-log-file-size=64M" - healthcheck: - test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"] - interval: 5s - timeout: 20s - retries: 10 - volumes: - - owncloud-mysql-data:/var/lib/mysql - - redis: - image: redis:6 - command: - - "--databases" - - "1" - healthcheck: - test: - - CMD - - redis-cli - - ping - interval: 10s - timeout: 5s - retries: 5 diff --git a/templates/compose/plausible.yaml b/templates/compose/plausible.yaml index e02e92d389..7db12cb005 100644 --- a/templates/compose/plausible.yaml +++ b/templates/compose/plausible.yaml @@ -6,7 +6,7 @@ services: plausible: - image: "ghcr.io/plausible/community-edition:v2.1.4" + image: "ghcr.io/plausible/community-edition:v2.1" command: 'sh -c "sleep 10 && /entrypoint.sh db createdb && /entrypoint.sh db migrate && /entrypoint.sh run"' environment: - SERVICE_FQDN_PLAUSIBLE @@ -22,7 +22,7 @@ services: image: bytemark/smtp plausible_db: - image: "postgres:16-alpine" + image: "postgres:14-alpine" volumes: - "db-data:/var/lib/postgresql/data" environment: diff --git a/templates/compose/qbittorrent.yaml b/templates/compose/qbittorrent.yaml deleted file mode 100644 index f7a4ad878f..0000000000 --- a/templates/compose/qbittorrent.yaml +++ /dev/null @@ -1,48 +0,0 @@ -# documentation: https://docs.linuxserver.io/images/docker-qbittorrent/ -# slogan: The qBittorrent project aims to provide an open-source software alternative to μTorrent. -# tags: torrent, streaming, webui -# logo: svgs/qbittorrent.svg -# port: 8080 - -services: - qbit: - image: "lscr.io/linuxserver/qbittorrent:latest" - environment: - - WEBUI_PORT=${WEBUI_PORT:-8080} - - PUID=1000 - - PGID=1000 - volumes: - - qbittorrent-config:/config - - qbittorrent-downloads:/downloads - - qbittorrent-torrents:/torrents - healthcheck: - test: - - CMD - - wget - - "-q" - - "--spider" - - "http://127.0.0.1:8080/" - interval: 5s - timeout: 20s - retries: 10 - - vuetorrent-backend: - image: "ghcr.io/vuetorrent/vuetorrent-backend:latest" - environment: - - SERVICE_FQDN_QBITORRENT_8080 - - PORT=${WEBUI_PORT:-8080} - - QBIT_BASE=${SERVICE_FQDN_QBITORRENT} - - RELEASE_TYPE=${RELEASE_TYPE:-stable} - - UPDATE_VT_CRON=${UPDATE_VT_CRON:-"0 * * * *"} - volumes: - - vuetorrent-config:/config - healthcheck: - test: - - CMD - - wget - - "-q" - - "--spider" - - "http://127.0.0.1:8080/" - interval: 5s - timeout: 20s - retries: 10 diff --git a/templates/compose/traccar.yaml b/templates/compose/traccar.yaml deleted file mode 100644 index 5aa0887fe9..0000000000 --- a/templates/compose/traccar.yaml +++ /dev/null @@ -1,50 +0,0 @@ -# documentation: https://www.traccar.org/documentation/ -# slogan: Traccar is a free and open source modern GPS tracking system. -# tags: traccar,gps,tracking,open,source -# logo: svgs/traccar.png -# port: 8082 - -services: - traccar: - image: traccar/traccar:latest - environment: - - SERVICE_FQDN_TRACCAR_8082 - - SERVICE_FQDN_TRACCARAPI_5159 - - CONFIG_USE_ENVIRONMENT_VARIABLES=${CONFIG_USE_ENVIRONMENT_VARIABLES:-true} - - DATABASE_USER=${SERVICE_USER_POSTGRES} - - DATABASE_PASSWORD=${SERVICE_PASSWORD_POSTGRES} - volumes: - - type: bind - source: ./srv/traccar/conf/traccar.xml - target: /opt/traccar/conf/traccar.xml - content: | - - - - ./conf/default.xml - org.postgresql.Driver - jdbc:postgresql://postgres:5432/traccar - - depends_on: - postgres: - condition: service_healthy - healthcheck: - test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://127.0.0.1:8082/ping"] - interval: 30s - timeout: 10s - retries: 3 - start_period: 15s - - postgres: - image: postgres:16-alpine - environment: - - POSTGRES_USER=$SERVICE_USER_POSTGRES - - POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES} - - POSTGRES_DB=${POSTGRESQL_DATABASE:-traccar} - volumes: - - traccar-postgresql-data:/var/lib/postgresql/data/ - healthcheck: - test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"] - interval: 5s - timeout: 20s - retries: 10 diff --git a/templates/compose/unsend.yaml b/templates/compose/unsend.yaml deleted file mode 100644 index 6929e5dc12..0000000000 --- a/templates/compose/unsend.yaml +++ /dev/null @@ -1,60 +0,0 @@ -# documentation: https://docs.unsend.dev/get-started/self-hosting -# slogan: Unsend is an open-source alternative to Resend, Sendgrid, Mailgun and Postmark etc. -# tags: resend, mailer, marketing emails, transaction emails, self-hosting, postmark -# logo: svgs/unsend.svg -# port: 3000 - -services: - postgres: - image: postgres:16 - environment: - - POSTGRES_USER=${SERVICE_USER_POSTGRES} - - POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES} - - POSTGRES_DB=${SERVICE_DB_POSTGRES:-unsend} - healthcheck: - test: ["CMD", "pg_isready", "-U", "${SERVICE_USER_POSTGRES}"] - interval: 10s - timeout: 5s - retries: 5 - volumes: - - unsend-postgres-data:/var/lib/postgresql/data - - redis: - image: redis:7 - volumes: - - unsend-redis-data:/data - command: ["redis-server", "--maxmemory-policy", "noeviction"] - healthcheck: - test: - - CMD - - redis-cli - - PING - interval: 5s - timeout: 10s - retries: 20 - - unsend: - image: unsend/unsend:latest - environment: - - SERVICE_FQDN_UNSEND_3000 - - DATABASE_URL=postgresql://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@postgres:5432/${SERVICE_DB_POSTGRES:-unsend} - - NEXTAUTH_URL=${SERVICE_FQDN_UNSEND} - - NEXTAUTH_SECRET=${SERVICE_BASE64_64_NEXTAUTHSECRET} - - AWS_ACCESS_KEY=${SERVICE_AWS_ACCESS_KEY} - - AWS_SECRET_KEY=${SERVICE_AWS_SECRET_KEY} - - AWS_DEFAULT_REGION=${SERVICE_AWS_DEFAULT_REGION} - - GITHUB_ID=${SERVICE_GITHUB_ID:-1234567890} - - GITHUB_SECRET=${SERVICE_GITHUB_SECRET:-abcde1234567890} - - REDIS_URL=redis://redis:6379 - - NEXT_PUBLIC_IS_CLOUD=${NEXT_PUBLIC_IS_CLOUD:-false} - - API_RATE_LIMIT=${SERVICE_API_RATE_LIMIT:-1} - depends_on: - postgres: - condition: service_healthy - redis: - condition: service_healthy - healthcheck: - test: ["CMD", "curl", "-f", "http://127.0.0.1:3000"] - interval: 2s - timeout: 10s - retries: 15 diff --git a/templates/compose/vvveb-with-mariadb.yaml b/templates/compose/vvveb-with-mariadb.yaml deleted file mode 100644 index a20c70a46f..0000000000 --- a/templates/compose/vvveb-with-mariadb.yaml +++ /dev/null @@ -1,41 +0,0 @@ -# documentation: https://docs.vvveb.com -# slogan: Powerful and easy to use cms to build websites, blogs or ecommerce stores. -# tags: cms, blog, content, management, ecommerce, page-builder, nocode, mysql, sqlite, pgsql -# logo: svgs/vvveb.svg -# port: 80 - -services: - vvveb: - image: vvveb/vvvebcms:latest - volumes: - - vvveb-data:/var/www/html - environment: - - SERVICE_FQDN_VVVEB_80 - - DB_ENGINE=mysqli - - DB_HOST=mariadb - - DB_USER=${SERVICE_USER_VVVEB} - - DB_PASSWORD=${SERVICE_PASSWORD_VVVEB} - - DB_NAME=${MARIADB_DATABASE:-vvveb} - depends_on: - mariadb: - condition: service_healthy - healthcheck: - test: ["CMD", "curl", "-f", "http://127.0.0.1"] - interval: 2s - timeout: 10s - retries: 10 - - mariadb: - image: mariadb:11 - volumes: - - vvveb-mariadb-data:/var/lib/mysql - environment: - - MYSQL_ROOT_PASSWORD=${SERVICE_PASSWORD_ROOT} - - MYSQL_DATABASE=${MARIADB_DATABASE:-vvveb} - - MYSQL_USER=${SERVICE_USER_VVVEB} - - MYSQL_PASSWORD=${SERVICE_PASSWORD_VVVEB} - healthcheck: - test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"] - interval: 5s - timeout: 20s - retries: 10 diff --git a/templates/compose/vvveb-with-mysql.yaml b/templates/compose/vvveb-with-mysql.yaml deleted file mode 100644 index 64b4b264ad..0000000000 --- a/templates/compose/vvveb-with-mysql.yaml +++ /dev/null @@ -1,41 +0,0 @@ -# documentation: https://docs.vvveb.com -# slogan: Powerful and easy to use cms to build websites, blogs or ecommerce stores. -# tags: cms, blog, content, management, ecommerce, page-builder, nocode, mysql, sqlite, pgsql -# logo: svgs/vvveb.svg -# port: 80 - -services: - vvveb: - image: vvveb/vvvebcms:latest - volumes: - - vvveb-data:/var/www/html - environment: - - SERVICE_FQDN_VVVEB_80 - - DB_ENGINE=mysqli - - DB_HOST=mysql - - DB_USER=${SERVICE_USER_VVVEB} - - DB_PASSWORD=${SERVICE_PASSWORD_VVVEB} - - DB_NAME=${MYSQL_DATABASE:-vvveb} - depends_on: - mysql: - condition: service_healthy - healthcheck: - test: ["CMD", "curl", "-f", "http://127.0.0.1"] - interval: 2s - timeout: 10s - retries: 10 - - mysql: - image: mysql:8.4.2 - volumes: - - vvveb-mysql-data:/var/lib/mysql - environment: - - MYSQL_ROOT_PASSWORD=${SERVICE_PASSWORD_ROOT} - - MYSQL_DATABASE=${MYSQL_DATABASE:-vvveb} - - MYSQL_USER=${SERVICE_USER_VVVEB} - - MYSQL_PASSWORD=${SERVICE_PASSWORD_VVVEB} - healthcheck: - test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1"] - interval: 5s - timeout: 20s - retries: 10 diff --git a/templates/compose/vvveb.yaml b/templates/compose/vvveb.yaml deleted file mode 100644 index 11b71a7e9a..0000000000 --- a/templates/compose/vvveb.yaml +++ /dev/null @@ -1,18 +0,0 @@ -# documentation: https://docs.vvveb.com -# slogan: Powerful and easy to use cms to build websites, blogs or ecommerce stores. -# tags: cms, blog, content, management, ecommerce, page-builder, nocode, mysql, sqlite, pgsql -# logo: svgs/vvveb.svg -# port: 80 - -services: - vvveb: - image: vvveb/vvvebcms:latest - volumes: - - vvveb-data:/var/www/html - environment: - - SERVICE_FQDN_VVVEB_80 - healthcheck: - test: ["CMD", "curl", "-f", "http://127.0.0.1"] - interval: 2s - timeout: 10s - retries: 10 diff --git a/versions.json b/versions.json index 8efe02c0a0..4dbe7eb70b 100644 --- a/versions.json +++ b/versions.json @@ -1,11 +1,10 @@ { "coolify": { "v4": { - "version": "4.0.0-beta.357" + "version": "4.0.0-beta.358" }, "nightly": { - "version": "4.0.0-beta.358" - + "version": "4.0.0-beta.359" }, "helper": { "version": "1.0.2"

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