From 4c8ed88c985c1c2884d8249279e20f8c25c81fd3 Mon Sep 17 00:00:00 2001 From: QYG2297248353 Date: Fri, 27 Mar 2026 02:40:54 +0000 Subject: [PATCH] Processed apps directory via GitHub Actions --- appstore/open-webui/{0.8.11 => 0.8.12}/.env | 0 .../open-webui/{0.8.11 => 0.8.12}/data.yml | 0 .../{0.8.11 => 0.8.12}/docker-compose.yml | 2 +- .../{0.8.11 => 0.8.12}/envs/default.env | 0 .../{0.8.11 => 0.8.12}/envs/global.env | 0 .../{0.8.11 => 0.8.12}/scripts/init.sh | 0 .../{0.8.11 => 0.8.12}/scripts/uninstall.sh | 0 .../{0.8.11 => 0.8.12}/scripts/upgrade.sh | 0 .../{1.13.11 => 1.13.12}/.env | 0 .../{1.13.11 => 1.13.12}/data.yml | 0 .../{1.13.11 => 1.13.12}/docker-compose.yml | 2 +- .../{1.13.11 => 1.13.12}/envs/default.env | 0 .../{1.13.11 => 1.13.12}/envs/global.env | 0 .../{1.13.11 => 1.13.12}/scripts/init.sh | 0 .../{1.13.11 => 1.13.12}/scripts/uninstall.sh | 0 .../{1.13.11 => 1.13.12}/scripts/upgrade.sh | 0 .../{1.13.11 => 1.13.12}/.env | 0 .../{1.13.11 => 1.13.12}/data.yml | 0 .../{1.13.11 => 1.13.12}/docker-compose.yml | 2 +- .../{1.13.11 => 1.13.12}/envs/default.env | 0 .../{1.13.11 => 1.13.12}/envs/global.env | 0 .../{1.13.11 => 1.13.12}/scripts/init.sh | 0 .../{1.13.11 => 1.13.12}/scripts/uninstall.sh | 0 .../{1.13.11 => 1.13.12}/scripts/upgrade.sh | 0 dockge/ani-rss/docker-compose.yml | 5 +- .../{ani-rss_1_2_82 => ani-rss_3_0_14}/.env | 0 .../docker-compose.yml | 5 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/archivebox/docker-compose.yml | 24 +- .../.env | 0 .../docker-compose.yml | 24 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/bili-fetcher/docker-compose.yml | 4 +- .../.env | 0 .../config/categories.json | 0 .../config/config.yaml | 0 .../config/scheduler_config.yaml | 0 .../config/sql_statements_mysql.py | 0 .../config/sql_statements_sqlite.py | 0 .../config/template.html | 0 .../docker-compose.yml | 4 +- .../envs/default.env | 0 .../envs/global.env | 0 .../elastic-elasticsearch/docker-compose.yml | 2 +- .../.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/elastic-kibana/docker-compose.yml | 2 +- .../.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/emby-amilys/docker-compose.yml | 2 +- .../.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/emby/docker-compose.yml | 2 +- dockge/{emby_4_9_4_1 => emby_4_8_11_0}/.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/homarr/.env | 2 +- dockge/homarr/docker-compose.yml | 2 +- dockge/{homarr_1_56_1 => homarr_0_16_1}/.env | 2 +- .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/libretv/docker-compose.yml | 2 +- .../.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/mediacms/.env | 8 +- dockge/mediacms/docker-compose.yml | 8 +- .../{mediacms_7_2_0 => mediacms_4_1_0}/.env | 8 +- .../docker-compose.yml | 8 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/minio/.env | 5 +- dockge/minio/docker-compose.yml | 6 +- .../.env | 5 +- .../docker-compose.yml | 6 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/music-tag-web/.env | 2 +- dockge/music-tag-web/docker-compose.yml | 5 +- .../.env | 2 +- .../docker-compose.yml | 5 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/nodepassdash/docker-compose.yml | 2 +- .../.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/open-webui/docker-compose.yml | 2 +- dockge/outline/.env | 70 +- dockge/outline/docker-compose.yml | 5 +- dockge/outline/envs/outline.env | 370 ++++----- dockge/outline_1_2_0/.env | 108 --- dockge/outline_1_2_0/envs/outline.env | 224 ------ dockge/outline_1_6_1/.env | 54 ++ .../docker-compose.yml | 5 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/outline_1_6_1/envs/outline.env | 264 ++++++ dockge/postgresql-postgis/docker-compose.yml | 2 +- .../.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/postgresql/docker-compose.yml | 4 +- .../.env | 0 .../docker-compose.yml | 4 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/qbittorrent/docker-compose.yml | 2 +- .../.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/redis/config/redis.conf | 759 +++++------------- dockge/redis/docker-compose.yml | 2 +- dockge/{redis_6_2_21 => redis_7_4_8}/.env | 0 .../config/redis.conf | 759 +++++++++++++----- .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/rustdesk-api/.env | 2 +- dockge/rustdesk-api/docker-compose.yml | 27 +- .../.env | 2 +- .../conf/hbbr/run | 0 .../conf/hbbs/run | 0 .../docker-compose.yml | 27 +- .../envs/default.env | 0 .../envs/global.env | 0 .../docker-compose.yml | 2 +- dockge/speedtest-tracker/docker-compose.yml | 2 +- dockge/stream-rec-backend/docker-compose.yml | 2 +- .../.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/stream-rec-frontend/docker-compose.yml | 2 +- .../.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/stream-rec/docker-compose.yml | 4 +- .../.env | 0 .../docker-compose.yml | 4 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/umami-mysql/docker-compose.yml | 2 +- .../.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/umami/docker-compose.yml | 2 +- dockge/{umami_3_0_3 => umami_2_16_0}/.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/uptime-kuma/.env | 20 +- dockge/uptime-kuma/docker-compose.yml | 17 +- dockge/uptime-kuma_1_23_17/.env | 12 - dockge/uptime-kuma_2_2_1/.env | 24 + .../docker-compose.yml | 17 +- .../envs/default.env | 0 .../envs/global.env | 0 174 files changed, 1494 insertions(+), 1494 deletions(-) rename appstore/open-webui/{0.8.11 => 0.8.12}/.env (100%) rename appstore/open-webui/{0.8.11 => 0.8.12}/data.yml (100%) rename appstore/open-webui/{0.8.11 => 0.8.12}/docker-compose.yml (91%) rename appstore/open-webui/{0.8.11 => 0.8.12}/envs/default.env (100%) rename appstore/open-webui/{0.8.11 => 0.8.12}/envs/global.env (100%) rename appstore/open-webui/{0.8.11 => 0.8.12}/scripts/init.sh (100%) rename appstore/open-webui/{0.8.11 => 0.8.12}/scripts/uninstall.sh (100%) rename appstore/open-webui/{0.8.11 => 0.8.12}/scripts/upgrade.sh (100%) rename appstore/speedtest-tracker-sqlite/{1.13.11 => 1.13.12}/.env (100%) rename appstore/speedtest-tracker-sqlite/{1.13.11 => 1.13.12}/data.yml (100%) rename appstore/speedtest-tracker-sqlite/{1.13.11 => 1.13.12}/docker-compose.yml (91%) rename appstore/speedtest-tracker-sqlite/{1.13.11 => 1.13.12}/envs/default.env (100%) rename appstore/speedtest-tracker-sqlite/{1.13.11 => 1.13.12}/envs/global.env (100%) rename appstore/speedtest-tracker-sqlite/{1.13.11 => 1.13.12}/scripts/init.sh (100%) rename appstore/speedtest-tracker-sqlite/{1.13.11 => 1.13.12}/scripts/uninstall.sh (100%) rename appstore/speedtest-tracker-sqlite/{1.13.11 => 1.13.12}/scripts/upgrade.sh (100%) rename appstore/speedtest-tracker/{1.13.11 => 1.13.12}/.env (100%) rename appstore/speedtest-tracker/{1.13.11 => 1.13.12}/data.yml (100%) rename appstore/speedtest-tracker/{1.13.11 => 1.13.12}/docker-compose.yml (90%) rename appstore/speedtest-tracker/{1.13.11 => 1.13.12}/envs/default.env (100%) rename appstore/speedtest-tracker/{1.13.11 => 1.13.12}/envs/global.env (100%) rename appstore/speedtest-tracker/{1.13.11 => 1.13.12}/scripts/init.sh (100%) rename appstore/speedtest-tracker/{1.13.11 => 1.13.12}/scripts/uninstall.sh (100%) rename appstore/speedtest-tracker/{1.13.11 => 1.13.12}/scripts/upgrade.sh (100%) rename dockge/{ani-rss_1_2_82 => ani-rss_3_0_14}/.env (100%) rename dockge/{ani-rss_1_2_82 => ani-rss_3_0_14}/docker-compose.yml (90%) rename dockge/{ani-rss_1_2_82 => ani-rss_3_0_14}/envs/default.env (100%) rename dockge/{ani-rss_1_2_82 => ani-rss_3_0_14}/envs/global.env (100%) rename dockge/{archivebox_0_8_5 => archivebox_0_7_3}/.env (100%) rename dockge/{archivebox_0_8_5 => archivebox_0_7_3}/docker-compose.yml (60%) rename dockge/{archivebox_0_8_5 => archivebox_0_7_3}/envs/default.env (100%) rename dockge/{archivebox_0_8_5 => archivebox_0_7_3}/envs/global.env (100%) rename dockge/{bili-fetcher_1_6_9 => bili-fetcher_latest}/.env (100%) rename dockge/{bili-fetcher_1_6_9 => bili-fetcher_latest}/config/categories.json (100%) rename dockge/{bili-fetcher_1_6_9 => bili-fetcher_latest}/config/config.yaml (100%) rename dockge/{bili-fetcher_1_6_9 => bili-fetcher_latest}/config/scheduler_config.yaml (100%) rename dockge/{bili-fetcher_1_6_9 => bili-fetcher_latest}/config/sql_statements_mysql.py (100%) rename dockge/{bili-fetcher_1_6_9 => bili-fetcher_latest}/config/sql_statements_sqlite.py (100%) rename dockge/{bili-fetcher_1_6_9 => bili-fetcher_latest}/config/template.html (100%) rename dockge/{bili-fetcher_1_6_9 => bili-fetcher_latest}/docker-compose.yml (88%) rename dockge/{bili-fetcher_1_6_9 => bili-fetcher_latest}/envs/default.env (100%) rename dockge/{bili-fetcher_1_6_9 => bili-fetcher_latest}/envs/global.env (100%) rename dockge/{elastic-elasticsearch_8_19_13 => elastic-elasticsearch_9_3_2}/.env (100%) rename dockge/{elastic-elasticsearch_8_19_13 => elastic-elasticsearch_9_3_2}/docker-compose.yml (96%) rename dockge/{elastic-elasticsearch_8_19_13 => elastic-elasticsearch_9_3_2}/envs/default.env (100%) rename dockge/{elastic-elasticsearch_8_19_13 => elastic-elasticsearch_9_3_2}/envs/global.env (100%) rename dockge/{elastic-kibana_8_19_13 => elastic-kibana_9_3_2}/.env (100%) rename dockge/{elastic-kibana_8_19_13 => elastic-kibana_9_3_2}/docker-compose.yml (95%) rename dockge/{elastic-kibana_8_19_13 => elastic-kibana_9_3_2}/envs/default.env (100%) rename dockge/{elastic-kibana_8_19_13 => elastic-kibana_9_3_2}/envs/global.env (100%) rename dockge/{emby-amilys_4_9_2_6 => emby-amilys_4_8_11_0}/.env (100%) rename dockge/{emby-amilys_4_9_2_6 => emby-amilys_4_8_11_0}/docker-compose.yml (95%) rename dockge/{emby-amilys_4_9_2_6 => emby-amilys_4_8_11_0}/envs/default.env (100%) rename dockge/{emby-amilys_4_9_2_6 => emby-amilys_4_8_11_0}/envs/global.env (100%) rename dockge/{emby_4_9_4_1 => emby_4_8_11_0}/.env (100%) rename dockge/{emby_4_9_4_1 => emby_4_8_11_0}/docker-compose.yml (96%) rename dockge/{emby_4_9_4_1 => emby_4_8_11_0}/envs/default.env (100%) rename dockge/{emby_4_9_4_1 => emby_4_8_11_0}/envs/global.env (100%) rename dockge/{homarr_1_56_1 => homarr_0_16_1}/.env (67%) rename dockge/{homarr_1_56_1 => homarr_0_16_1}/docker-compose.yml (89%) rename dockge/{homarr_1_56_1 => homarr_0_16_1}/envs/default.env (100%) rename dockge/{homarr_1_56_1 => homarr_0_16_1}/envs/global.env (100%) rename dockge/{libretv_latest => libretv_202508060117}/.env (100%) rename dockge/{libretv_latest => libretv_202508060117}/docker-compose.yml (88%) rename dockge/{libretv_latest => libretv_202508060117}/envs/default.env (100%) rename dockge/{libretv_latest => libretv_202508060117}/envs/global.env (100%) rename dockge/{mediacms_7_2_0 => mediacms_4_1_0}/.env (89%) rename dockge/{mediacms_7_2_0 => mediacms_4_1_0}/docker-compose.yml (93%) rename dockge/{mediacms_7_2_0 => mediacms_4_1_0}/envs/default.env (100%) rename dockge/{mediacms_7_2_0 => mediacms_4_1_0}/envs/global.env (100%) rename dockge/{minio_2025-04-22 => minio_2025-09-07}/.env (86%) rename dockge/{minio_2025-04-22 => minio_2025-09-07}/docker-compose.yml (83%) rename dockge/{minio_2025-04-22 => minio_2025-09-07}/envs/default.env (100%) rename dockge/{minio_2025-04-22 => minio_2025-09-07}/envs/global.env (100%) rename dockge/{music-tag-web_v1 => music-tag-web_2_7_1}/.env (91%) rename dockge/{music-tag-web_v1 => music-tag-web_2_7_1}/docker-compose.yml (87%) rename dockge/{music-tag-web_v1 => music-tag-web_2_7_1}/envs/default.env (100%) rename dockge/{music-tag-web_v1 => music-tag-web_2_7_1}/envs/global.env (100%) rename dockge/{nodepassdash_3_3_1 => nodepassdash_2_2_1}/.env (100%) rename dockge/{nodepassdash_3_3_1 => nodepassdash_2_2_1}/docker-compose.yml (90%) rename dockge/{nodepassdash_3_3_1 => nodepassdash_2_2_1}/envs/default.env (100%) rename dockge/{nodepassdash_3_3_1 => nodepassdash_2_2_1}/envs/global.env (100%) delete mode 100644 dockge/outline_1_2_0/.env delete mode 100644 dockge/outline_1_2_0/envs/outline.env create mode 100644 dockge/outline_1_6_1/.env rename dockge/{outline_1_2_0 => outline_1_6_1}/docker-compose.yml (79%) rename dockge/{outline_1_2_0 => outline_1_6_1}/envs/default.env (100%) rename dockge/{outline_1_2_0 => outline_1_6_1}/envs/global.env (100%) create mode 100644 dockge/outline_1_6_1/envs/outline.env rename dockge/{postgresql-postgis_16-3_5 => postgresql-postgis_16-3_5-alpine}/.env (100%) rename dockge/{postgresql-postgis_16-3_5 => postgresql-postgis_16-3_5-alpine}/docker-compose.yml (93%) rename dockge/{postgresql-postgis_16-3_5 => postgresql-postgis_16-3_5-alpine}/envs/default.env (100%) rename dockge/{postgresql-postgis_16-3_5 => postgresql-postgis_16-3_5-alpine}/envs/global.env (100%) rename dockge/{postgresql_pg14-vectors => postgresql_16_13}/.env (100%) rename dockge/{postgresql_pg14-vectors => postgresql_16_13}/docker-compose.yml (85%) rename dockge/{postgresql_pg14-vectors => postgresql_16_13}/envs/default.env (100%) rename dockge/{postgresql_pg14-vectors => postgresql_16_13}/envs/global.env (100%) rename dockge/{qbittorrent_5_1_4 => qbittorrent_4_6_7}/.env (100%) rename dockge/{qbittorrent_5_1_4 => qbittorrent_4_6_7}/docker-compose.yml (95%) rename dockge/{qbittorrent_5_1_4 => qbittorrent_4_6_7}/envs/default.env (100%) rename dockge/{qbittorrent_5_1_4 => qbittorrent_4_6_7}/envs/global.env (100%) rename dockge/{redis_6_2_21 => redis_7_4_8}/.env (100%) rename dockge/{redis_6_2_21 => redis_7_4_8}/config/redis.conf (72%) rename dockge/{redis_6_2_21 => redis_7_4_8}/docker-compose.yml (94%) rename dockge/{redis_6_2_21 => redis_7_4_8}/envs/default.env (100%) rename dockge/{redis_6_2_21 => redis_7_4_8}/envs/global.env (100%) rename dockge/{rustdesk-api_2_6_29 => rustdesk-api_s6-latest}/.env (97%) rename dockge/{rustdesk-api_2_6_29 => rustdesk-api_s6-latest}/conf/hbbr/run (100%) rename dockge/{rustdesk-api_2_6_29 => rustdesk-api_s6-latest}/conf/hbbs/run (100%) rename dockge/{rustdesk-api_2_6_29 => rustdesk-api_s6-latest}/docker-compose.yml (70%) rename dockge/{rustdesk-api_2_6_29 => rustdesk-api_s6-latest}/envs/default.env (100%) rename dockge/{rustdesk-api_2_6_29 => rustdesk-api_s6-latest}/envs/global.env (100%) rename dockge/{stream-rec-backend_0_7_2 => stream-rec-backend_main}/.env (100%) rename dockge/{stream-rec-backend_0_7_2 => stream-rec-backend_main}/docker-compose.yml (92%) rename dockge/{stream-rec-backend_0_7_2 => stream-rec-backend_main}/envs/default.env (100%) rename dockge/{stream-rec-backend_0_7_2 => stream-rec-backend_main}/envs/global.env (100%) rename dockge/{stream-rec-frontend_0_7_2 => stream-rec-frontend_main}/.env (100%) rename dockge/{stream-rec-frontend_0_7_2 => stream-rec-frontend_main}/docker-compose.yml (87%) rename dockge/{stream-rec-frontend_0_7_2 => stream-rec-frontend_main}/envs/default.env (100%) rename dockge/{stream-rec-frontend_0_7_2 => stream-rec-frontend_main}/envs/global.env (100%) rename dockge/{stream-rec_0_7_2 => stream-rec_main}/.env (100%) rename dockge/{stream-rec_0_7_2 => stream-rec_main}/docker-compose.yml (92%) rename dockge/{stream-rec_0_7_2 => stream-rec_main}/envs/default.env (100%) rename dockge/{stream-rec_0_7_2 => stream-rec_main}/envs/global.env (100%) rename dockge/{umami-mysql_2_20_0 => umami-mysql_2_16_0}/.env (100%) rename dockge/{umami-mysql_2_20_0 => umami-mysql_2_16_0}/docker-compose.yml (91%) rename dockge/{umami-mysql_2_20_0 => umami-mysql_2_16_0}/envs/default.env (100%) rename dockge/{umami-mysql_2_20_0 => umami-mysql_2_16_0}/envs/global.env (100%) rename dockge/{umami_3_0_3 => umami_2_16_0}/.env (100%) rename dockge/{umami_3_0_3 => umami_2_16_0}/docker-compose.yml (90%) rename dockge/{umami_3_0_3 => umami_2_16_0}/envs/default.env (100%) rename dockge/{umami_3_0_3 => umami_2_16_0}/envs/global.env (100%) delete mode 100644 dockge/uptime-kuma_1_23_17/.env create mode 100644 dockge/uptime-kuma_2_2_1/.env rename dockge/{uptime-kuma_1_23_17 => uptime-kuma_2_2_1}/docker-compose.yml (52%) rename dockge/{uptime-kuma_1_23_17 => uptime-kuma_2_2_1}/envs/default.env (100%) rename dockge/{uptime-kuma_1_23_17 => uptime-kuma_2_2_1}/envs/global.env (100%) diff --git a/appstore/open-webui/0.8.11/.env b/appstore/open-webui/0.8.12/.env similarity index 100% rename from appstore/open-webui/0.8.11/.env rename to appstore/open-webui/0.8.12/.env diff --git a/appstore/open-webui/0.8.11/data.yml b/appstore/open-webui/0.8.12/data.yml similarity index 100% rename from appstore/open-webui/0.8.11/data.yml rename to appstore/open-webui/0.8.12/data.yml diff --git a/appstore/open-webui/0.8.11/docker-compose.yml b/appstore/open-webui/0.8.12/docker-compose.yml similarity index 91% rename from appstore/open-webui/0.8.11/docker-compose.yml rename to appstore/open-webui/0.8.12/docker-compose.yml index b352edf23..259f2f998 100644 --- a/appstore/open-webui/0.8.11/docker-compose.yml +++ b/appstore/open-webui/0.8.12/docker-compose.yml @@ -15,7 +15,7 @@ services: - ENABLE_OLLAMA_API=True - ENABLE_OPENAI_API=False - https_proxy=${http_proxy} - image: ghcr.io/open-webui/open-webui:v0.8.11 + image: ghcr.io/open-webui/open-webui:v0.8.12 labels: createdBy: Apps networks: diff --git a/appstore/open-webui/0.8.11/envs/default.env b/appstore/open-webui/0.8.12/envs/default.env similarity index 100% rename from appstore/open-webui/0.8.11/envs/default.env rename to appstore/open-webui/0.8.12/envs/default.env diff --git a/appstore/open-webui/0.8.11/envs/global.env b/appstore/open-webui/0.8.12/envs/global.env similarity index 100% rename from appstore/open-webui/0.8.11/envs/global.env rename to appstore/open-webui/0.8.12/envs/global.env diff --git a/appstore/open-webui/0.8.11/scripts/init.sh b/appstore/open-webui/0.8.12/scripts/init.sh similarity index 100% rename from appstore/open-webui/0.8.11/scripts/init.sh rename to appstore/open-webui/0.8.12/scripts/init.sh diff --git a/appstore/open-webui/0.8.11/scripts/uninstall.sh b/appstore/open-webui/0.8.12/scripts/uninstall.sh similarity index 100% rename from appstore/open-webui/0.8.11/scripts/uninstall.sh rename to appstore/open-webui/0.8.12/scripts/uninstall.sh diff --git a/appstore/open-webui/0.8.11/scripts/upgrade.sh b/appstore/open-webui/0.8.12/scripts/upgrade.sh similarity index 100% rename from appstore/open-webui/0.8.11/scripts/upgrade.sh rename to appstore/open-webui/0.8.12/scripts/upgrade.sh diff --git a/appstore/speedtest-tracker-sqlite/1.13.11/.env b/appstore/speedtest-tracker-sqlite/1.13.12/.env similarity index 100% rename from appstore/speedtest-tracker-sqlite/1.13.11/.env rename to appstore/speedtest-tracker-sqlite/1.13.12/.env diff --git a/appstore/speedtest-tracker-sqlite/1.13.11/data.yml b/appstore/speedtest-tracker-sqlite/1.13.12/data.yml similarity index 100% rename from appstore/speedtest-tracker-sqlite/1.13.11/data.yml rename to appstore/speedtest-tracker-sqlite/1.13.12/data.yml diff --git a/appstore/speedtest-tracker-sqlite/1.13.11/docker-compose.yml b/appstore/speedtest-tracker-sqlite/1.13.12/docker-compose.yml similarity index 91% rename from appstore/speedtest-tracker-sqlite/1.13.11/docker-compose.yml rename to appstore/speedtest-tracker-sqlite/1.13.12/docker-compose.yml index 6da136801..d8599025b 100644 --- a/appstore/speedtest-tracker-sqlite/1.13.11/docker-compose.yml +++ b/appstore/speedtest-tracker-sqlite/1.13.12/docker-compose.yml @@ -14,7 +14,7 @@ services: - DISPLAY_TIMEZONE=Asia/Shanghai - DB_CONNECTION=sqlite - MAIL_MAILER=sqlite - image: linuxserver/speedtest-tracker:1.13.11 + image: linuxserver/speedtest-tracker:1.13.12 labels: createdBy: Apps network_mode: ${NETWORK_MODE} diff --git a/appstore/speedtest-tracker-sqlite/1.13.11/envs/default.env b/appstore/speedtest-tracker-sqlite/1.13.12/envs/default.env similarity index 100% rename from appstore/speedtest-tracker-sqlite/1.13.11/envs/default.env rename to appstore/speedtest-tracker-sqlite/1.13.12/envs/default.env diff --git a/appstore/speedtest-tracker-sqlite/1.13.11/envs/global.env b/appstore/speedtest-tracker-sqlite/1.13.12/envs/global.env similarity index 100% rename from appstore/speedtest-tracker-sqlite/1.13.11/envs/global.env rename to appstore/speedtest-tracker-sqlite/1.13.12/envs/global.env diff --git a/appstore/speedtest-tracker-sqlite/1.13.11/scripts/init.sh b/appstore/speedtest-tracker-sqlite/1.13.12/scripts/init.sh similarity index 100% rename from appstore/speedtest-tracker-sqlite/1.13.11/scripts/init.sh rename to appstore/speedtest-tracker-sqlite/1.13.12/scripts/init.sh diff --git a/appstore/speedtest-tracker-sqlite/1.13.11/scripts/uninstall.sh b/appstore/speedtest-tracker-sqlite/1.13.12/scripts/uninstall.sh similarity index 100% rename from appstore/speedtest-tracker-sqlite/1.13.11/scripts/uninstall.sh rename to appstore/speedtest-tracker-sqlite/1.13.12/scripts/uninstall.sh diff --git a/appstore/speedtest-tracker-sqlite/1.13.11/scripts/upgrade.sh b/appstore/speedtest-tracker-sqlite/1.13.12/scripts/upgrade.sh similarity index 100% rename from appstore/speedtest-tracker-sqlite/1.13.11/scripts/upgrade.sh rename to appstore/speedtest-tracker-sqlite/1.13.12/scripts/upgrade.sh diff --git a/appstore/speedtest-tracker/1.13.11/.env b/appstore/speedtest-tracker/1.13.12/.env similarity index 100% rename from appstore/speedtest-tracker/1.13.11/.env rename to appstore/speedtest-tracker/1.13.12/.env diff --git a/appstore/speedtest-tracker/1.13.11/data.yml b/appstore/speedtest-tracker/1.13.12/data.yml similarity index 100% rename from appstore/speedtest-tracker/1.13.11/data.yml rename to appstore/speedtest-tracker/1.13.12/data.yml diff --git a/appstore/speedtest-tracker/1.13.11/docker-compose.yml b/appstore/speedtest-tracker/1.13.12/docker-compose.yml similarity index 90% rename from appstore/speedtest-tracker/1.13.11/docker-compose.yml rename to appstore/speedtest-tracker/1.13.12/docker-compose.yml index 3b6b753ee..2e677f017 100644 --- a/appstore/speedtest-tracker/1.13.11/docker-compose.yml +++ b/appstore/speedtest-tracker/1.13.12/docker-compose.yml @@ -12,7 +12,7 @@ services: - PGID=1000 - TZ=Asia/Shanghai - DISPLAY_TIMEZONE=Asia/Shanghai - image: linuxserver/speedtest-tracker:1.13.11 + image: linuxserver/speedtest-tracker:1.13.12 labels: createdBy: Apps network_mode: ${NETWORK_MODE} diff --git a/appstore/speedtest-tracker/1.13.11/envs/default.env b/appstore/speedtest-tracker/1.13.12/envs/default.env similarity index 100% rename from appstore/speedtest-tracker/1.13.11/envs/default.env rename to appstore/speedtest-tracker/1.13.12/envs/default.env diff --git a/appstore/speedtest-tracker/1.13.11/envs/global.env b/appstore/speedtest-tracker/1.13.12/envs/global.env similarity index 100% rename from appstore/speedtest-tracker/1.13.11/envs/global.env rename to appstore/speedtest-tracker/1.13.12/envs/global.env diff --git a/appstore/speedtest-tracker/1.13.11/scripts/init.sh b/appstore/speedtest-tracker/1.13.12/scripts/init.sh similarity index 100% rename from appstore/speedtest-tracker/1.13.11/scripts/init.sh rename to appstore/speedtest-tracker/1.13.12/scripts/init.sh diff --git a/appstore/speedtest-tracker/1.13.11/scripts/uninstall.sh b/appstore/speedtest-tracker/1.13.12/scripts/uninstall.sh similarity index 100% rename from appstore/speedtest-tracker/1.13.11/scripts/uninstall.sh rename to appstore/speedtest-tracker/1.13.12/scripts/uninstall.sh diff --git a/appstore/speedtest-tracker/1.13.11/scripts/upgrade.sh b/appstore/speedtest-tracker/1.13.12/scripts/upgrade.sh similarity index 100% rename from appstore/speedtest-tracker/1.13.11/scripts/upgrade.sh rename to appstore/speedtest-tracker/1.13.12/scripts/upgrade.sh diff --git a/dockge/ani-rss/docker-compose.yml b/dockge/ani-rss/docker-compose.yml index 60fd572f0..9c6e13c66 100644 --- a/dockge/ani-rss/docker-compose.yml +++ b/dockge/ani-rss/docker-compose.yml @@ -8,13 +8,10 @@ services: - ./envs/global.env - .env environment: - - PUID=0 - - PGID=0 - - UMASK=022 - PORT=7789 - CONFIG=/config - TZ=Asia/Shanghai - image: wushuo894/ani-rss:v3.0.14 + image: wushuo894/ani-rss:v1.2.82 labels: createdBy: Apps networks: diff --git a/dockge/ani-rss_1_2_82/.env b/dockge/ani-rss_3_0_14/.env similarity index 100% rename from dockge/ani-rss_1_2_82/.env rename to dockge/ani-rss_3_0_14/.env diff --git a/dockge/ani-rss_1_2_82/docker-compose.yml b/dockge/ani-rss_3_0_14/docker-compose.yml similarity index 90% rename from dockge/ani-rss_1_2_82/docker-compose.yml rename to dockge/ani-rss_3_0_14/docker-compose.yml index 9c6e13c66..60fd572f0 100644 --- a/dockge/ani-rss_1_2_82/docker-compose.yml +++ b/dockge/ani-rss_3_0_14/docker-compose.yml @@ -8,10 +8,13 @@ services: - ./envs/global.env - .env environment: + - PUID=0 + - PGID=0 + - UMASK=022 - PORT=7789 - CONFIG=/config - TZ=Asia/Shanghai - image: wushuo894/ani-rss:v1.2.82 + image: wushuo894/ani-rss:v3.0.14 labels: createdBy: Apps networks: diff --git a/dockge/ani-rss_1_2_82/envs/default.env b/dockge/ani-rss_3_0_14/envs/default.env similarity index 100% rename from dockge/ani-rss_1_2_82/envs/default.env rename to dockge/ani-rss_3_0_14/envs/default.env diff --git a/dockge/ani-rss_1_2_82/envs/global.env b/dockge/ani-rss_3_0_14/envs/global.env similarity index 100% rename from dockge/ani-rss_1_2_82/envs/global.env rename to dockge/ani-rss_3_0_14/envs/global.env diff --git a/dockge/archivebox/docker-compose.yml b/dockge/archivebox/docker-compose.yml index f70ce3cc2..41d4900e1 100644 --- a/dockge/archivebox/docker-compose.yml +++ b/dockge/archivebox/docker-compose.yml @@ -4,6 +4,8 @@ networks: services: archivebox: container_name: archivebox + depends_on: + - archivebox-init env_file: - ./envs/global.env - .env @@ -14,7 +16,7 @@ services: - SEARCH_BACKEND_ENGINE=sonic - SEARCH_BACKEND_HOST_NAME=archivebox-sonic - SEARCH_BACKEND_PASSWORD=${ADMIN_PASSWORD:-} - image: archivebox/archivebox:0.7.3 + image: archivebox/archivebox:0.8.5rc9 labels: createdBy: Apps networks: @@ -24,6 +26,26 @@ services: restart: always volumes: - ${ARCHIVEBOX_ROOT_PATH}/data:/data + archivebox-init: + command: archivebox init + container_name: init-archivebox + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + - ALLOWED_HOSTS=* + - CSRF_TRUSTED_ORIGINS=http://localhost:8000 + - SEARCH_BACKEND_ENGINE=sonic + - SEARCH_BACKEND_HOST_NAME=archivebox-sonic + - SEARCH_BACKEND_PASSWORD=${ADMIN_PASSWORD:-} + image: archivebox/archivebox:0.8.5rc9 + labels: + createdBy: Apps + networks: + - 1panel-network + volumes: + - ${ARCHIVEBOX_ROOT_PATH}/data:/data archivebox-sonic: container_name: sonic-archivebox env_file: diff --git a/dockge/archivebox_0_8_5/.env b/dockge/archivebox_0_7_3/.env similarity index 100% rename from dockge/archivebox_0_8_5/.env rename to dockge/archivebox_0_7_3/.env diff --git a/dockge/archivebox_0_8_5/docker-compose.yml b/dockge/archivebox_0_7_3/docker-compose.yml similarity index 60% rename from dockge/archivebox_0_8_5/docker-compose.yml rename to dockge/archivebox_0_7_3/docker-compose.yml index 41d4900e1..f70ce3cc2 100644 --- a/dockge/archivebox_0_8_5/docker-compose.yml +++ b/dockge/archivebox_0_7_3/docker-compose.yml @@ -4,8 +4,6 @@ networks: services: archivebox: container_name: archivebox - depends_on: - - archivebox-init env_file: - ./envs/global.env - .env @@ -16,7 +14,7 @@ services: - SEARCH_BACKEND_ENGINE=sonic - SEARCH_BACKEND_HOST_NAME=archivebox-sonic - SEARCH_BACKEND_PASSWORD=${ADMIN_PASSWORD:-} - image: archivebox/archivebox:0.8.5rc9 + image: archivebox/archivebox:0.7.3 labels: createdBy: Apps networks: @@ -26,26 +24,6 @@ services: restart: always volumes: - ${ARCHIVEBOX_ROOT_PATH}/data:/data - archivebox-init: - command: archivebox init - container_name: init-archivebox - env_file: - - ./envs/global.env - - .env - environment: - - TZ=Asia/Shanghai - - ALLOWED_HOSTS=* - - CSRF_TRUSTED_ORIGINS=http://localhost:8000 - - SEARCH_BACKEND_ENGINE=sonic - - SEARCH_BACKEND_HOST_NAME=archivebox-sonic - - SEARCH_BACKEND_PASSWORD=${ADMIN_PASSWORD:-} - image: archivebox/archivebox:0.8.5rc9 - labels: - createdBy: Apps - networks: - - 1panel-network - volumes: - - ${ARCHIVEBOX_ROOT_PATH}/data:/data archivebox-sonic: container_name: sonic-archivebox env_file: diff --git a/dockge/archivebox_0_8_5/envs/default.env b/dockge/archivebox_0_7_3/envs/default.env similarity index 100% rename from dockge/archivebox_0_8_5/envs/default.env rename to dockge/archivebox_0_7_3/envs/default.env diff --git a/dockge/archivebox_0_8_5/envs/global.env b/dockge/archivebox_0_7_3/envs/global.env similarity index 100% rename from dockge/archivebox_0_8_5/envs/global.env rename to dockge/archivebox_0_7_3/envs/global.env diff --git a/dockge/bili-fetcher/docker-compose.yml b/dockge/bili-fetcher/docker-compose.yml index c68c76b14..ba476f77b 100644 --- a/dockge/bili-fetcher/docker-compose.yml +++ b/dockge/bili-fetcher/docker-compose.yml @@ -10,7 +10,7 @@ services: environment: - TZ=Asia/Shanghai - DOCKER_ENV=true - image: qyg2297248353/bili-fetcher:latest + image: qyg2297248353/bili-fetcher:v1.6.9 networks: - 1panel-network ports: @@ -26,7 +26,7 @@ services: environment: - BACKEND_URL=http://bili-fetcher-api:8899 - TZ=Asia/Shanghai - image: qyg2297248353/bili-fetcher-web:latest + image: qyg2297248353/bili-fetcher-web:v1.6.9 labels: createdBy: Apps networks: diff --git a/dockge/bili-fetcher_1_6_9/.env b/dockge/bili-fetcher_latest/.env similarity index 100% rename from dockge/bili-fetcher_1_6_9/.env rename to dockge/bili-fetcher_latest/.env diff --git a/dockge/bili-fetcher_1_6_9/config/categories.json b/dockge/bili-fetcher_latest/config/categories.json similarity index 100% rename from dockge/bili-fetcher_1_6_9/config/categories.json rename to dockge/bili-fetcher_latest/config/categories.json diff --git a/dockge/bili-fetcher_1_6_9/config/config.yaml b/dockge/bili-fetcher_latest/config/config.yaml similarity index 100% rename from dockge/bili-fetcher_1_6_9/config/config.yaml rename to dockge/bili-fetcher_latest/config/config.yaml diff --git a/dockge/bili-fetcher_1_6_9/config/scheduler_config.yaml b/dockge/bili-fetcher_latest/config/scheduler_config.yaml similarity index 100% rename from dockge/bili-fetcher_1_6_9/config/scheduler_config.yaml rename to dockge/bili-fetcher_latest/config/scheduler_config.yaml diff --git a/dockge/bili-fetcher_1_6_9/config/sql_statements_mysql.py b/dockge/bili-fetcher_latest/config/sql_statements_mysql.py similarity index 100% rename from dockge/bili-fetcher_1_6_9/config/sql_statements_mysql.py rename to dockge/bili-fetcher_latest/config/sql_statements_mysql.py diff --git a/dockge/bili-fetcher_1_6_9/config/sql_statements_sqlite.py b/dockge/bili-fetcher_latest/config/sql_statements_sqlite.py similarity index 100% rename from dockge/bili-fetcher_1_6_9/config/sql_statements_sqlite.py rename to dockge/bili-fetcher_latest/config/sql_statements_sqlite.py diff --git a/dockge/bili-fetcher_1_6_9/config/template.html b/dockge/bili-fetcher_latest/config/template.html similarity index 100% rename from dockge/bili-fetcher_1_6_9/config/template.html rename to dockge/bili-fetcher_latest/config/template.html diff --git a/dockge/bili-fetcher_1_6_9/docker-compose.yml b/dockge/bili-fetcher_latest/docker-compose.yml similarity index 88% rename from dockge/bili-fetcher_1_6_9/docker-compose.yml rename to dockge/bili-fetcher_latest/docker-compose.yml index ba476f77b..c68c76b14 100644 --- a/dockge/bili-fetcher_1_6_9/docker-compose.yml +++ b/dockge/bili-fetcher_latest/docker-compose.yml @@ -10,7 +10,7 @@ services: environment: - TZ=Asia/Shanghai - DOCKER_ENV=true - image: qyg2297248353/bili-fetcher:v1.6.9 + image: qyg2297248353/bili-fetcher:latest networks: - 1panel-network ports: @@ -26,7 +26,7 @@ services: environment: - BACKEND_URL=http://bili-fetcher-api:8899 - TZ=Asia/Shanghai - image: qyg2297248353/bili-fetcher-web:v1.6.9 + image: qyg2297248353/bili-fetcher-web:latest labels: createdBy: Apps networks: diff --git a/dockge/bili-fetcher_1_6_9/envs/default.env b/dockge/bili-fetcher_latest/envs/default.env similarity index 100% rename from dockge/bili-fetcher_1_6_9/envs/default.env rename to dockge/bili-fetcher_latest/envs/default.env diff --git a/dockge/bili-fetcher_1_6_9/envs/global.env b/dockge/bili-fetcher_latest/envs/global.env similarity index 100% rename from dockge/bili-fetcher_1_6_9/envs/global.env rename to dockge/bili-fetcher_latest/envs/global.env diff --git a/dockge/elastic-elasticsearch/docker-compose.yml b/dockge/elastic-elasticsearch/docker-compose.yml index 87e0be687..3a8a4a0b4 100644 --- a/dockge/elastic-elasticsearch/docker-compose.yml +++ b/dockge/elastic-elasticsearch/docker-compose.yml @@ -11,7 +11,7 @@ services: - LICENSE=basic - ES_SETTING_BOOTSTRAP_MEMORY__LOCK=true - ES_SETTING_PATH_REPO=/usr/share/elasticsearch/backup - image: elasticsearch:9.3.2 + image: elasticsearch:8.19.13 labels: createdBy: Apps networks: diff --git a/dockge/elastic-elasticsearch_8_19_13/.env b/dockge/elastic-elasticsearch_9_3_2/.env similarity index 100% rename from dockge/elastic-elasticsearch_8_19_13/.env rename to dockge/elastic-elasticsearch_9_3_2/.env diff --git a/dockge/elastic-elasticsearch_8_19_13/docker-compose.yml b/dockge/elastic-elasticsearch_9_3_2/docker-compose.yml similarity index 96% rename from dockge/elastic-elasticsearch_8_19_13/docker-compose.yml rename to dockge/elastic-elasticsearch_9_3_2/docker-compose.yml index 3a8a4a0b4..87e0be687 100644 --- a/dockge/elastic-elasticsearch_8_19_13/docker-compose.yml +++ b/dockge/elastic-elasticsearch_9_3_2/docker-compose.yml @@ -11,7 +11,7 @@ services: - LICENSE=basic - ES_SETTING_BOOTSTRAP_MEMORY__LOCK=true - ES_SETTING_PATH_REPO=/usr/share/elasticsearch/backup - image: elasticsearch:8.19.13 + image: elasticsearch:9.3.2 labels: createdBy: Apps networks: diff --git a/dockge/elastic-elasticsearch_8_19_13/envs/default.env b/dockge/elastic-elasticsearch_9_3_2/envs/default.env similarity index 100% rename from dockge/elastic-elasticsearch_8_19_13/envs/default.env rename to dockge/elastic-elasticsearch_9_3_2/envs/default.env diff --git a/dockge/elastic-elasticsearch_8_19_13/envs/global.env b/dockge/elastic-elasticsearch_9_3_2/envs/global.env similarity index 100% rename from dockge/elastic-elasticsearch_8_19_13/envs/global.env rename to dockge/elastic-elasticsearch_9_3_2/envs/global.env diff --git a/dockge/elastic-kibana/docker-compose.yml b/dockge/elastic-kibana/docker-compose.yml index 14aeaad7f..93a487f66 100644 --- a/dockge/elastic-kibana/docker-compose.yml +++ b/dockge/elastic-kibana/docker-compose.yml @@ -14,7 +14,7 @@ services: - I18N_LOCALE="zh-CN" - SERVER_SHUTDOWNTIMEOUT="5s" - MONITORING_UI_CONTAINER_ELASTICSEARCH_ENABLED=true - image: kibana:9.3.2 + image: kibana:8.19.13 labels: createdBy: Apps networks: diff --git a/dockge/elastic-kibana_8_19_13/.env b/dockge/elastic-kibana_9_3_2/.env similarity index 100% rename from dockge/elastic-kibana_8_19_13/.env rename to dockge/elastic-kibana_9_3_2/.env diff --git a/dockge/elastic-kibana_8_19_13/docker-compose.yml b/dockge/elastic-kibana_9_3_2/docker-compose.yml similarity index 95% rename from dockge/elastic-kibana_8_19_13/docker-compose.yml rename to dockge/elastic-kibana_9_3_2/docker-compose.yml index 93a487f66..14aeaad7f 100644 --- a/dockge/elastic-kibana_8_19_13/docker-compose.yml +++ b/dockge/elastic-kibana_9_3_2/docker-compose.yml @@ -14,7 +14,7 @@ services: - I18N_LOCALE="zh-CN" - SERVER_SHUTDOWNTIMEOUT="5s" - MONITORING_UI_CONTAINER_ELASTICSEARCH_ENABLED=true - image: kibana:8.19.13 + image: kibana:9.3.2 labels: createdBy: Apps networks: diff --git a/dockge/elastic-kibana_8_19_13/envs/default.env b/dockge/elastic-kibana_9_3_2/envs/default.env similarity index 100% rename from dockge/elastic-kibana_8_19_13/envs/default.env rename to dockge/elastic-kibana_9_3_2/envs/default.env diff --git a/dockge/elastic-kibana_8_19_13/envs/global.env b/dockge/elastic-kibana_9_3_2/envs/global.env similarity index 100% rename from dockge/elastic-kibana_8_19_13/envs/global.env rename to dockge/elastic-kibana_9_3_2/envs/global.env diff --git a/dockge/emby-amilys/docker-compose.yml b/dockge/emby-amilys/docker-compose.yml index f773d32ac..526369304 100644 --- a/dockge/emby-amilys/docker-compose.yml +++ b/dockge/emby-amilys/docker-compose.yml @@ -13,7 +13,7 @@ services: - HTTP_PROXY=${HTTP_PROXY:-} - HTTPS_PROXY=${HTTP_PROXY:-} - NO_PROXY=localhost,127.0.0.1,::1 - image: amilys/embyserver:4.8.11.0 + image: amilys/embyserver:4.9.2.6 labels: createdBy: Apps network_mode: ${NETWORK_MODE} diff --git a/dockge/emby-amilys_4_9_2_6/.env b/dockge/emby-amilys_4_8_11_0/.env similarity index 100% rename from dockge/emby-amilys_4_9_2_6/.env rename to dockge/emby-amilys_4_8_11_0/.env diff --git a/dockge/emby-amilys_4_9_2_6/docker-compose.yml b/dockge/emby-amilys_4_8_11_0/docker-compose.yml similarity index 95% rename from dockge/emby-amilys_4_9_2_6/docker-compose.yml rename to dockge/emby-amilys_4_8_11_0/docker-compose.yml index 526369304..f773d32ac 100644 --- a/dockge/emby-amilys_4_9_2_6/docker-compose.yml +++ b/dockge/emby-amilys_4_8_11_0/docker-compose.yml @@ -13,7 +13,7 @@ services: - HTTP_PROXY=${HTTP_PROXY:-} - HTTPS_PROXY=${HTTP_PROXY:-} - NO_PROXY=localhost,127.0.0.1,::1 - image: amilys/embyserver:4.9.2.6 + image: amilys/embyserver:4.8.11.0 labels: createdBy: Apps network_mode: ${NETWORK_MODE} diff --git a/dockge/emby-amilys_4_9_2_6/envs/default.env b/dockge/emby-amilys_4_8_11_0/envs/default.env similarity index 100% rename from dockge/emby-amilys_4_9_2_6/envs/default.env rename to dockge/emby-amilys_4_8_11_0/envs/default.env diff --git a/dockge/emby-amilys_4_9_2_6/envs/global.env b/dockge/emby-amilys_4_8_11_0/envs/global.env similarity index 100% rename from dockge/emby-amilys_4_9_2_6/envs/global.env rename to dockge/emby-amilys_4_8_11_0/envs/global.env diff --git a/dockge/emby/docker-compose.yml b/dockge/emby/docker-compose.yml index a461e63ac..c6c114077 100644 --- a/dockge/emby/docker-compose.yml +++ b/dockge/emby/docker-compose.yml @@ -13,7 +13,7 @@ services: - HTTP_PROXY=${HTTP_PROXY:-} - HTTPS_PROXY=${HTTP_PROXY:-} - NO_PROXY=localhost,127.0.0.1,::1 - image: emby/embyserver:4.8.11.0 + image: emby/embyserver:4.9.4.1 labels: createdBy: Apps network_mode: ${NETWORK_MODE} diff --git a/dockge/emby_4_9_4_1/.env b/dockge/emby_4_8_11_0/.env similarity index 100% rename from dockge/emby_4_9_4_1/.env rename to dockge/emby_4_8_11_0/.env diff --git a/dockge/emby_4_9_4_1/docker-compose.yml b/dockge/emby_4_8_11_0/docker-compose.yml similarity index 96% rename from dockge/emby_4_9_4_1/docker-compose.yml rename to dockge/emby_4_8_11_0/docker-compose.yml index c6c114077..a461e63ac 100644 --- a/dockge/emby_4_9_4_1/docker-compose.yml +++ b/dockge/emby_4_8_11_0/docker-compose.yml @@ -13,7 +13,7 @@ services: - HTTP_PROXY=${HTTP_PROXY:-} - HTTPS_PROXY=${HTTP_PROXY:-} - NO_PROXY=localhost,127.0.0.1,::1 - image: emby/embyserver:4.9.4.1 + image: emby/embyserver:4.8.11.0 labels: createdBy: Apps network_mode: ${NETWORK_MODE} diff --git a/dockge/emby_4_9_4_1/envs/default.env b/dockge/emby_4_8_11_0/envs/default.env similarity index 100% rename from dockge/emby_4_9_4_1/envs/default.env rename to dockge/emby_4_8_11_0/envs/default.env diff --git a/dockge/emby_4_9_4_1/envs/global.env b/dockge/emby_4_8_11_0/envs/global.env similarity index 100% rename from dockge/emby_4_9_4_1/envs/global.env rename to dockge/emby_4_8_11_0/envs/global.env diff --git a/dockge/homarr/.env b/dockge/homarr/.env index 9370b8091..4610427ed 100644 --- a/dockge/homarr/.env +++ b/dockge/homarr/.env @@ -8,5 +8,5 @@ HOMARR_ROOT_PATH=/home/homarr PANEL_APP_PORT_HTTP=7575 # 密钥 [必填] -SECRET_ENCRYPTION_KEY=b7fa3f6f09ac8084ca03b94589d799e6a9225212e8f691c6b419a139acf412c7 +SECRET_ENCRYPTION_KEY=7f0f511ce7898929066688ee9146aa509293a6c58a345ea0ea7270e7b34ff32d diff --git a/dockge/homarr/docker-compose.yml b/dockge/homarr/docker-compose.yml index 081e2d190..471526398 100644 --- a/dockge/homarr/docker-compose.yml +++ b/dockge/homarr/docker-compose.yml @@ -7,7 +7,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/ajnart/homarr:0.16.1 + image: ghcr.io/homarr-labs/homarr:v1.56.1 labels: createdBy: Apps network_mode: ${NETWORK_MODE} diff --git a/dockge/homarr_1_56_1/.env b/dockge/homarr_0_16_1/.env similarity index 67% rename from dockge/homarr_1_56_1/.env rename to dockge/homarr_0_16_1/.env index 4610427ed..9370b8091 100644 --- a/dockge/homarr_1_56_1/.env +++ b/dockge/homarr_0_16_1/.env @@ -8,5 +8,5 @@ HOMARR_ROOT_PATH=/home/homarr PANEL_APP_PORT_HTTP=7575 # 密钥 [必填] -SECRET_ENCRYPTION_KEY=7f0f511ce7898929066688ee9146aa509293a6c58a345ea0ea7270e7b34ff32d +SECRET_ENCRYPTION_KEY=b7fa3f6f09ac8084ca03b94589d799e6a9225212e8f691c6b419a139acf412c7 diff --git a/dockge/homarr_1_56_1/docker-compose.yml b/dockge/homarr_0_16_1/docker-compose.yml similarity index 89% rename from dockge/homarr_1_56_1/docker-compose.yml rename to dockge/homarr_0_16_1/docker-compose.yml index 471526398..081e2d190 100644 --- a/dockge/homarr_1_56_1/docker-compose.yml +++ b/dockge/homarr_0_16_1/docker-compose.yml @@ -7,7 +7,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/homarr-labs/homarr:v1.56.1 + image: ghcr.io/ajnart/homarr:0.16.1 labels: createdBy: Apps network_mode: ${NETWORK_MODE} diff --git a/dockge/homarr_1_56_1/envs/default.env b/dockge/homarr_0_16_1/envs/default.env similarity index 100% rename from dockge/homarr_1_56_1/envs/default.env rename to dockge/homarr_0_16_1/envs/default.env diff --git a/dockge/homarr_1_56_1/envs/global.env b/dockge/homarr_0_16_1/envs/global.env similarity index 100% rename from dockge/homarr_1_56_1/envs/global.env rename to dockge/homarr_0_16_1/envs/global.env diff --git a/dockge/libretv/docker-compose.yml b/dockge/libretv/docker-compose.yml index 2e6239d93..61f39a480 100644 --- a/dockge/libretv/docker-compose.yml +++ b/dockge/libretv/docker-compose.yml @@ -9,7 +9,7 @@ services: - .env environment: - TZ=Asia/Shanghai - image: bestzwei/libretv:202508060117 + image: bestzwei/libretv:latest labels: createdBy: Apps networks: diff --git a/dockge/libretv_latest/.env b/dockge/libretv_202508060117/.env similarity index 100% rename from dockge/libretv_latest/.env rename to dockge/libretv_202508060117/.env diff --git a/dockge/libretv_latest/docker-compose.yml b/dockge/libretv_202508060117/docker-compose.yml similarity index 88% rename from dockge/libretv_latest/docker-compose.yml rename to dockge/libretv_202508060117/docker-compose.yml index 61f39a480..2e6239d93 100644 --- a/dockge/libretv_latest/docker-compose.yml +++ b/dockge/libretv_202508060117/docker-compose.yml @@ -9,7 +9,7 @@ services: - .env environment: - TZ=Asia/Shanghai - image: bestzwei/libretv:latest + image: bestzwei/libretv:202508060117 labels: createdBy: Apps networks: diff --git a/dockge/libretv_latest/envs/default.env b/dockge/libretv_202508060117/envs/default.env similarity index 100% rename from dockge/libretv_latest/envs/default.env rename to dockge/libretv_202508060117/envs/default.env diff --git a/dockge/libretv_latest/envs/global.env b/dockge/libretv_202508060117/envs/global.env similarity index 100% rename from dockge/libretv_latest/envs/global.env rename to dockge/libretv_202508060117/envs/global.env diff --git a/dockge/mediacms/.env b/dockge/mediacms/.env index cb8a090ef..e86cd2493 100644 --- a/dockge/mediacms/.env +++ b/dockge/mediacms/.env @@ -32,14 +32,14 @@ REDIS_LOCATION=redis://127.0.0.1:6379/1 POSTGRES_HOST=127.0.0.1 # 数据库 端口 [必填] -DB_PORT=5432 +POSTGRES_PORT=5432 # 数据库 名称 [必填] -DB_NAME=mediacms +POSTGRES_NAME=mediacms # 数据库 用户名 [必填] -DB_USER=mediacms +POSTGRES_USER=mediacms # 数据库 密码 [必填] -DB_PASSWORD= +POSTGRES_PASSWORD= diff --git a/dockge/mediacms/docker-compose.yml b/dockge/mediacms/docker-compose.yml index 250eae7fd..5c5c8be7e 100644 --- a/dockge/mediacms/docker-compose.yml +++ b/dockge/mediacms/docker-compose.yml @@ -14,7 +14,7 @@ services: - ENABLE_CELERY_SHORT=no - ENABLE_CELERY_LONG=no - ENABLE_MIGRATIONS=no - image: qyg2297248353/mediacms:v4.1.0 + image: qyg2297248353/mediacms:v7.2.0 labels: createdBy: Apps networks: @@ -34,7 +34,7 @@ services: - ENABLE_CELERY_SHORT=no - ENABLE_CELERY_LONG=no - ENABLE_MIGRATIONS=no - image: qyg2297248353/mediacms:v4.1.0 + image: qyg2297248353/mediacms:v7.2.0 volumes: - ${MEDIACMS_ROOT_PATH}/media_files/hls:/home/mediacms.io/mediacms/media_files/hls - ${MEDIACMS_ROOT_PATH}/media_files/original:/home/mediacms.io/mediacms/media_files/original @@ -48,7 +48,7 @@ services: - ENABLE_NGINX=no - ENABLE_CELERY_BEAT=no - ENABLE_MIGRATIONS=no - image: qyg2297248353/mediacms:v4.1.0 + image: qyg2297248353/mediacms:v7.2.0 volumes: - ${MEDIACMS_ROOT_PATH}/media_files/hls:/home/mediacms.io/mediacms/media_files/hls - ${MEDIACMS_ROOT_PATH}/media_files/original:/home/mediacms.io/mediacms/media_files/original @@ -69,7 +69,7 @@ services: - ADMIN_USER=${ADMIN_USER} - ADMIN_EMAIL=${ADMIN_EMAIL} - ADMIN_PASSWORD=${ADMIN_PASSWORD} - image: qyg2297248353/mediacms:v4.1.0 + image: qyg2297248353/mediacms:v7.2.0 restart: on-failure volumes: - ${MEDIACMS_ROOT_PATH}/media_files/hls:/home/mediacms.io/mediacms/media_files/hls diff --git a/dockge/mediacms_7_2_0/.env b/dockge/mediacms_4_1_0/.env similarity index 89% rename from dockge/mediacms_7_2_0/.env rename to dockge/mediacms_4_1_0/.env index e86cd2493..cb8a090ef 100644 --- a/dockge/mediacms_7_2_0/.env +++ b/dockge/mediacms_4_1_0/.env @@ -32,14 +32,14 @@ REDIS_LOCATION=redis://127.0.0.1:6379/1 POSTGRES_HOST=127.0.0.1 # 数据库 端口 [必填] -POSTGRES_PORT=5432 +DB_PORT=5432 # 数据库 名称 [必填] -POSTGRES_NAME=mediacms +DB_NAME=mediacms # 数据库 用户名 [必填] -POSTGRES_USER=mediacms +DB_USER=mediacms # 数据库 密码 [必填] -POSTGRES_PASSWORD= +DB_PASSWORD= diff --git a/dockge/mediacms_7_2_0/docker-compose.yml b/dockge/mediacms_4_1_0/docker-compose.yml similarity index 93% rename from dockge/mediacms_7_2_0/docker-compose.yml rename to dockge/mediacms_4_1_0/docker-compose.yml index 5c5c8be7e..250eae7fd 100644 --- a/dockge/mediacms_7_2_0/docker-compose.yml +++ b/dockge/mediacms_4_1_0/docker-compose.yml @@ -14,7 +14,7 @@ services: - ENABLE_CELERY_SHORT=no - ENABLE_CELERY_LONG=no - ENABLE_MIGRATIONS=no - image: qyg2297248353/mediacms:v7.2.0 + image: qyg2297248353/mediacms:v4.1.0 labels: createdBy: Apps networks: @@ -34,7 +34,7 @@ services: - ENABLE_CELERY_SHORT=no - ENABLE_CELERY_LONG=no - ENABLE_MIGRATIONS=no - image: qyg2297248353/mediacms:v7.2.0 + image: qyg2297248353/mediacms:v4.1.0 volumes: - ${MEDIACMS_ROOT_PATH}/media_files/hls:/home/mediacms.io/mediacms/media_files/hls - ${MEDIACMS_ROOT_PATH}/media_files/original:/home/mediacms.io/mediacms/media_files/original @@ -48,7 +48,7 @@ services: - ENABLE_NGINX=no - ENABLE_CELERY_BEAT=no - ENABLE_MIGRATIONS=no - image: qyg2297248353/mediacms:v7.2.0 + image: qyg2297248353/mediacms:v4.1.0 volumes: - ${MEDIACMS_ROOT_PATH}/media_files/hls:/home/mediacms.io/mediacms/media_files/hls - ${MEDIACMS_ROOT_PATH}/media_files/original:/home/mediacms.io/mediacms/media_files/original @@ -69,7 +69,7 @@ services: - ADMIN_USER=${ADMIN_USER} - ADMIN_EMAIL=${ADMIN_EMAIL} - ADMIN_PASSWORD=${ADMIN_PASSWORD} - image: qyg2297248353/mediacms:v7.2.0 + image: qyg2297248353/mediacms:v4.1.0 restart: on-failure volumes: - ${MEDIACMS_ROOT_PATH}/media_files/hls:/home/mediacms.io/mediacms/media_files/hls diff --git a/dockge/mediacms_7_2_0/envs/default.env b/dockge/mediacms_4_1_0/envs/default.env similarity index 100% rename from dockge/mediacms_7_2_0/envs/default.env rename to dockge/mediacms_4_1_0/envs/default.env diff --git a/dockge/mediacms_7_2_0/envs/global.env b/dockge/mediacms_4_1_0/envs/global.env similarity index 100% rename from dockge/mediacms_7_2_0/envs/global.env rename to dockge/mediacms_4_1_0/envs/global.env diff --git a/dockge/minio/.env b/dockge/minio/.env index 7addb6af6..f98243a34 100644 --- a/dockge/minio/.env +++ b/dockge/minio/.env @@ -4,12 +4,9 @@ MINIO_ROOT_PATH=/home/minio # WebUI 端口 [必填] PANEL_APP_PORT_HTTP=9001 -# API 端口 (映射内部端口) [必填] +# API 端口 [必填] PANEL_APP_PORT_API=9000 -# API 内部端口 [必填] -MINIO_API_PORT=9000 - # 管理员 用户名 [必填] MINIO_ROOT_USER=minio diff --git a/dockge/minio/docker-compose.yml b/dockge/minio/docker-compose.yml index 4e37e835a..2bc78e830 100644 --- a/dockge/minio/docker-compose.yml +++ b/dockge/minio/docker-compose.yml @@ -3,7 +3,7 @@ networks: external: true services: minio: - command: server --console-address :${PANEL_APP_PORT_HTTP} --address :${MINIO_API_PORT} + command: server --console-address :${PANEL_APP_PORT_HTTP} --address :${PANEL_APP_PORT_API} --json container_name: minio env_file: @@ -15,7 +15,7 @@ services: - MINIO_BROWSER_REDIRECT=true extra_hosts: - ${MINIO_SERVER_HOST:-localhost}:127.0.0.1 - image: minio/minio:RELEASE.2025-09-07T16-13-09Z + image: qyg2297248353/minio:RELEASE.2025-04-22T22-12-26Z labels: createdBy: Apps logging: @@ -27,7 +27,7 @@ services: - 1panel-network ports: - ${PANEL_APP_PORT_HTTP}:${PANEL_APP_PORT_HTTP} - - ${PANEL_APP_PORT_API}:${MINIO_API_PORT} + - ${PANEL_APP_PORT_API}:${PANEL_APP_PORT_API} restart: always volumes: - ${MINIO_ROOT_PATH}/certs:/root/.minio/certs diff --git a/dockge/minio_2025-04-22/.env b/dockge/minio_2025-09-07/.env similarity index 86% rename from dockge/minio_2025-04-22/.env rename to dockge/minio_2025-09-07/.env index f98243a34..7addb6af6 100644 --- a/dockge/minio_2025-04-22/.env +++ b/dockge/minio_2025-09-07/.env @@ -4,9 +4,12 @@ MINIO_ROOT_PATH=/home/minio # WebUI 端口 [必填] PANEL_APP_PORT_HTTP=9001 -# API 端口 [必填] +# API 端口 (映射内部端口) [必填] PANEL_APP_PORT_API=9000 +# API 内部端口 [必填] +MINIO_API_PORT=9000 + # 管理员 用户名 [必填] MINIO_ROOT_USER=minio diff --git a/dockge/minio_2025-04-22/docker-compose.yml b/dockge/minio_2025-09-07/docker-compose.yml similarity index 83% rename from dockge/minio_2025-04-22/docker-compose.yml rename to dockge/minio_2025-09-07/docker-compose.yml index 2bc78e830..4e37e835a 100644 --- a/dockge/minio_2025-04-22/docker-compose.yml +++ b/dockge/minio_2025-09-07/docker-compose.yml @@ -3,7 +3,7 @@ networks: external: true services: minio: - command: server --console-address :${PANEL_APP_PORT_HTTP} --address :${PANEL_APP_PORT_API} + command: server --console-address :${PANEL_APP_PORT_HTTP} --address :${MINIO_API_PORT} --json container_name: minio env_file: @@ -15,7 +15,7 @@ services: - MINIO_BROWSER_REDIRECT=true extra_hosts: - ${MINIO_SERVER_HOST:-localhost}:127.0.0.1 - image: qyg2297248353/minio:RELEASE.2025-04-22T22-12-26Z + image: minio/minio:RELEASE.2025-09-07T16-13-09Z labels: createdBy: Apps logging: @@ -27,7 +27,7 @@ services: - 1panel-network ports: - ${PANEL_APP_PORT_HTTP}:${PANEL_APP_PORT_HTTP} - - ${PANEL_APP_PORT_API}:${PANEL_APP_PORT_API} + - ${PANEL_APP_PORT_API}:${MINIO_API_PORT} restart: always volumes: - ${MINIO_ROOT_PATH}/certs:/root/.minio/certs diff --git a/dockge/minio_2025-04-22/envs/default.env b/dockge/minio_2025-09-07/envs/default.env similarity index 100% rename from dockge/minio_2025-04-22/envs/default.env rename to dockge/minio_2025-09-07/envs/default.env diff --git a/dockge/minio_2025-04-22/envs/global.env b/dockge/minio_2025-09-07/envs/global.env similarity index 100% rename from dockge/minio_2025-04-22/envs/global.env rename to dockge/minio_2025-09-07/envs/global.env diff --git a/dockge/music-tag-web/.env b/dockge/music-tag-web/.env index 3a93177ae..35d99b310 100644 --- a/dockge/music-tag-web/.env +++ b/dockge/music-tag-web/.env @@ -2,7 +2,7 @@ MUSIC_TAG_WEB_ROOT_PATH=/home/music-tag-web # WebUI 端口 [必填] -PANEL_APP_PORT_HTTP=8002 +PANEL_APP_PORT_HTTP=8001 # 自定义挂载目录 1 CUSTOM_MOUNT_DIRECTORY_1= diff --git a/dockge/music-tag-web/docker-compose.yml b/dockge/music-tag-web/docker-compose.yml index 6b58906bd..febca33b2 100644 --- a/dockge/music-tag-web/docker-compose.yml +++ b/dockge/music-tag-web/docker-compose.yml @@ -3,19 +3,20 @@ networks: external: true services: music_tag_web: + command: /start container_name: music-tag-web env_file: - ./envs/global.env - .env environment: - TZ=Asia/Shanghai - image: xhongc/music_tag_web:2.7.1 + image: xhongc/music_tag_web:latest labels: createdBy: Apps networks: - 1panel-network ports: - - ${PANEL_APP_PORT_HTTP}:8002 + - ${PANEL_APP_PORT_HTTP}:8001 restart: always volumes: - ${MUSIC_TAG_WEB_ROOT_PATH}/data:/app/data diff --git a/dockge/music-tag-web_v1/.env b/dockge/music-tag-web_2_7_1/.env similarity index 91% rename from dockge/music-tag-web_v1/.env rename to dockge/music-tag-web_2_7_1/.env index 35d99b310..3a93177ae 100644 --- a/dockge/music-tag-web_v1/.env +++ b/dockge/music-tag-web_2_7_1/.env @@ -2,7 +2,7 @@ MUSIC_TAG_WEB_ROOT_PATH=/home/music-tag-web # WebUI 端口 [必填] -PANEL_APP_PORT_HTTP=8001 +PANEL_APP_PORT_HTTP=8002 # 自定义挂载目录 1 CUSTOM_MOUNT_DIRECTORY_1= diff --git a/dockge/music-tag-web_v1/docker-compose.yml b/dockge/music-tag-web_2_7_1/docker-compose.yml similarity index 87% rename from dockge/music-tag-web_v1/docker-compose.yml rename to dockge/music-tag-web_2_7_1/docker-compose.yml index febca33b2..6b58906bd 100644 --- a/dockge/music-tag-web_v1/docker-compose.yml +++ b/dockge/music-tag-web_2_7_1/docker-compose.yml @@ -3,20 +3,19 @@ networks: external: true services: music_tag_web: - command: /start container_name: music-tag-web env_file: - ./envs/global.env - .env environment: - TZ=Asia/Shanghai - image: xhongc/music_tag_web:latest + image: xhongc/music_tag_web:2.7.1 labels: createdBy: Apps networks: - 1panel-network ports: - - ${PANEL_APP_PORT_HTTP}:8001 + - ${PANEL_APP_PORT_HTTP}:8002 restart: always volumes: - ${MUSIC_TAG_WEB_ROOT_PATH}/data:/app/data diff --git a/dockge/music-tag-web_v1/envs/default.env b/dockge/music-tag-web_2_7_1/envs/default.env similarity index 100% rename from dockge/music-tag-web_v1/envs/default.env rename to dockge/music-tag-web_2_7_1/envs/default.env diff --git a/dockge/music-tag-web_v1/envs/global.env b/dockge/music-tag-web_2_7_1/envs/global.env similarity index 100% rename from dockge/music-tag-web_v1/envs/global.env rename to dockge/music-tag-web_2_7_1/envs/global.env diff --git a/dockge/nodepassdash/docker-compose.yml b/dockge/nodepassdash/docker-compose.yml index b9a42c35e..1802df3f3 100644 --- a/dockge/nodepassdash/docker-compose.yml +++ b/dockge/nodepassdash/docker-compose.yml @@ -10,7 +10,7 @@ services: environment: - TZ=Asia/Shanghai - PORT=${PANEL_APP_PORT_HTTP} - image: ghcr.io/nodepassproject/nodepassdash:2.2.1 + image: ghcr.io/nodepassproject/nodepassdash:3.3.1 labels: createdBy: Apps network_mode: ${NETWORK_MODE} diff --git a/dockge/nodepassdash_3_3_1/.env b/dockge/nodepassdash_2_2_1/.env similarity index 100% rename from dockge/nodepassdash_3_3_1/.env rename to dockge/nodepassdash_2_2_1/.env diff --git a/dockge/nodepassdash_3_3_1/docker-compose.yml b/dockge/nodepassdash_2_2_1/docker-compose.yml similarity index 90% rename from dockge/nodepassdash_3_3_1/docker-compose.yml rename to dockge/nodepassdash_2_2_1/docker-compose.yml index 1802df3f3..b9a42c35e 100644 --- a/dockge/nodepassdash_3_3_1/docker-compose.yml +++ b/dockge/nodepassdash_2_2_1/docker-compose.yml @@ -10,7 +10,7 @@ services: environment: - TZ=Asia/Shanghai - PORT=${PANEL_APP_PORT_HTTP} - image: ghcr.io/nodepassproject/nodepassdash:3.3.1 + image: ghcr.io/nodepassproject/nodepassdash:2.2.1 labels: createdBy: Apps network_mode: ${NETWORK_MODE} diff --git a/dockge/nodepassdash_3_3_1/envs/default.env b/dockge/nodepassdash_2_2_1/envs/default.env similarity index 100% rename from dockge/nodepassdash_3_3_1/envs/default.env rename to dockge/nodepassdash_2_2_1/envs/default.env diff --git a/dockge/nodepassdash_3_3_1/envs/global.env b/dockge/nodepassdash_2_2_1/envs/global.env similarity index 100% rename from dockge/nodepassdash_3_3_1/envs/global.env rename to dockge/nodepassdash_2_2_1/envs/global.env diff --git a/dockge/open-webui/docker-compose.yml b/dockge/open-webui/docker-compose.yml index b352edf23..259f2f998 100644 --- a/dockge/open-webui/docker-compose.yml +++ b/dockge/open-webui/docker-compose.yml @@ -15,7 +15,7 @@ services: - ENABLE_OLLAMA_API=True - ENABLE_OPENAI_API=False - https_proxy=${http_proxy} - image: ghcr.io/open-webui/open-webui:v0.8.11 + image: ghcr.io/open-webui/open-webui:v0.8.12 labels: createdBy: Apps networks: diff --git a/dockge/outline/.env b/dockge/outline/.env index 2e9c1dd49..b19151eb8 100644 --- a/dockge/outline/.env +++ b/dockge/outline/.env @@ -11,14 +11,23 @@ OUTLINE_ROOT_PATH=/home/outline PANEL_APP_PORT_HTTP=3000 # 加密密钥 [必填] -SECRET_KEY= +SECRET_KEY=fbad4f5da794acbc10f060cdfcf8673300f3302d87f076d7f6e781d4840e9c3d # 工具密钥 [必填] -UTILS_SECRET= +UTILS_SECRET=b2be1c54acbfe6d965bda01e63195cc815e4743a6fb5ba5f82eae916d98989b5 # 域名 [必填] URL=http://127.0.0.1:3000 +# CDN 域名 +CDN_URL= + +# iFramely 地址 [必填] +IFRAMELY_URL=https://iframe.ly/api/iframely + +# iFramely 密钥 +IFRAMELY_API_KEY= + # 数据库 主机地址 [必填] DB_HOSTNAME=127.0.0.1 @@ -43,12 +52,57 @@ SLACK_CLIENT_ID= # Slack 客户端密钥 (鉴权) SLACK_CLIENT_SECRET= -# 强制使用 HTTPS [必填] -FORCE_HTTPS=false +# Google 客户端 ID (鉴权) +GOOGLE_CLIENT_ID= -# HTTP 代理 -HTTP_PROXY= +# Google 客户端密钥 (鉴权) +GOOGLE_CLIENT_SECRET= -# 忽略代理 -NO_PROXY=localhost,127.0.0.1,::1,192.168.0.0/16,10.0.0.0/8,*.local +# Discord 客户端 ID (鉴权) +DISCORD_CLIENT_ID= + +# Discord 客户端密钥 (鉴权) +DISCORD_CLIENT_SECRET= + +# Discord 服务端 ID (鉴权) +DISCORD_SERVER_ID= + +# Discord 服务端角色 (鉴权) +DISCORD_SERVER_ROLES= + +# SMTP 主机 +SMTP_HOST= + +# SMTP 端口 +SMTP_PORT=465 + +# SMTP 用户名 +SMTP_USERNAME= + +# SMTP 密码 +SMTP_PASSWORD= + +# SMTP 发件人 +SMTP_FROM_EMAIL= + +# Slack 验证令牌 (Slack 集成) +SLACK_VERIFICATION_TOKEN= + +# Slack 应用ID (Slack 集成) +SLACK_APP_ID= + +# GitHub 客户端 ID (GitHub 集成) +GITHUB_CLIENT_ID= + +# GitHub 客户端密钥 (GitHub 集成) +GITHUB_CLIENT_SECRET= + +# GitHub 应用名称 (GitHub 集成) +GITHUB_APP_NAME= + +# GitHub 应用ID (GitHub 集成) +GITHUB_APP_ID= + +# GitHub 应用私钥 (GitHub 集成) +GITHUB_APP_PRIVATE_KEY= diff --git a/dockge/outline/docker-compose.yml b/dockge/outline/docker-compose.yml index 1a43396d9..3a643b7d6 100644 --- a/dockge/outline/docker-compose.yml +++ b/dockge/outline/docker-compose.yml @@ -9,11 +9,8 @@ services: - ./envs/outline.env - .env environment: - - HTTP_PROXY=${HTTP_PROXY} - - HTTPS_PROXY=${HTTP_PROXY} - - NO_PROXY=${NO_PROXY} - DATABASE_URL=postgres://${DB_USERNAME}:${DB_PASSWORD}@${DB_HOSTNAME}:${DB_PORT}/${DB_DATABASE_NAME} - image: outlinewiki/outline:1.6.1 + image: outlinewiki/outline:1.2.0 labels: createdBy: Apps networks: diff --git a/dockge/outline/envs/outline.env b/dockge/outline/envs/outline.env index f247c73fb..1e366c08f 100644 --- a/dockge/outline/envs/outline.env +++ b/dockge/outline/envs/outline.env @@ -1,156 +1,104 @@ +# –––––––––––––––– REQUIRED –––––––––––––––– + NODE_ENV=production -# 访问地址 -URL= +# Generate a hex-encoded 32-byte random key. You should use `openssl rand -hex 32` +# in your terminal to generate a random value. +SECRET_KEY=generate_a_new_key -# 服务端口 -PORT=3000 +# Generate a unique random key. The format is not important but you could still use +# `openssl rand -hex 32` in your terminal to produce this. +UTILS_SECRET=generate_a_new_key -# 运行一个独立的协作服务 -COLLABORATION_URL= - -# CDN 分发服务 -CDN_URL= - -# 启动多少个 Web 进程 -WEB_CONCURRENCY=1 - -# 生成一个 32 字节的随机密钥(十六进制编码)。 -# 可在终端中使用命令:`openssl rand -hex 32` -# SECRET_KEY= - -# 生成一个唯一的随机密钥。 -# 格式并不重要,但同样可以使用:`openssl rand -hex 32` -# UTILS_SECRET= - -# 默认界面语言。 -# 可用语言代码及其大致翻译完成度请参考:https://translate.getoutline.com -DEFAULT_LANGUAGE=zh_CN - - -# –––––––––––––––––––––––––––––––––––––– -# ––––––––––––– 数据库(DATABASE) ––––––––––––– -# –––––––––––––––––––––––––––––––––––––– - -# 生产环境数据库连接地址, -# 需包含用户名、密码、主机、端口以及数据库名。 -# DATABASE_URL=postgres://user:pass@postgres:5432/outline - -# 每个进程的数据库连接池(内存中)配置。 -# 请确保连接池大小不会超过数据库允许的最大连接数。 -# 默认最小值为 0,最大值为 5。 -DATABASE_CONNECTION_POOL_MIN=0 -DATABASE_CONNECTION_POOL_MAX=5 - -# 如果你不打算使用 SSL 连接 Postgres,请取消注释此行。 -# 当数据库与应用部署在同一台机器上时,这是可以接受的。 +# For production point these at your databases, in development the default +# should work out of the box. +DATABASE_URL=postgres://user:pass@localhost:5432/outline +DATABASE_CONNECTION_POOL_MIN= +DATABASE_CONNECTION_POOL_MAX= +# Uncomment this to disable SSL for connecting to Postgres PGSSLMODE=disable +# For redis you can either specify an ioredis compatible url like this +REDIS_URL=redis://localhost:6379 +# or alternatively, if you would like to provide additional connection options, +# use a base64 encoded JSON connection option object. Refer to the ioredis documentation +# for a list of available options. +# Example: Use Redis Sentinel for high availability +# {"sentinels":[{"host":"sentinel-0","port":26379},{"host":"sentinel-1","port":26379}],"name":"mymaster"} +# REDIS_URL=ioredis://eyJzZW50aW5lbHMiOlt7Imhvc3QiOiJzZW50aW5lbC0wIiwicG9ydCI6MjYzNzl9LHsiaG9zdCI6InNlbnRpbmVsLTEiLCJwb3J0IjoyNjM3OX1dLCJuYW1lIjoibXltYXN0ZXIifQ== -# –––––––––––––––––––––––––––––––––––––– -# –––––––––––––– Redis ––––––––––––––– -# –––––––––––––––––––––––––––––––––––––– +# URL should point to the fully qualified, publicly accessible URL. If using a +# proxy the port in URL and PORT may be different. +URL=http://127.0.0.1:3000 +PORT=3000 -# Redis 连接地址。 -# 可以是 ioredis 兼容的 URL,或者 Base64 编码后的配置对象。 -# 文档:https://docs.getoutline.com/s/hosting/doc/redis-LGM4BFXYp4 -# REDIS_URL=redis://redis:6379 +# See [documentation](docs/SERVICES.md) on running a separate collaboration +# server, for normal operation this does not need to be set. +COLLABORATION_URL= -# 若要启用协作服务的横向扩展(多实例),必须提供 Redis 地址。 -# 可以与上面的 REDIS_URL 相同,也可以使用不同的 Redis 服务。 -# 文档:https://docs.getoutline.com/s/hosting/doc/horizontal-scaling-hkfU5Stao7 -# REDIS_COLLABORATION_URL= - - -# –––––––––––––––––––––––––––––––––––––– -# ––––––––––– 文件存储(FILE STORAGE) ––––––––––– -# –––––––––––––––––––––––––––––––––––––– - -# 指定使用的存储系统。 -# 可选值:"s3" 或 "local"。 -# - local:图片和文档附件存储在本地磁盘 -# - s3:存储在兼容 S3 的对象存储服务中 -# 文档:https://docs.getoutline.com/s/hosting/doc/file-storage-N4M0T6Ypu7 +# Specify what storage system to use. Possible value is one of "s3" or "local". +# For "local", the avatar images and document attachments will be saved on local disk. FILE_STORAGE=local -# 当 FILE_STORAGE=local 时, -# 此路径为所有附件 / 图片的父目录。 -# 请确保进程有权限创建该目录并写入文件。 +# If "local" is configured for FILE_STORAGE above, then this sets the parent directory under +# which all attachments/images go. Make sure that the process has permissions to create +# this path and also to write files to it. FILE_STORAGE_LOCAL_ROOT_DIR=/var/lib/outline/data -# 单个附件允许上传的最大大小(字节)。 +# Maximum allowed size for the uploaded attachment. FILE_STORAGE_UPLOAD_MAX_SIZE=262144000 -# 覆盖“文档导入”的最大文件大小, -# 通常应小于普通文档附件的最大限制。 +# Override the maximum size of document imports, generally this should be lower +# than the document attachment maximum size. FILE_STORAGE_IMPORT_MAX_SIZE= -# 覆盖“工作区导入”的最大文件大小。 -# 该类文件通常非常大,并且是临时文件, -# 在一段时间后会被自动删除。 +# Override the maximum size of workspace imports, these can be especially large +# and the files are temporary being automatically deleted after a period of time. FILE_STORAGE_WORKSPACE_IMPORT_MAX_SIZE= -# 若要在分布式架构中支持头像图片和文档附件上传, -# 当 FILE_STORAGE=s3 时,可配置兼容 S3 的对象存储。 -# AWS_ACCESS_KEY_ID=get_a_key_from_aws -# AWS_SECRET_ACCESS_KEY=get_the_secret_of_above_key -# AWS_REGION=xx-xxxx-x -# AWS_S3_ACCELERATE_URL= -# AWS_S3_UPLOAD_BUCKET_URL=http://s3:4569 -# AWS_S3_UPLOAD_BUCKET_NAME=bucket_name_here -# AWS_S3_FORCE_PATH_STYLE=true -# AWS_S3_ACL=private +# To support uploading of images for avatars and document attachments in a distributed +# architecture an s3-compatible storage can be configured if FILE_STORAGE=s3 above. +AWS_ACCESS_KEY_ID=get_a_key_from_aws +AWS_SECRET_ACCESS_KEY=get_the_secret_of_above_key +AWS_REGION=xx-xxxx-x +AWS_S3_ACCELERATE_URL= +AWS_S3_UPLOAD_BUCKET_URL=http://s3:4569 +AWS_S3_UPLOAD_BUCKET_NAME=bucket_name_here +AWS_S3_FORCE_PATH_STYLE=true +AWS_S3_ACL=private +# –––––––––––––– AUTHENTICATION –––––––––––––– -# –––––––––––––––––––––––––––––––––––––– -# –––––––––––––––– SSL ––––––––––––––– -# –––––––––––––––––––––––––––––––––––––– +# Third party signin credentials, at least ONE OF EITHER Google, Slack, +# or Microsoft is required for a working installation or you'll have no sign-in +# options. -# HTTPS 终止所需的私钥和证书(Base64 编码)。 -# 这是三种 SSL 配置方式之一,可以留空。 -# 文档:https://docs.getoutline.com/s/hosting/doc/ssl-pzk7WO8d1n -SSL_KEY= -SSL_CERT= +# To configure Slack auth, you'll need to create an Application at +# => https://api.slack.com/apps +# +# When configuring the Client ID, add a redirect URL under "OAuth & Permissions": +# https:///auth/slack.callback +SLACK_CLIENT_ID=get_a_key_from_slack +SLACK_CLIENT_SECRET=get_the_secret_of_above_key -# 在生产环境中是否强制跳转到 HTTPS。 -# 默认值为 true; -# 如果你确定 SSL 已由外部负载均衡器终止,可以设置为 false。 -# FORCE_HTTPS=true - - -# –––––––––––––––––––––––––––––––––––––– -# –––––––––– 认证(AUTHENTICATION) –––––––––– -# –––––––––––––––––––––––––––––––––––––– - -# 第三方登录配置。 -# 至少需要配置以下之一:Google、Slack、Discord 或 Microsoft, -# 否则系统将没有任何登录方式。 - -# Slack 登录 -# 文档:https://docs.getoutline.com/s/hosting/doc/slack-sgMujR8J9J -SLACK_CLIENT_ID= -SLACK_CLIENT_SECRET= - -# Google 登录 -# 文档:https://docs.getoutline.com/s/hosting/doc/google-hOuvtCmTqQ +# To configure Google auth, you'll need to create an OAuth Client ID at +# => https://console.cloud.google.com/apis/credentials +# +# When configuring the Client ID, add an Authorized redirect URI: +# https:///auth/google.callback GOOGLE_CLIENT_ID= GOOGLE_CLIENT_SECRET= -# Microsoft Entra / Azure AD 登录 -# 文档:https://docs.getoutline.com/s/hosting/doc/microsoft-entra-UVz6jsIOcv +# To configure Microsoft/Azure auth, you'll need to create an OAuth Client. See +# the guide for details on setting up your Azure App: +# => https://wiki.generaloutline.com/share/dfa77e56-d4d2-4b51-8ff8-84ea6608faa4 AZURE_CLIENT_ID= AZURE_CLIENT_SECRET= AZURE_RESOURCE_APP_ID= -# Discord 登录 -# 文档:https://docs.getoutline.com/s/hosting/doc/discord-g4JdWFFub6 -DISCORD_CLIENT_ID= -DISCORD_CLIENT_SECRET= -DISCORD_SERVER_ID= -DISCORD_SERVER_ROLES= - -# 通用 OIDC(OpenID Connect)提供方 -# 文档:https://docs.getoutline.com/s/hosting/doc/oidc-8CPBm6uC0I +# To configure generic OIDC auth, you'll need some kind of identity provider. +# See documentation for whichever IdP you use to acquire the following info: +# Redirect URI is https:///auth/oidc.callback OIDC_CLIENT_ID= OIDC_CLIENT_SECRET= OIDC_AUTH_URI= @@ -158,107 +106,119 @@ OIDC_TOKEN_URI= OIDC_USERINFO_URI= OIDC_LOGOUT_URI= -# 指定用于派生用户信息的声明(claim)。 -# 支持任何 JWT payload 中的合法 JSON Path。 +# Specify which claims to derive user information from +# Supports any valid JSON path with the JWT payload OIDC_USERNAME_CLAIM=preferred_username -# OIDC 登录方式在界面上显示的名称 +# Display name for OIDC authentication OIDC_DISPLAY_NAME=OpenID Connect -# OIDC 授权作用域(以空格分隔) +# Space separated auth scopes. OIDC_SCOPES=openid profile email - -# –––––––––––––––––––––––––––––––––––––– -# –––––––––––––– 邮件(EMAIL) ––––––––––––––– -# –––––––––––––––––––––––––––––––––––––– - -# 若要发送诸如“文档更新通知”或“邮箱登录”等事务性邮件, -# 需要配置一个 SMTP 服务器。 -# 可使用以下列表中的任意服务: -# https://community.nodemailer.com/2-0-0-beta/setup-smtp/well-known-services/ -# 文档:https://docs.getoutline.com/s/hosting/doc/smtp-cqCJyZGMIB -SMTP_SERVICE= -SMTP_USERNAME= -SMTP_PASSWORD= -SMTP_FROM_EMAIL= - - -# –––––––––––––––––––––––––––––––––––––– -# –––––––––– 限流器(RATE LIMITER) –––––––––––– -# –––––––––––––––––––––––––––––––––––––– - -# 是否启用限流器 -RATE_LIMITER_ENABLED=true - -# 各个接口本身有硬编码的限流规则(在启用上项后生效), -# 以下是一个全局限流器配置,作用于所有请求。 -RATE_LIMITER_REQUESTS=1000 -RATE_LIMITER_DURATION_WINDOW=60 - - -# –––––––––––––––––––––––––––––––––––––– -# ––––––––––– 集成(INTEGRATIONS) ––––––––––– -# –––––––––––––––––––––––––––––––––––––– - -# GitHub 集成,用于预览 Issue 和 Pull Request 链接 -# 文档:https://docs.getoutline.com/s/hosting/doc/github-GchT3NNxI9 +# To configure the GitHub integration, you'll need to create a GitHub App at +# => https://github.com/settings/apps +# +# When configuring the Client ID, add a redirect URL under "Permissions & events": +# https:///api/github.callback GITHUB_CLIENT_ID= GITHUB_CLIENT_SECRET= -GITHUB_WEBHOOK_SECRET= GITHUB_APP_NAME= GITHUB_APP_ID= GITHUB_APP_PRIVATE_KEY= -# Linear 集成,用于将 Issue 链接显示为富文本提及 -LINEAR_CLIENT_ID= -LINEAR_CLIENT_SECRET= +# To configure Discord auth, you'll need to create a Discord Application at +# => https://discord.com/developers/applications/ +# +# When configuring the Client ID, add a redirect URL under "OAuth2": +# https:///auth/discord.callback +DISCORD_CLIENT_ID= +DISCORD_CLIENT_SECRET= -# 若要实现完整的 Slack 集成(搜索、向频道发送消息), -# 除 Slack 登录外,还需要以下配置: -# 文档:https://docs.getoutline.com/s/hosting/doc/slack-G2mc8DOJHk -SLACK_VERIFICATION_TOKEN= -SLACK_APP_ID= +# DISCORD_SERVER_ID should be the ID of the Discord server that Outline is +# integrated with. +# Used to verify that the user is a member of the server as well as server +# metadata such as nicknames, server icon and name. +DISCORD_SERVER_ID= + +# DISCORD_SERVER_ROLES should be a comma separated list of role IDs that are +# allowed to access Outline. If this is not set, all members of the server +# will be allowed to access Outline. +# DISCORD_SERVER_ID and DISCORD_SERVER_ROLES must be set together. +DISCORD_SERVER_ROLES= + +# –––––––––––––––– OPTIONAL –––––––––––––––– + +# Base64 encoded private key and certificate for HTTPS termination. This is only +# required if you do not use an external reverse proxy. See documentation: +# https://wiki.generaloutline.com/share/1c922644-40d8-41fe-98f9-df2b67239d45 +SSL_KEY= +SSL_CERT= + +# If using a Cloudfront/Cloudflare distribution or similar it can be set below. +# This will cause paths to javascript, stylesheets, and images to be updated to +# the hostname defined in CDN_URL. In your CDN configuration the origin server +# should be set to the same as URL. +CDN_URL= + +# Auto-redirect to https in production. The default is true but you may set to +# false if you can be sure that SSL is terminated at an external loadbalancer. +FORCE_HTTPS=false + +# Have the installation check for updates by sending anonymized statistics to +# the maintainers +ENABLE_UPDATES=true + +# How many processes should be spawned. As a reasonable rule divide your servers +# available memory by 512 for a rough estimate +WEB_CONCURRENCY=1 + +# You can remove this line if your reverse proxy already logs incoming http +# requests and this ends up being duplicative +DEBUG=http + +# Configure lowest severity level for server logs. Should be one of +# error, warn, info, http, verbose, debug and silly +LOG_LEVEL=info + +# For a complete Slack integration with search and posting to channels the +# following configs are also needed, some more details +# => https://wiki.generaloutline.com/share/be25efd1-b3ef-4450-b8e5-c4a4fc11e02a +# +SLACK_VERIFICATION_TOKEN=your_token +SLACK_APP_ID=A0XXXXXXX SLACK_MESSAGE_ACTIONS=true -# Figma 集成,用于将设计文件显示为富文本预览 -FIGMA_CLIENT_ID= -FIGMA_CLIENT_SECRET= - -# Dropbox 集成。 -# 按以下说明获取 key:https://www.dropbox.com/developers/embedder#setup -# 并记得在应用设置中将你的域名加入白名单。 -DROPBOX_APP_KEY= - -# 可选:启用 Sentry(sentry.io)用于错误和性能监控 -# 文档:https://docs.getoutline.com/s/hosting/doc/sentry-jxcFttcDl5 +# Optionally enable Sentry (sentry.io) to track errors and performance, +# and optionally add a Sentry proxy tunnel for bypassing ad blockers in the UI: +# https://docs.sentry.io/platforms/javascript/troubleshooting/#using-the-tunnel-option) SENTRY_DSN= SENTRY_TUNNEL= -# 启用从 Notion 工作区导入页面 -# 文档:https://docs.getoutline.com/s/hosting/doc/notion-2v6g7WY3l3 -NOTION_CLIENT_ID= -NOTION_CLIENT_SECRET= +# To support sending outgoing transactional emails such as "document updated" or +# "you've been invited" you'll need to provide authentication for an SMTP server +SMTP_HOST= +SMTP_PORT= +SMTP_USERNAME= +SMTP_PASSWORD= +SMTP_FROM_EMAIL= +SMTP_REPLY_EMAIL= +SMTP_TLS_CIPHERS= +SMTP_SECURE=true -# Iframely 集成,允许在 Outline 中预览第三方内容。 -# 例如:鼠标悬停在外部链接上时显示预览。 -# 文档:https://docs.getoutline.com/s/hosting/doc/iframely-HwLF1EZ9mo -IFRAMELY_URL= -IFRAMELY_API_KEY= +# The default interface language. See translate.getoutline.com for a list of +# available language codes and their rough percentage translated. +DEFAULT_LANGUAGE=zh_CN +# Optionally enable rate limiter at application web server +RATE_LIMITER_ENABLED=true -# –––––––––––––––––––––––––––––––––––––– -# ––––––––––––– 调试(DEBUGGING) –––––––––––– -# –––––––––––––––––––––––––––––––––––––– +# Configure default throttling parameters for rate limiter +RATE_LIMITER_REQUESTS=1000 +RATE_LIMITER_DURATION_WINDOW=60 -# 是否通过发送匿名统计信息来检查更新 -ENABLE_UPDATES=false - -# 启用的调试分类。 -# 如果你的代理已经记录了 HTTP 请求日志, -# 可移除默认的 "http",以避免重复日志。 -DEBUG=http - -# 服务器日志的最低级别,可选值: -# error, warn, info, http, verbose, debug, silly -LOG_LEVEL=info +# Iframely API config +# https://iframe.ly/api/oembed +# https://iframe.ly/api/iframely +IFRAMELY_URL=https://iframe.ly/api/iframely +# IFRAMELY_API_KEY= diff --git a/dockge/outline_1_2_0/.env b/dockge/outline_1_2_0/.env deleted file mode 100644 index b19151eb8..000000000 --- a/dockge/outline_1_2_0/.env +++ /dev/null @@ -1,108 +0,0 @@ -# Redis 服务 (前置检查) [必填] -PANEL_REDIS_TYPE=redis - -# Postgres 服务 (前置检查) [必填] -PANEL_POSTGRES_TYPE=postgresql - -# 数据持久化路径 [必填] -OUTLINE_ROOT_PATH=/home/outline - -# WebUI 端口 [必填] -PANEL_APP_PORT_HTTP=3000 - -# 加密密钥 [必填] -SECRET_KEY=fbad4f5da794acbc10f060cdfcf8673300f3302d87f076d7f6e781d4840e9c3d - -# 工具密钥 [必填] -UTILS_SECRET=b2be1c54acbfe6d965bda01e63195cc815e4743a6fb5ba5f82eae916d98989b5 - -# 域名 [必填] -URL=http://127.0.0.1:3000 - -# CDN 域名 -CDN_URL= - -# iFramely 地址 [必填] -IFRAMELY_URL=https://iframe.ly/api/iframely - -# iFramely 密钥 -IFRAMELY_API_KEY= - -# 数据库 主机地址 [必填] -DB_HOSTNAME=127.0.0.1 - -# 数据库 端口 [必填] -DB_PORT=5432 - -# 数据库 用户名 [必填] -DB_USERNAME=outline - -# 数据库 密码 [必填] -DB_PASSWORD= - -# 数据库 名称 [必填] -DB_DATABASE_NAME=outline - -# Redis 链接 [必填] -REDIS_URL=redis://localhost:6379 - -# Slack 客户端 ID (鉴权) -SLACK_CLIENT_ID= - -# Slack 客户端密钥 (鉴权) -SLACK_CLIENT_SECRET= - -# Google 客户端 ID (鉴权) -GOOGLE_CLIENT_ID= - -# Google 客户端密钥 (鉴权) -GOOGLE_CLIENT_SECRET= - -# Discord 客户端 ID (鉴权) -DISCORD_CLIENT_ID= - -# Discord 客户端密钥 (鉴权) -DISCORD_CLIENT_SECRET= - -# Discord 服务端 ID (鉴权) -DISCORD_SERVER_ID= - -# Discord 服务端角色 (鉴权) -DISCORD_SERVER_ROLES= - -# SMTP 主机 -SMTP_HOST= - -# SMTP 端口 -SMTP_PORT=465 - -# SMTP 用户名 -SMTP_USERNAME= - -# SMTP 密码 -SMTP_PASSWORD= - -# SMTP 发件人 -SMTP_FROM_EMAIL= - -# Slack 验证令牌 (Slack 集成) -SLACK_VERIFICATION_TOKEN= - -# Slack 应用ID (Slack 集成) -SLACK_APP_ID= - -# GitHub 客户端 ID (GitHub 集成) -GITHUB_CLIENT_ID= - -# GitHub 客户端密钥 (GitHub 集成) -GITHUB_CLIENT_SECRET= - -# GitHub 应用名称 (GitHub 集成) -GITHUB_APP_NAME= - -# GitHub 应用ID (GitHub 集成) -GITHUB_APP_ID= - -# GitHub 应用私钥 (GitHub 集成) -GITHUB_APP_PRIVATE_KEY= - diff --git a/dockge/outline_1_2_0/envs/outline.env b/dockge/outline_1_2_0/envs/outline.env deleted file mode 100644 index 1e366c08f..000000000 --- a/dockge/outline_1_2_0/envs/outline.env +++ /dev/null @@ -1,224 +0,0 @@ -# –––––––––––––––– REQUIRED –––––––––––––––– - -NODE_ENV=production - -# Generate a hex-encoded 32-byte random key. You should use `openssl rand -hex 32` -# in your terminal to generate a random value. -SECRET_KEY=generate_a_new_key - -# Generate a unique random key. The format is not important but you could still use -# `openssl rand -hex 32` in your terminal to produce this. -UTILS_SECRET=generate_a_new_key - -# For production point these at your databases, in development the default -# should work out of the box. -DATABASE_URL=postgres://user:pass@localhost:5432/outline -DATABASE_CONNECTION_POOL_MIN= -DATABASE_CONNECTION_POOL_MAX= -# Uncomment this to disable SSL for connecting to Postgres -PGSSLMODE=disable - -# For redis you can either specify an ioredis compatible url like this -REDIS_URL=redis://localhost:6379 -# or alternatively, if you would like to provide additional connection options, -# use a base64 encoded JSON connection option object. Refer to the ioredis documentation -# for a list of available options. -# Example: Use Redis Sentinel for high availability -# {"sentinels":[{"host":"sentinel-0","port":26379},{"host":"sentinel-1","port":26379}],"name":"mymaster"} -# REDIS_URL=ioredis://eyJzZW50aW5lbHMiOlt7Imhvc3QiOiJzZW50aW5lbC0wIiwicG9ydCI6MjYzNzl9LHsiaG9zdCI6InNlbnRpbmVsLTEiLCJwb3J0IjoyNjM3OX1dLCJuYW1lIjoibXltYXN0ZXIifQ== - -# URL should point to the fully qualified, publicly accessible URL. If using a -# proxy the port in URL and PORT may be different. -URL=http://127.0.0.1:3000 -PORT=3000 - -# See [documentation](docs/SERVICES.md) on running a separate collaboration -# server, for normal operation this does not need to be set. -COLLABORATION_URL= - -# Specify what storage system to use. Possible value is one of "s3" or "local". -# For "local", the avatar images and document attachments will be saved on local disk. -FILE_STORAGE=local - -# If "local" is configured for FILE_STORAGE above, then this sets the parent directory under -# which all attachments/images go. Make sure that the process has permissions to create -# this path and also to write files to it. -FILE_STORAGE_LOCAL_ROOT_DIR=/var/lib/outline/data - -# Maximum allowed size for the uploaded attachment. -FILE_STORAGE_UPLOAD_MAX_SIZE=262144000 - -# Override the maximum size of document imports, generally this should be lower -# than the document attachment maximum size. -FILE_STORAGE_IMPORT_MAX_SIZE= - -# Override the maximum size of workspace imports, these can be especially large -# and the files are temporary being automatically deleted after a period of time. -FILE_STORAGE_WORKSPACE_IMPORT_MAX_SIZE= - -# To support uploading of images for avatars and document attachments in a distributed -# architecture an s3-compatible storage can be configured if FILE_STORAGE=s3 above. -AWS_ACCESS_KEY_ID=get_a_key_from_aws -AWS_SECRET_ACCESS_KEY=get_the_secret_of_above_key -AWS_REGION=xx-xxxx-x -AWS_S3_ACCELERATE_URL= -AWS_S3_UPLOAD_BUCKET_URL=http://s3:4569 -AWS_S3_UPLOAD_BUCKET_NAME=bucket_name_here -AWS_S3_FORCE_PATH_STYLE=true -AWS_S3_ACL=private - -# –––––––––––––– AUTHENTICATION –––––––––––––– - -# Third party signin credentials, at least ONE OF EITHER Google, Slack, -# or Microsoft is required for a working installation or you'll have no sign-in -# options. - -# To configure Slack auth, you'll need to create an Application at -# => https://api.slack.com/apps -# -# When configuring the Client ID, add a redirect URL under "OAuth & Permissions": -# https:///auth/slack.callback -SLACK_CLIENT_ID=get_a_key_from_slack -SLACK_CLIENT_SECRET=get_the_secret_of_above_key - -# To configure Google auth, you'll need to create an OAuth Client ID at -# => https://console.cloud.google.com/apis/credentials -# -# When configuring the Client ID, add an Authorized redirect URI: -# https:///auth/google.callback -GOOGLE_CLIENT_ID= -GOOGLE_CLIENT_SECRET= - -# To configure Microsoft/Azure auth, you'll need to create an OAuth Client. See -# the guide for details on setting up your Azure App: -# => https://wiki.generaloutline.com/share/dfa77e56-d4d2-4b51-8ff8-84ea6608faa4 -AZURE_CLIENT_ID= -AZURE_CLIENT_SECRET= -AZURE_RESOURCE_APP_ID= - -# To configure generic OIDC auth, you'll need some kind of identity provider. -# See documentation for whichever IdP you use to acquire the following info: -# Redirect URI is https:///auth/oidc.callback -OIDC_CLIENT_ID= -OIDC_CLIENT_SECRET= -OIDC_AUTH_URI= -OIDC_TOKEN_URI= -OIDC_USERINFO_URI= -OIDC_LOGOUT_URI= - -# Specify which claims to derive user information from -# Supports any valid JSON path with the JWT payload -OIDC_USERNAME_CLAIM=preferred_username - -# Display name for OIDC authentication -OIDC_DISPLAY_NAME=OpenID Connect - -# Space separated auth scopes. -OIDC_SCOPES=openid profile email - -# To configure the GitHub integration, you'll need to create a GitHub App at -# => https://github.com/settings/apps -# -# When configuring the Client ID, add a redirect URL under "Permissions & events": -# https:///api/github.callback -GITHUB_CLIENT_ID= -GITHUB_CLIENT_SECRET= -GITHUB_APP_NAME= -GITHUB_APP_ID= -GITHUB_APP_PRIVATE_KEY= - -# To configure Discord auth, you'll need to create a Discord Application at -# => https://discord.com/developers/applications/ -# -# When configuring the Client ID, add a redirect URL under "OAuth2": -# https:///auth/discord.callback -DISCORD_CLIENT_ID= -DISCORD_CLIENT_SECRET= - -# DISCORD_SERVER_ID should be the ID of the Discord server that Outline is -# integrated with. -# Used to verify that the user is a member of the server as well as server -# metadata such as nicknames, server icon and name. -DISCORD_SERVER_ID= - -# DISCORD_SERVER_ROLES should be a comma separated list of role IDs that are -# allowed to access Outline. If this is not set, all members of the server -# will be allowed to access Outline. -# DISCORD_SERVER_ID and DISCORD_SERVER_ROLES must be set together. -DISCORD_SERVER_ROLES= - -# –––––––––––––––– OPTIONAL –––––––––––––––– - -# Base64 encoded private key and certificate for HTTPS termination. This is only -# required if you do not use an external reverse proxy. See documentation: -# https://wiki.generaloutline.com/share/1c922644-40d8-41fe-98f9-df2b67239d45 -SSL_KEY= -SSL_CERT= - -# If using a Cloudfront/Cloudflare distribution or similar it can be set below. -# This will cause paths to javascript, stylesheets, and images to be updated to -# the hostname defined in CDN_URL. In your CDN configuration the origin server -# should be set to the same as URL. -CDN_URL= - -# Auto-redirect to https in production. The default is true but you may set to -# false if you can be sure that SSL is terminated at an external loadbalancer. -FORCE_HTTPS=false - -# Have the installation check for updates by sending anonymized statistics to -# the maintainers -ENABLE_UPDATES=true - -# How many processes should be spawned. As a reasonable rule divide your servers -# available memory by 512 for a rough estimate -WEB_CONCURRENCY=1 - -# You can remove this line if your reverse proxy already logs incoming http -# requests and this ends up being duplicative -DEBUG=http - -# Configure lowest severity level for server logs. Should be one of -# error, warn, info, http, verbose, debug and silly -LOG_LEVEL=info - -# For a complete Slack integration with search and posting to channels the -# following configs are also needed, some more details -# => https://wiki.generaloutline.com/share/be25efd1-b3ef-4450-b8e5-c4a4fc11e02a -# -SLACK_VERIFICATION_TOKEN=your_token -SLACK_APP_ID=A0XXXXXXX -SLACK_MESSAGE_ACTIONS=true - -# Optionally enable Sentry (sentry.io) to track errors and performance, -# and optionally add a Sentry proxy tunnel for bypassing ad blockers in the UI: -# https://docs.sentry.io/platforms/javascript/troubleshooting/#using-the-tunnel-option) -SENTRY_DSN= -SENTRY_TUNNEL= - -# To support sending outgoing transactional emails such as "document updated" or -# "you've been invited" you'll need to provide authentication for an SMTP server -SMTP_HOST= -SMTP_PORT= -SMTP_USERNAME= -SMTP_PASSWORD= -SMTP_FROM_EMAIL= -SMTP_REPLY_EMAIL= -SMTP_TLS_CIPHERS= -SMTP_SECURE=true - -# The default interface language. See translate.getoutline.com for a list of -# available language codes and their rough percentage translated. -DEFAULT_LANGUAGE=zh_CN - -# Optionally enable rate limiter at application web server -RATE_LIMITER_ENABLED=true - -# Configure default throttling parameters for rate limiter -RATE_LIMITER_REQUESTS=1000 -RATE_LIMITER_DURATION_WINDOW=60 - -# Iframely API config -# https://iframe.ly/api/oembed -# https://iframe.ly/api/iframely -IFRAMELY_URL=https://iframe.ly/api/iframely -# IFRAMELY_API_KEY= diff --git a/dockge/outline_1_6_1/.env b/dockge/outline_1_6_1/.env new file mode 100644 index 000000000..2e9c1dd49 --- /dev/null +++ b/dockge/outline_1_6_1/.env @@ -0,0 +1,54 @@ +# Redis 服务 (前置检查) [必填] +PANEL_REDIS_TYPE=redis + +# Postgres 服务 (前置检查) [必填] +PANEL_POSTGRES_TYPE=postgresql + +# 数据持久化路径 [必填] +OUTLINE_ROOT_PATH=/home/outline + +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=3000 + +# 加密密钥 [必填] +SECRET_KEY= + +# 工具密钥 [必填] +UTILS_SECRET= + +# 域名 [必填] +URL=http://127.0.0.1:3000 + +# 数据库 主机地址 [必填] +DB_HOSTNAME=127.0.0.1 + +# 数据库 端口 [必填] +DB_PORT=5432 + +# 数据库 用户名 [必填] +DB_USERNAME=outline + +# 数据库 密码 [必填] +DB_PASSWORD= + +# 数据库 名称 [必填] +DB_DATABASE_NAME=outline + +# Redis 链接 [必填] +REDIS_URL=redis://localhost:6379 + +# Slack 客户端 ID (鉴权) +SLACK_CLIENT_ID= + +# Slack 客户端密钥 (鉴权) +SLACK_CLIENT_SECRET= + +# 强制使用 HTTPS [必填] +FORCE_HTTPS=false + +# HTTP 代理 +HTTP_PROXY= + +# 忽略代理 +NO_PROXY=localhost,127.0.0.1,::1,192.168.0.0/16,10.0.0.0/8,*.local + diff --git a/dockge/outline_1_2_0/docker-compose.yml b/dockge/outline_1_6_1/docker-compose.yml similarity index 79% rename from dockge/outline_1_2_0/docker-compose.yml rename to dockge/outline_1_6_1/docker-compose.yml index 3a643b7d6..1a43396d9 100644 --- a/dockge/outline_1_2_0/docker-compose.yml +++ b/dockge/outline_1_6_1/docker-compose.yml @@ -9,8 +9,11 @@ services: - ./envs/outline.env - .env environment: + - HTTP_PROXY=${HTTP_PROXY} + - HTTPS_PROXY=${HTTP_PROXY} + - NO_PROXY=${NO_PROXY} - DATABASE_URL=postgres://${DB_USERNAME}:${DB_PASSWORD}@${DB_HOSTNAME}:${DB_PORT}/${DB_DATABASE_NAME} - image: outlinewiki/outline:1.2.0 + image: outlinewiki/outline:1.6.1 labels: createdBy: Apps networks: diff --git a/dockge/outline_1_2_0/envs/default.env b/dockge/outline_1_6_1/envs/default.env similarity index 100% rename from dockge/outline_1_2_0/envs/default.env rename to dockge/outline_1_6_1/envs/default.env diff --git a/dockge/outline_1_2_0/envs/global.env b/dockge/outline_1_6_1/envs/global.env similarity index 100% rename from dockge/outline_1_2_0/envs/global.env rename to dockge/outline_1_6_1/envs/global.env diff --git a/dockge/outline_1_6_1/envs/outline.env b/dockge/outline_1_6_1/envs/outline.env new file mode 100644 index 000000000..f247c73fb --- /dev/null +++ b/dockge/outline_1_6_1/envs/outline.env @@ -0,0 +1,264 @@ +NODE_ENV=production + +# 访问地址 +URL= + +# 服务端口 +PORT=3000 + +# 运行一个独立的协作服务 +COLLABORATION_URL= + +# CDN 分发服务 +CDN_URL= + +# 启动多少个 Web 进程 +WEB_CONCURRENCY=1 + +# 生成一个 32 字节的随机密钥(十六进制编码)。 +# 可在终端中使用命令:`openssl rand -hex 32` +# SECRET_KEY= + +# 生成一个唯一的随机密钥。 +# 格式并不重要,但同样可以使用:`openssl rand -hex 32` +# UTILS_SECRET= + +# 默认界面语言。 +# 可用语言代码及其大致翻译完成度请参考:https://translate.getoutline.com +DEFAULT_LANGUAGE=zh_CN + + +# –––––––––––––––––––––––––––––––––––––– +# ––––––––––––– 数据库(DATABASE) ––––––––––––– +# –––––––––––––––––––––––––––––––––––––– + +# 生产环境数据库连接地址, +# 需包含用户名、密码、主机、端口以及数据库名。 +# DATABASE_URL=postgres://user:pass@postgres:5432/outline + +# 每个进程的数据库连接池(内存中)配置。 +# 请确保连接池大小不会超过数据库允许的最大连接数。 +# 默认最小值为 0,最大值为 5。 +DATABASE_CONNECTION_POOL_MIN=0 +DATABASE_CONNECTION_POOL_MAX=5 + +# 如果你不打算使用 SSL 连接 Postgres,请取消注释此行。 +# 当数据库与应用部署在同一台机器上时,这是可以接受的。 +PGSSLMODE=disable + + +# –––––––––––––––––––––––––––––––––––––– +# –––––––––––––– Redis ––––––––––––––– +# –––––––––––––––––––––––––––––––––––––– + +# Redis 连接地址。 +# 可以是 ioredis 兼容的 URL,或者 Base64 编码后的配置对象。 +# 文档:https://docs.getoutline.com/s/hosting/doc/redis-LGM4BFXYp4 +# REDIS_URL=redis://redis:6379 + +# 若要启用协作服务的横向扩展(多实例),必须提供 Redis 地址。 +# 可以与上面的 REDIS_URL 相同,也可以使用不同的 Redis 服务。 +# 文档:https://docs.getoutline.com/s/hosting/doc/horizontal-scaling-hkfU5Stao7 +# REDIS_COLLABORATION_URL= + + +# –––––––––––––––––––––––––––––––––––––– +# ––––––––––– 文件存储(FILE STORAGE) ––––––––––– +# –––––––––––––––––––––––––––––––––––––– + +# 指定使用的存储系统。 +# 可选值:"s3" 或 "local"。 +# - local:图片和文档附件存储在本地磁盘 +# - s3:存储在兼容 S3 的对象存储服务中 +# 文档:https://docs.getoutline.com/s/hosting/doc/file-storage-N4M0T6Ypu7 +FILE_STORAGE=local + +# 当 FILE_STORAGE=local 时, +# 此路径为所有附件 / 图片的父目录。 +# 请确保进程有权限创建该目录并写入文件。 +FILE_STORAGE_LOCAL_ROOT_DIR=/var/lib/outline/data + +# 单个附件允许上传的最大大小(字节)。 +FILE_STORAGE_UPLOAD_MAX_SIZE=262144000 + +# 覆盖“文档导入”的最大文件大小, +# 通常应小于普通文档附件的最大限制。 +FILE_STORAGE_IMPORT_MAX_SIZE= + +# 覆盖“工作区导入”的最大文件大小。 +# 该类文件通常非常大,并且是临时文件, +# 在一段时间后会被自动删除。 +FILE_STORAGE_WORKSPACE_IMPORT_MAX_SIZE= + +# 若要在分布式架构中支持头像图片和文档附件上传, +# 当 FILE_STORAGE=s3 时,可配置兼容 S3 的对象存储。 +# AWS_ACCESS_KEY_ID=get_a_key_from_aws +# AWS_SECRET_ACCESS_KEY=get_the_secret_of_above_key +# AWS_REGION=xx-xxxx-x +# AWS_S3_ACCELERATE_URL= +# AWS_S3_UPLOAD_BUCKET_URL=http://s3:4569 +# AWS_S3_UPLOAD_BUCKET_NAME=bucket_name_here +# AWS_S3_FORCE_PATH_STYLE=true +# AWS_S3_ACL=private + + +# –––––––––––––––––––––––––––––––––––––– +# –––––––––––––––– SSL ––––––––––––––– +# –––––––––––––––––––––––––––––––––––––– + +# HTTPS 终止所需的私钥和证书(Base64 编码)。 +# 这是三种 SSL 配置方式之一,可以留空。 +# 文档:https://docs.getoutline.com/s/hosting/doc/ssl-pzk7WO8d1n +SSL_KEY= +SSL_CERT= + +# 在生产环境中是否强制跳转到 HTTPS。 +# 默认值为 true; +# 如果你确定 SSL 已由外部负载均衡器终止,可以设置为 false。 +# FORCE_HTTPS=true + + +# –––––––––––––––––––––––––––––––––––––– +# –––––––––– 认证(AUTHENTICATION) –––––––––– +# –––––––––––––––––––––––––––––––––––––– + +# 第三方登录配置。 +# 至少需要配置以下之一:Google、Slack、Discord 或 Microsoft, +# 否则系统将没有任何登录方式。 + +# Slack 登录 +# 文档:https://docs.getoutline.com/s/hosting/doc/slack-sgMujR8J9J +SLACK_CLIENT_ID= +SLACK_CLIENT_SECRET= + +# Google 登录 +# 文档:https://docs.getoutline.com/s/hosting/doc/google-hOuvtCmTqQ +GOOGLE_CLIENT_ID= +GOOGLE_CLIENT_SECRET= + +# Microsoft Entra / Azure AD 登录 +# 文档:https://docs.getoutline.com/s/hosting/doc/microsoft-entra-UVz6jsIOcv +AZURE_CLIENT_ID= +AZURE_CLIENT_SECRET= +AZURE_RESOURCE_APP_ID= + +# Discord 登录 +# 文档:https://docs.getoutline.com/s/hosting/doc/discord-g4JdWFFub6 +DISCORD_CLIENT_ID= +DISCORD_CLIENT_SECRET= +DISCORD_SERVER_ID= +DISCORD_SERVER_ROLES= + +# 通用 OIDC(OpenID Connect)提供方 +# 文档:https://docs.getoutline.com/s/hosting/doc/oidc-8CPBm6uC0I +OIDC_CLIENT_ID= +OIDC_CLIENT_SECRET= +OIDC_AUTH_URI= +OIDC_TOKEN_URI= +OIDC_USERINFO_URI= +OIDC_LOGOUT_URI= + +# 指定用于派生用户信息的声明(claim)。 +# 支持任何 JWT payload 中的合法 JSON Path。 +OIDC_USERNAME_CLAIM=preferred_username + +# OIDC 登录方式在界面上显示的名称 +OIDC_DISPLAY_NAME=OpenID Connect + +# OIDC 授权作用域(以空格分隔) +OIDC_SCOPES=openid profile email + + +# –––––––––––––––––––––––––––––––––––––– +# –––––––––––––– 邮件(EMAIL) ––––––––––––––– +# –––––––––––––––––––––––––––––––––––––– + +# 若要发送诸如“文档更新通知”或“邮箱登录”等事务性邮件, +# 需要配置一个 SMTP 服务器。 +# 可使用以下列表中的任意服务: +# https://community.nodemailer.com/2-0-0-beta/setup-smtp/well-known-services/ +# 文档:https://docs.getoutline.com/s/hosting/doc/smtp-cqCJyZGMIB +SMTP_SERVICE= +SMTP_USERNAME= +SMTP_PASSWORD= +SMTP_FROM_EMAIL= + + +# –––––––––––––––––––––––––––––––––––––– +# –––––––––– 限流器(RATE LIMITER) –––––––––––– +# –––––––––––––––––––––––––––––––––––––– + +# 是否启用限流器 +RATE_LIMITER_ENABLED=true + +# 各个接口本身有硬编码的限流规则(在启用上项后生效), +# 以下是一个全局限流器配置,作用于所有请求。 +RATE_LIMITER_REQUESTS=1000 +RATE_LIMITER_DURATION_WINDOW=60 + + +# –––––––––––––––––––––––––––––––––––––– +# ––––––––––– 集成(INTEGRATIONS) ––––––––––– +# –––––––––––––––––––––––––––––––––––––– + +# GitHub 集成,用于预览 Issue 和 Pull Request 链接 +# 文档:https://docs.getoutline.com/s/hosting/doc/github-GchT3NNxI9 +GITHUB_CLIENT_ID= +GITHUB_CLIENT_SECRET= +GITHUB_WEBHOOK_SECRET= +GITHUB_APP_NAME= +GITHUB_APP_ID= +GITHUB_APP_PRIVATE_KEY= + +# Linear 集成,用于将 Issue 链接显示为富文本提及 +LINEAR_CLIENT_ID= +LINEAR_CLIENT_SECRET= + +# 若要实现完整的 Slack 集成(搜索、向频道发送消息), +# 除 Slack 登录外,还需要以下配置: +# 文档:https://docs.getoutline.com/s/hosting/doc/slack-G2mc8DOJHk +SLACK_VERIFICATION_TOKEN= +SLACK_APP_ID= +SLACK_MESSAGE_ACTIONS=true + +# Figma 集成,用于将设计文件显示为富文本预览 +FIGMA_CLIENT_ID= +FIGMA_CLIENT_SECRET= + +# Dropbox 集成。 +# 按以下说明获取 key:https://www.dropbox.com/developers/embedder#setup +# 并记得在应用设置中将你的域名加入白名单。 +DROPBOX_APP_KEY= + +# 可选:启用 Sentry(sentry.io)用于错误和性能监控 +# 文档:https://docs.getoutline.com/s/hosting/doc/sentry-jxcFttcDl5 +SENTRY_DSN= +SENTRY_TUNNEL= + +# 启用从 Notion 工作区导入页面 +# 文档:https://docs.getoutline.com/s/hosting/doc/notion-2v6g7WY3l3 +NOTION_CLIENT_ID= +NOTION_CLIENT_SECRET= + +# Iframely 集成,允许在 Outline 中预览第三方内容。 +# 例如:鼠标悬停在外部链接上时显示预览。 +# 文档:https://docs.getoutline.com/s/hosting/doc/iframely-HwLF1EZ9mo +IFRAMELY_URL= +IFRAMELY_API_KEY= + + +# –––––––––––––––––––––––––––––––––––––– +# ––––––––––––– 调试(DEBUGGING) –––––––––––– +# –––––––––––––––––––––––––––––––––––––– + +# 是否通过发送匿名统计信息来检查更新 +ENABLE_UPDATES=false + +# 启用的调试分类。 +# 如果你的代理已经记录了 HTTP 请求日志, +# 可移除默认的 "http",以避免重复日志。 +DEBUG=http + +# 服务器日志的最低级别,可选值: +# error, warn, info, http, verbose, debug, silly +LOG_LEVEL=info diff --git a/dockge/postgresql-postgis/docker-compose.yml b/dockge/postgresql-postgis/docker-compose.yml index 4cc899ba8..eded4fd3c 100644 --- a/dockge/postgresql-postgis/docker-compose.yml +++ b/dockge/postgresql-postgis/docker-compose.yml @@ -12,7 +12,7 @@ services: POSTGRES_INITDB_ARGS: --data-checksums POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_USER: ${POSTGRES_USER:-postgres} - image: postgis/postgis:16-3.5-alpine + image: postgis/postgis:16-3.5 labels: createdBy: Apps networks: diff --git a/dockge/postgresql-postgis_16-3_5/.env b/dockge/postgresql-postgis_16-3_5-alpine/.env similarity index 100% rename from dockge/postgresql-postgis_16-3_5/.env rename to dockge/postgresql-postgis_16-3_5-alpine/.env diff --git a/dockge/postgresql-postgis_16-3_5/docker-compose.yml b/dockge/postgresql-postgis_16-3_5-alpine/docker-compose.yml similarity index 93% rename from dockge/postgresql-postgis_16-3_5/docker-compose.yml rename to dockge/postgresql-postgis_16-3_5-alpine/docker-compose.yml index eded4fd3c..4cc899ba8 100644 --- a/dockge/postgresql-postgis_16-3_5/docker-compose.yml +++ b/dockge/postgresql-postgis_16-3_5-alpine/docker-compose.yml @@ -12,7 +12,7 @@ services: POSTGRES_INITDB_ARGS: --data-checksums POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_USER: ${POSTGRES_USER:-postgres} - image: postgis/postgis:16-3.5 + image: postgis/postgis:16-3.5-alpine labels: createdBy: Apps networks: diff --git a/dockge/postgresql-postgis_16-3_5/envs/default.env b/dockge/postgresql-postgis_16-3_5-alpine/envs/default.env similarity index 100% rename from dockge/postgresql-postgis_16-3_5/envs/default.env rename to dockge/postgresql-postgis_16-3_5-alpine/envs/default.env diff --git a/dockge/postgresql-postgis_16-3_5/envs/global.env b/dockge/postgresql-postgis_16-3_5-alpine/envs/global.env similarity index 100% rename from dockge/postgresql-postgis_16-3_5/envs/global.env rename to dockge/postgresql-postgis_16-3_5-alpine/envs/global.env diff --git a/dockge/postgresql/docker-compose.yml b/dockge/postgresql/docker-compose.yml index 3f2aed531..a02df308c 100644 --- a/dockge/postgresql/docker-compose.yml +++ b/dockge/postgresql/docker-compose.yml @@ -3,7 +3,7 @@ networks: external: true services: postgresql: - container_name: postgresql + container_name: pg14-vectors-postgresql env_file: - ./envs/global.env - .env @@ -12,7 +12,7 @@ services: POSTGRES_INITDB_ARGS: --data-checksums POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_USER: ${POSTGRES_USER:-postgres} - image: postgres:16.13 + image: tensorchord/pgvecto-rs:pg14-v0.2.1 labels: createdBy: Apps networks: diff --git a/dockge/postgresql_pg14-vectors/.env b/dockge/postgresql_16_13/.env similarity index 100% rename from dockge/postgresql_pg14-vectors/.env rename to dockge/postgresql_16_13/.env diff --git a/dockge/postgresql_pg14-vectors/docker-compose.yml b/dockge/postgresql_16_13/docker-compose.yml similarity index 85% rename from dockge/postgresql_pg14-vectors/docker-compose.yml rename to dockge/postgresql_16_13/docker-compose.yml index a02df308c..3f2aed531 100644 --- a/dockge/postgresql_pg14-vectors/docker-compose.yml +++ b/dockge/postgresql_16_13/docker-compose.yml @@ -3,7 +3,7 @@ networks: external: true services: postgresql: - container_name: pg14-vectors-postgresql + container_name: postgresql env_file: - ./envs/global.env - .env @@ -12,7 +12,7 @@ services: POSTGRES_INITDB_ARGS: --data-checksums POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_USER: ${POSTGRES_USER:-postgres} - image: tensorchord/pgvecto-rs:pg14-v0.2.1 + image: postgres:16.13 labels: createdBy: Apps networks: diff --git a/dockge/postgresql_pg14-vectors/envs/default.env b/dockge/postgresql_16_13/envs/default.env similarity index 100% rename from dockge/postgresql_pg14-vectors/envs/default.env rename to dockge/postgresql_16_13/envs/default.env diff --git a/dockge/postgresql_pg14-vectors/envs/global.env b/dockge/postgresql_16_13/envs/global.env similarity index 100% rename from dockge/postgresql_pg14-vectors/envs/global.env rename to dockge/postgresql_16_13/envs/global.env diff --git a/dockge/qbittorrent/docker-compose.yml b/dockge/qbittorrent/docker-compose.yml index 5ec4b458b..319305e94 100644 --- a/dockge/qbittorrent/docker-compose.yml +++ b/dockge/qbittorrent/docker-compose.yml @@ -12,7 +12,7 @@ services: - UMASK=022 - WEBUI_PORT=${PANEL_APP_PORT_HTTP} - TORRENTING_PORT=${PANEL_APP_PORT_TORRENTING} - image: linuxserver/qbittorrent:4.6.7 + image: linuxserver/qbittorrent:5.1.4 labels: createdBy: Apps network_mode: ${NETWORK_MODE} diff --git a/dockge/qbittorrent_5_1_4/.env b/dockge/qbittorrent_4_6_7/.env similarity index 100% rename from dockge/qbittorrent_5_1_4/.env rename to dockge/qbittorrent_4_6_7/.env diff --git a/dockge/qbittorrent_5_1_4/docker-compose.yml b/dockge/qbittorrent_4_6_7/docker-compose.yml similarity index 95% rename from dockge/qbittorrent_5_1_4/docker-compose.yml rename to dockge/qbittorrent_4_6_7/docker-compose.yml index 319305e94..5ec4b458b 100644 --- a/dockge/qbittorrent_5_1_4/docker-compose.yml +++ b/dockge/qbittorrent_4_6_7/docker-compose.yml @@ -12,7 +12,7 @@ services: - UMASK=022 - WEBUI_PORT=${PANEL_APP_PORT_HTTP} - TORRENTING_PORT=${PANEL_APP_PORT_TORRENTING} - image: linuxserver/qbittorrent:5.1.4 + image: linuxserver/qbittorrent:4.6.7 labels: createdBy: Apps network_mode: ${NETWORK_MODE} diff --git a/dockge/qbittorrent_5_1_4/envs/default.env b/dockge/qbittorrent_4_6_7/envs/default.env similarity index 100% rename from dockge/qbittorrent_5_1_4/envs/default.env rename to dockge/qbittorrent_4_6_7/envs/default.env diff --git a/dockge/qbittorrent_5_1_4/envs/global.env b/dockge/qbittorrent_4_6_7/envs/global.env similarity index 100% rename from dockge/qbittorrent_5_1_4/envs/global.env rename to dockge/qbittorrent_4_6_7/envs/global.env diff --git a/dockge/redis/config/redis.conf b/dockge/redis/config/redis.conf index 8795ae291..ca22ec9f6 100644 --- a/dockge/redis/config/redis.conf +++ b/dockge/redis/config/redis.conf @@ -32,17 +32,8 @@ # If instead you are interested in using includes to override configuration # options, it is better to use include as the last line. # -# Included paths may contain wildcards. All files matching the wildcards will -# be included in alphabetical order. -# Note that if an include path contains a wildcards but no files match it when -# the server is started, the include statement will be ignored and no error will -# be emitted. It is safe, therefore, to include wildcard files from empty -# directories. -# # include /path/to/local.conf # include /path/to/other.conf -# include /path/to/fragments/*.conf -# ################################## MODULES ##################################### @@ -58,81 +49,43 @@ # for connections from all available network interfaces on the host machine. # It is possible to listen to just one or multiple selected interfaces using # the "bind" configuration directive, followed by one or more IP addresses. -# Each address can be prefixed by "-", which means that redis will not fail to -# start if the address is not available. Being not available only refers to -# addresses that does not correspond to any network interface. Addresses that -# are already in use will always fail, and unsupported protocols will always BE -# silently skipped. # # Examples: # -# bind 192.168.1.100 10.0.0.1 # listens on two specific IPv4 addresses -# bind 127.0.0.1 ::1 # listens on loopback IPv4 and IPv6 -# bind * -::* # like the default, all available interfaces +# bind 192.168.1.100 10.0.0.1 +# bind 127.0.0.1 ::1 # # ~~~ WARNING ~~~ If the computer running Redis is directly exposed to the # internet, binding to all the interfaces is dangerous and will expose the # instance to everybody on the internet. So by default we uncomment the # following bind directive, that will force Redis to listen only on the -# IPv4 and IPv6 (if available) loopback interface addresses (this means Redis -# will only be able to accept client connections from the same host that it is -# running on). +# IPv4 loopback interface address (this means Redis will only be able to +# accept client connections from the same host that it is running on). # # IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES -# COMMENT OUT THE FOLLOWING LINE. -# -# You will also need to set a password unless you explicitly disable protected -# mode. +# JUST COMMENT OUT THE FOLLOWING LINE. # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bind 0.0.0.0 -# By default, outgoing connections (from replica to master, from Sentinel to -# instances, cluster bus, etc.) are not bound to a specific local address. In -# most cases, this means the operating system will handle that based on routing -# and the interface through which the connection goes out. -# -# Using bind-source-addr it is possible to configure a specific address to bind -# to, which may also affect how the connection gets routed. -# -# Example: -# -# bind-source-addr 10.0.0.1 - # Protected mode is a layer of security protection, in order to avoid that # Redis instances left open on the internet are accessed and exploited. # -# When protected mode is on and the default user has no password, the server -# only accepts local connections from the IPv4 address (127.0.0.1), IPv6 address -# (::1) or Unix domain sockets. +# When protected mode is on and if: +# +# 1) The server is not binding explicitly to a set of addresses using the +# "bind" directive. +# 2) No password is configured. +# +# The server only accepts connections from clients connecting from the +# IPv4 and IPv6 loopback addresses 127.0.0.1 and ::1, and from Unix domain +# sockets. # # By default protected mode is enabled. You should disable it only if # you are sure you want clients from other hosts to connect to Redis -# even if no authentication is configured. +# even if no authentication is configured, nor a specific set of interfaces +# are explicitly listed using the "bind" directive. protected-mode yes -# Redis uses default hardened security configuration directives to reduce the -# attack surface on innocent users. Therefore, several sensitive configuration -# directives are immutable, and some potentially-dangerous commands are blocked. -# -# Configuration directives that control files that Redis writes to (e.g., 'dir' -# and 'dbfilename') and that aren't usually modified during runtime -# are protected by making them immutable. -# -# Commands that can increase the attack surface of Redis and that aren't usually -# called by users are blocked by default. -# -# These can be exposed to either all connections or just local ones by setting -# each of the configs listed below to either of these values: -# -# no - Block for any connection (remain immutable) -# yes - Allow for any connection (no protection) -# local - Allow only for local connections. Ones originating from the -# IPv4 address (127.0.0.1), IPv6 address (::1) or Unix domain sockets. -# -# enable-protected-configs no -# enable-debug-command no -# enable-module-command no - # Accept connections on the specified port, default is 6379 (IANA #815344). # If port 0 is specified Redis will not listen on a TCP socket. port 6379 @@ -152,7 +105,7 @@ tcp-backlog 511 # incoming connections. There is no default, so Redis will not listen # on a unix socket when not specified. # -# unixsocket /run/redis.sock +# unixsocket /tmp/redis.sock # unixsocketperm 700 # Close the connection after a client is idle for N seconds (0 to disable) @@ -175,16 +128,6 @@ timeout 0 # Redis default starting with Redis 3.2.1. tcp-keepalive 300 -# Apply OS-specific mechanism to mark the listening socket with the specified -# ID, to support advanced routing and filtering capabilities. -# -# On Linux, the ID represents a connection mark. -# On FreeBSD, the ID represents a socket cookie ID. -# On OpenBSD, the ID represents a route table ID. -# -# The default value is 0, which implies no marking is required. -# socket-mark-id 0 - ################################# TLS/SSL ##################################### # By default, TLS/SSL is disabled. To enable it, the "tls-port" configuration @@ -200,32 +143,8 @@ tcp-keepalive 300 # # tls-cert-file redis.crt # tls-key-file redis.key -# -# If the key file is encrypted using a passphrase, it can be included here -# as well. -# -# tls-key-file-pass secret -# Normally Redis uses the same certificate for both server functions (accepting -# connections) and client functions (replicating from a master, establishing -# cluster bus connections, etc.). -# -# Sometimes certificates are issued with attributes that designate them as -# client-only or server-only certificates. In that case it may be desired to use -# different certificates for incoming (server) and outgoing (client) -# connections. To do that, use the following directives: -# -# tls-client-cert-file client.crt -# tls-client-key-file client.key -# -# If the key file is encrypted using a passphrase, it can be included here -# as well. -# -# tls-client-key-file-pass secret - -# Configure a DH parameters file to enable Diffie-Hellman (DH) key exchange, -# required by older versions of OpenSSL (<3.0). Newer versions do not require -# this configuration and recommend against it. +# Configure a DH parameters file to enable Diffie-Hellman (DH) key exchange: # # tls-dh-params-file redis.dh @@ -258,12 +177,9 @@ tcp-keepalive 300 # # tls-cluster yes -# By default, only TLSv1.2 and TLSv1.3 are enabled and it is highly recommended -# that older formally deprecated versions are kept disabled to reduce the attack surface. -# You can explicitly specify TLS versions to support. -# Allowed values are case insensitive and include "TLSv1", "TLSv1.1", "TLSv1.2", -# "TLSv1.3" (OpenSSL >= 1.1.1) or any combination. -# To enable only TLSv1.2 and TLSv1.3, use: +# Explicitly specify TLS versions to support. Allowed values are case insensitive +# and include "TLSv1", "TLSv1.1", "TLSv1.2", "TLSv1.3" (OpenSSL >= 1.1.1) or +# any combination. To enable only TLSv1.2 and TLSv1.3, use: # # tls-protocols "TLSv1.2 TLSv1.3" @@ -305,7 +221,6 @@ tcp-keepalive 300 # By default Redis does not run as a daemon. Use 'yes' if you need it. # Note that Redis will write a pid file in /var/run/redis.pid when daemonized. -# When Redis is supervised by upstart or systemd, this parameter has no impact. daemonize no # If you run Redis from upstart or systemd, Redis can interact with your @@ -314,17 +229,11 @@ daemonize no # supervised upstart - signal upstart by putting Redis into SIGSTOP mode # requires "expect stop" in your upstart job config # supervised systemd - signal systemd by writing READY=1 to $NOTIFY_SOCKET -# on startup, and updating Redis status on a regular -# basis. # supervised auto - detect upstart or systemd method based on # UPSTART_JOB or NOTIFY_SOCKET environment variables # Note: these supervision methods only signal "process is ready." # They do not enable continuous pings back to your supervisor. -# -# The default is "no". To run under upstart/systemd, you can simply uncomment -# the line below: -# -# supervised auto +supervised no # If a pid file is specified, Redis writes it where specified at startup # and removes it at exit. @@ -335,9 +244,6 @@ daemonize no # # Creating a pid file is best effort: if Redis is not able to create it # nothing bad happens, the server will start and run normally. -# -# Note that on modern Linux systems "/run/redis.pid" is more conforming -# and should be used instead. pidfile /var/run/redis_6379.pid # Specify the server verbosity level. @@ -363,74 +269,44 @@ logfile "" # Specify the syslog facility. Must be USER or between LOCAL0-LOCAL7. # syslog-facility local0 -# To disable the built in crash log, which will possibly produce cleaner core -# dumps when they are needed, uncomment the following: -# -# crash-log-enabled no - -# To disable the fast memory check that's run as part of the crash log, which -# will possibly let redis terminate sooner, uncomment the following: -# -# crash-memcheck-enabled no - # Set the number of databases. The default database is DB 0, you can select # a different one on a per-connection basis using SELECT where # dbid is a number between 0 and 'databases'-1 databases 16 # By default Redis shows an ASCII art logo only when started to log to the -# standard output and if the standard output is a TTY and syslog logging is -# disabled. Basically this means that normally a logo is displayed only in -# interactive sessions. +# standard output and if the standard output is a TTY. Basically this means +# that normally a logo is displayed only in interactive sessions. # # However it is possible to force the pre-4.0 behavior and always show a # ASCII art logo in startup logs by setting the following option to yes. -always-show-logo no - -# By default, Redis modifies the process title (as seen in 'top' and 'ps') to -# provide some runtime information. It is possible to disable this and leave -# the process name as executed by setting the following to no. -set-proc-title yes - -# When changing the process title, Redis uses the following template to construct -# the modified title. -# -# Template variables are specified in curly brackets. The following variables are -# supported: -# -# {title} Name of process as executed if parent, or type of child process. -# {listen-addr} Bind address or '*' followed by TCP or TLS port listening on, or -# Unix socket if only that's available. -# {server-mode} Special mode, i.e. "[sentinel]" or "[cluster]". -# {port} TCP port listening on, or 0. -# {tls-port} TLS port listening on, or 0. -# {unixsocket} Unix domain socket listening on, or "". -# {config-file} Name of configuration file used. -# -proc-title-template "{title} {listen-addr} {server-mode}" +always-show-logo yes ################################ SNAPSHOTTING ################################ +# +# Save the DB on disk: +# +# save +# +# Will save the DB if both the given number of seconds and the given +# number of write operations against the DB occurred. +# +# In the example below the behavior will be to save: +# after 900 sec (15 min) if at least 1 key changed +# after 300 sec (5 min) if at least 10 keys changed +# after 60 sec if at least 10000 keys changed +# +# Note: you can disable saving completely by commenting out all "save" lines. +# +# It is also possible to remove all the previously configured save +# points by adding a save directive with a single empty string argument +# like in the following example: +# +# save "" -# Save the DB to disk. -# -# save [ ...] -# -# Redis will save the DB if the given number of seconds elapsed and it -# surpassed the given number of write operations against the DB. -# -# Snapshotting can be completely disabled with a single empty string argument -# as in following example: -# -# save "" -# -# Unless specified otherwise, by default Redis will save the DB: -# * After 3600 seconds (an hour) if at least 1 change was performed -# * After 300 seconds (5 minutes) if at least 100 changes were performed -# * After 60 seconds if at least 10000 changes were performed -# -# You can set these explicitly by uncommenting the following line. -# -# save 3600 1 300 100 60 10000 +save 900 1 +save 300 10 +save 60 10000 # By default Redis will stop accepting writes if RDB snapshots are enabled # (at least one save point) and the latest background save failed. @@ -462,21 +338,6 @@ rdbcompression yes # tell the loading code to skip the check. rdbchecksum yes -# Enables or disables full sanitization checks for ziplist and listpack etc when -# loading an RDB or RESTORE payload. This reduces the chances of a assertion or -# crash later on while processing commands. -# Options: -# no - Never perform full sanitization -# yes - Always perform full sanitization -# clients - Perform full sanitization only for user connections. -# Excludes: RDB files, RESTORE commands received from the master -# connection, and client connections which have the -# skip-sanitize-payload ACL flag. -# The default should be 'clients' but since it currently affects cluster -# resharding via MIGRATE, it is temporarily set to 'no' by default. -# -# sanitize-dump-payload no - # The filename where to dump the DB dbfilename dump.rdb @@ -551,10 +412,9 @@ dir ./ # still reply to client requests, possibly with out of date data, or the # data set may just be empty if this is the first synchronization. # -# 2) If replica-serve-stale-data is set to 'no' the replica will reply with error -# "MASTERDOWN Link with MASTER is down and replica-serve-stale-data is set to 'no'" -# to all data access commands, excluding commands such as: -# INFO, REPLICAOF, AUTH, SHUTDOWN, REPLCONF, ROLE, CONFIG, SUBSCRIBE, +# 2) If replica-serve-stale-data is set to 'no' the replica will reply with +# an error "SYNC with master in progress" to all commands except: +# INFO, REPLICAOF, AUTH, PING, SHUTDOWN, REPLCONF, ROLE, CONFIG, SUBSCRIBE, # UNSUBSCRIBE, PSUBSCRIBE, PUNSUBSCRIBE, PUBLISH, PUBSUB, COMMAND, POST, # HOST and LATENCY. # @@ -603,7 +463,7 @@ replica-read-only yes # # With slow disks and fast (large bandwidth) networks, diskless replication # works better. -repl-diskless-sync yes +repl-diskless-sync no # When diskless replication is enabled, it is possible to configure the delay # the server waits in order to spawn the child that transfers the RDB via socket @@ -617,18 +477,12 @@ repl-diskless-sync yes # it entirely just set it to 0 seconds and the transfer will start ASAP. repl-diskless-sync-delay 5 -# When diskless replication is enabled with a delay, it is possible to let -# the replication start before the maximum delay is reached if the maximum -# number of replicas expected have connected. Default of 0 means that the -# maximum is not defined and Redis will wait the full delay. -repl-diskless-sync-max-replicas 0 - # ----------------------------------------------------------------------------- # WARNING: RDB diskless load is experimental. Since in this setup the replica # does not immediately store an RDB on disk, it may cause data loss during # failovers. RDB diskless load + Redis modules not handling I/O reads may also # cause Redis to abort in case of I/O errors during the initial synchronization -# stage with the master. Use only if you know what you are doing. +# stage with the master. Use only if your do what you are doing. # ----------------------------------------------------------------------------- # # Replica can load the RDB it reads from the replication link directly from the @@ -637,23 +491,19 @@ repl-diskless-sync-max-replicas 0 # # In many cases the disk is slower than the network, and storing and loading # the RDB file may increase replication time (and even increase the master's -# Copy on Write memory and replica buffers). +# Copy on Write memory and salve buffers). # However, parsing the RDB file directly from the socket may mean that we have # to flush the contents of the current database before the full rdb was # received. For this reason we have the following options: # # "disabled" - Don't use diskless load (store the rdb file to the disk first) # "on-empty-db" - Use diskless load only when it is completely safe. -# "swapdb" - Keep current db contents in RAM while parsing the data directly -# from the socket. Replicas in this mode can keep serving current -# data set while replication is in progress, except for cases where -# they can't recognize master as having a data set from same -# replication history. -# Note that this requires sufficient memory, if you don't have it, -# you risk an OOM kill. +# "swapdb" - Keep a copy of the current db contents in RAM while parsing +# the data directly from the socket. note that this requires +# sufficient memory, if you don't have it, you risk an OOM kill. repl-diskless-load disabled -# Master send PINGs to its replicas in a predefined interval. It's possible to +# Replicas send PINGs to server in a predefined interval. It's possible to # change this interval with the repl_ping_replica_period option. The default # value is 10 seconds. # @@ -728,43 +578,6 @@ repl-disable-tcp-nodelay no # By default the priority is 100. replica-priority 100 -# The propagation error behavior controls how Redis will behave when it is -# unable to handle a command being processed in the replication stream from a master -# or processed while reading from an AOF file. Errors that occur during propagation -# are unexpected, and can cause data inconsistency. However, there are edge cases -# in earlier versions of Redis where it was possible for the server to replicate or persist -# commands that would fail on future versions. For this reason the default behavior -# is to ignore such errors and continue processing commands. -# -# If an application wants to ensure there is no data divergence, this configuration -# should be set to 'panic' instead. The value can also be set to 'panic-on-replicas' -# to only panic when a replica encounters an error on the replication stream. One of -# these two panic values will become the default value in the future once there are -# sufficient safety mechanisms in place to prevent false positive crashes. -# -# propagation-error-behavior ignore - -# Replica ignore disk write errors controls the behavior of a replica when it is -# unable to persist a write command received from its master to disk. By default, -# this configuration is set to 'no' and will crash the replica in this condition. -# It is not recommended to change this default, however in order to be compatible -# with older versions of Redis this config can be toggled to 'yes' which will just -# log a warning and execute the write command it got from the master. -# -# replica-ignore-disk-write-errors no - -# ----------------------------------------------------------------------------- -# By default, Redis Sentinel includes all replicas in its reports. A replica -# can be excluded from Redis Sentinel's announcements. An unannounced replica -# will be ignored by the 'sentinel replicas ' command and won't be -# exposed to Redis Sentinel's clients. -# -# This option does not change the behavior of replica-priority. Even with -# replica-announced set to 'no', the replica can be promoted to master. To -# prevent this behavior, set replica-priority to 0. -# -# replica-announced yes - # It is possible for a master to stop accepting writes if there are less than # N replicas connected, having a lag less or equal than M seconds. # @@ -820,7 +633,7 @@ replica-priority 100 # Redis implements server assisted support for client side caching of values. # This is implemented using an invalidation table that remembers, using -# a radix key indexed by key name, what clients have which keys. In turn +# 16 millions of slots, what clients may have certain subsets of keys. In turn # this is used in order to send invalidation messages to clients. Please # check this page to understand more about the feature: # @@ -884,12 +697,8 @@ replica-priority 100 # off Disable the user: it's no longer possible to authenticate # with this user, however the already authenticated connections # will still work. -# skip-sanitize-payload RESTORE dump-payload sanitization is skipped. -# sanitize-payload RESTORE dump-payload is sanitized (default). -# + Allow the execution of that command. -# May be used with `|` for allowing subcommands (e.g "+config|get") -# - Disallow the execution of that command. -# May be used with `|` for blocking subcommands (e.g "-config|set") +# + Allow the execution of that command +# - Disallow the execution of that command # +@ Allow the execution of all the commands in such category # with valid categories are like @admin, @set, @sortedset, ... # and so forth, see the full list in the server.c file where @@ -897,11 +706,10 @@ replica-priority 100 # The special category @all means all the commands, but currently # present in the server, and that will be loaded in the future # via modules. -# +|first-arg Allow a specific first argument of an otherwise -# disabled command. It is only supported on commands with -# no sub-commands, and is not allowed as negative form -# like -SELECT|1, only additive starting with "+". This -# feature is deprecated and may be removed in the future. +# +|subcommand Allow a specific subcommand of an otherwise +# disabled command. Note that this form is not +# allowed as negative like -DEBUG|SEGFAULT, but +# only additive starting with "+". # allcommands Alias for +@all. Note that it implies the ability to execute # all the future commands loaded via the modules system. # nocommands Alias for -@all. @@ -909,17 +717,8 @@ replica-priority 100 # commands. For instance ~* allows all the keys. The pattern # is a glob-style pattern like the one of KEYS. # It is possible to specify multiple patterns. -# %R~ Add key read pattern that specifies which keys can be read -# from. -# %W~ Add key write pattern that specifies which keys can be -# written to. # allkeys Alias for ~* # resetkeys Flush the list of allowed keys patterns. -# & Add a glob-style pattern of Pub/Sub channels that can be -# accessed by the user. It is possible to specify multiple channel -# patterns. -# allchannels Alias for &* -# resetchannels Flush the list of allowed channel patterns. # > Add this password to the list of valid password for the user. # For example >mypass will add "mypass" to the list. # This directive clears the "nopass" flag (see later). @@ -938,14 +737,6 @@ replica-priority 100 # reset Performs the following actions: resetpass, resetkeys, off, # -@all. The user returns to the same state it has immediately # after its creation. -# () Create a new selector with the options specified within the -# parentheses and attach it to the user. Each option should be -# space separated. The first character must be ( and the last -# character must be ). -# clearselectors Remove all of the currently attached selectors. -# Note this does not change the "root" user permissions, -# which are the permissions directly applied onto the -# user (outside the parentheses). # # ACL rules can be specified in any order: for instance you can start with # passwords, then flags, or key patterns. However note that the additive @@ -967,40 +758,6 @@ replica-priority 100 # # Basically ACL rules are processed left-to-right. # -# The following is a list of command categories and their meanings: -# * keyspace - Writing or reading from keys, databases, or their metadata -# in a type agnostic way. Includes DEL, RESTORE, DUMP, RENAME, EXISTS, DBSIZE, -# KEYS, EXPIRE, TTL, FLUSHALL, etc. Commands that may modify the keyspace, -# key or metadata will also have `write` category. Commands that only read -# the keyspace, key or metadata will have the `read` category. -# * read - Reading from keys (values or metadata). Note that commands that don't -# interact with keys, will not have either `read` or `write`. -# * write - Writing to keys (values or metadata) -# * admin - Administrative commands. Normal applications will never need to use -# these. Includes REPLICAOF, CONFIG, DEBUG, SAVE, MONITOR, ACL, SHUTDOWN, etc. -# * dangerous - Potentially dangerous (each should be considered with care for -# various reasons). This includes FLUSHALL, MIGRATE, RESTORE, SORT, KEYS, -# CLIENT, DEBUG, INFO, CONFIG, SAVE, REPLICAOF, etc. -# * connection - Commands affecting the connection or other connections. -# This includes AUTH, SELECT, COMMAND, CLIENT, ECHO, PING, etc. -# * blocking - Potentially blocking the connection until released by another -# command. -# * fast - Fast O(1) commands. May loop on the number of arguments, but not the -# number of elements in the key. -# * slow - All commands that are not Fast. -# * pubsub - PUBLISH / SUBSCRIBE related -# * transaction - WATCH / MULTI / EXEC related commands. -# * scripting - Scripting related. -# * set - Data type: sets related. -# * sortedset - Data type: zsets related. -# * list - Data type: lists related. -# * hash - Data type: hashes related. -# * string - Data type: strings related. -# * bitmap - Data type: bitmaps related. -# * hyperloglog - Data type: hyperloglog related. -# * geo - Data type: geo related. -# * stream - Data type: streams related. -# # For more information about ACL configuration please refer to # the Redis web site at https://redis.io/topics/acl @@ -1030,24 +787,8 @@ acllog-max-len 128 # AUTH as usually, or more explicitly with AUTH default # if they follow the new protocol: both will work. # -# The requirepass is not compatible with aclfile option and the ACL LOAD -# command, these will cause requirepass to be ignored. -# # requirepass foobared -# New users are initialized with restrictive permissions by default, via the -# equivalent of this ACL rule 'off resetkeys -@all'. Starting with Redis 6.2, it -# is possible to manage access to Pub/Sub channels with ACL rules as well. The -# default Pub/Sub channels permission if new users is controlled by the -# acl-pubsub-default configuration directive, which accepts one of these values: -# -# allchannels: grants access to all Pub/Sub channels -# resetchannels: revokes access to all Pub/Sub channels -# -# From Redis 7.0, acl-pubsub-default defaults to 'resetchannels' permission. -# -# acl-pubsub-default resetchannels - # Command renaming (DEPRECATED). # # ------------------------------------------------------------------------ @@ -1136,12 +877,14 @@ acllog-max-len 128 # Both LRU, LFU and volatile-ttl are implemented using approximated # randomized algorithms. # -# Note: with any of the above policies, when there are no suitable keys for -# eviction, Redis will return an error on write operations that require -# more memory. These are usually commands that create new keys, add data or -# modify existing keys. A few examples are: SET, INCR, HSET, LPUSH, SUNIONSTORE, -# SORT (due to the STORE argument), and EXEC (if the transaction includes any -# command that requires memory). +# Note: with any of the above policies, Redis will return an error on write +# operations, when there are no suitable keys for eviction. +# +# At the date of writing these commands are: set setnx setex append +# incr decr rpush lpush rpushx lpushx linsert lset rpoplpush sadd +# sinter sinterstore sunion sunionstore sdiff sdiffstore zadd zincrby +# zunionstore zinterstore hset hsetnx hmset hincrby incrby decrby +# getset mset msetnx exec sort # # The default is: # @@ -1158,14 +901,6 @@ acllog-max-len 128 # # maxmemory-samples 5 -# Eviction processing is designed to function well with the default setting. -# If there is an unusually large amount of write traffic, this value may need to -# be increased. Decreasing this value may reduce latency at the risk of -# eviction processing effectiveness -# 0 = minimum latency, 10 = default, 100 = process without regard to latency -# -# maxmemory-eviction-tenacity 10 - # Starting from Redis 5, by default a replica will ignore its maxmemory setting # (unless it is promoted to master after a failover or manually). It means # that the eviction of keys will be just handled by the master, sending the @@ -1259,13 +994,6 @@ replica-lazy-flush no lazyfree-lazy-user-del no -# FLUSHDB, FLUSHALL, SCRIPT FLUSH and FUNCTION FLUSH support both asynchronous and synchronous -# deletion, which can be controlled by passing the [SYNC|ASYNC] flags into the -# commands. When neither flag is passed, this directive will be used to determine -# if the data should be deleted asynchronously. - -lazyfree-lazy-user-flush no - ################################ THREADED I/O ################################# # Redis is mostly single threaded, however there are certain threaded @@ -1304,7 +1032,7 @@ lazyfree-lazy-user-flush no # Usually threading reads doesn't help much. # # NOTE 1: This configuration directive cannot be changed at runtime via -# CONFIG SET. Also, this feature currently does not work when SSL is +# CONFIG SET. Aso this feature currently does not work when SSL is # enabled. # # NOTE 2: If you want to test the Redis speedup using redis-benchmark, make @@ -1322,7 +1050,7 @@ lazyfree-lazy-user-flush no # attempt to have background child processes killed before all others, and # replicas killed before masters. # -# Redis supports these options: +# Redis supports three options: # # no: Don't make changes to oom-score-adj (default). # yes: Alias to "relative" see below. @@ -1343,19 +1071,6 @@ oom-score-adj no # oom-score-adj-values to positive values will always succeed. oom-score-adj-values 0 200 800 - -#################### KERNEL transparent hugepage CONTROL ###################### - -# Usually the kernel Transparent Huge Pages control is set to "madvise" or -# or "never" by default (/sys/kernel/mm/transparent_hugepage/enabled), in which -# case this config has no effect. On systems in which it is set to "always", -# redis will attempt to disable it specifically for the redis process in order -# to avoid latency problems specifically with fork(2) and CoW. -# If for some reason you prefer to keep it enabled, you can set this config to -# "no" and the kernel global to "always". - -disable-thp yes - ############################## APPEND ONLY MODE ############################### # By default Redis asynchronously dumps the dataset on disk. This mode is @@ -1374,43 +1089,14 @@ disable-thp yes # If the AOF is enabled on startup Redis will load the AOF, that is the file # with the better durability guarantees. # -# Please check https://redis.io/topics/persistence for more information. +# Please check http://redis.io/topics/persistence for more information. appendonly no -# The base name of the append only file. -# -# Redis 7 and newer use a set of append-only files to persist the dataset -# and changes applied to it. There are two basic types of files in use: -# -# - Base files, which are a snapshot representing the complete state of the -# dataset at the time the file was created. Base files can be either in -# the form of RDB (binary serialized) or AOF (textual commands). -# - Incremental files, which contain additional commands that were applied -# to the dataset following the previous file. -# -# In addition, manifest files are used to track the files and the order in -# which they were created and should be applied. -# -# Append-only file names are created by Redis following a specific pattern. -# The file name's prefix is based on the 'appendfilename' configuration -# parameter, followed by additional information about the sequence and type. -# -# For example, if appendfilename is set to appendonly.aof, the following file -# names could be derived: -# -# - appendonly.aof.1.base.rdb as a base file. -# - appendonly.aof.1.incr.aof, appendonly.aof.2.incr.aof as incremental files. -# - appendonly.aof.manifest as a manifest file. +# The name of the append only file (default: "appendonly.aof") appendfilename "appendonly.aof" -# For convenience, Redis stores all persistent append-only files in a dedicated -# directory. The name of the directory is determined by the appenddirname -# configuration parameter. - -appenddirname "appendonlydir" - # The fsync() call tells the Operating System to actually write data on disk # instead of waiting for more data in the output buffer. Some OS will really flush # data on disk, some other OS will just try to do it ASAP. @@ -1450,7 +1136,7 @@ appendfsync everysec # BGSAVE or BGREWRITEAOF is in progress. # # This means that while another child is saving, the durability of Redis is -# the same as "appendfsync no". In practical terms, this means that it is +# the same as "appendfsync none". In practical terms, this means that it is # possible to lose up to 30 seconds of log in the worst scenario (with the # default Linux settings). # @@ -1503,69 +1189,34 @@ auto-aof-rewrite-min-size 64mb # will be found. aof-load-truncated yes -# Redis can create append-only base files in either RDB or AOF formats. Using -# the RDB format is always faster and more efficient, and disabling it is only -# supported for backward compatibility purposes. +# When rewriting the AOF file, Redis is able to use an RDB preamble in the +# AOF file for faster rewrites and recoveries. When this option is turned +# on the rewritten AOF file is composed of two different stanzas: +# +# [RDB file][AOF tail] +# +# When loading, Redis recognizes that the AOF file starts with the "REDIS" +# string and loads the prefixed RDB file, then continues loading the AOF +# tail. aof-use-rdb-preamble yes -# Redis supports recording timestamp annotations in the AOF to support restoring -# the data from a specific point-in-time. However, using this capability changes -# the AOF format in a way that may not be compatible with existing AOF parsers. -aof-timestamp-enabled no +################################ LUA SCRIPTING ############################### -################################ SHUTDOWN ##################################### - -# Maximum time to wait for replicas when shutting down, in seconds. +# Max execution time of a Lua script in milliseconds. # -# During shut down, a grace period allows any lagging replicas to catch up with -# the latest replication offset before the master exists. This period can -# prevent data loss, especially for deployments without configured disk backups. +# If the maximum execution time is reached Redis will log that a script is +# still in execution after the maximum allowed time and will start to +# reply to queries with an error. # -# The 'shutdown-timeout' value is the grace period's duration in seconds. It is -# only applicable when the instance has replicas. To disable the feature, set -# the value to 0. +# When a long running script exceeds the maximum execution time only the +# SCRIPT KILL and SHUTDOWN NOSAVE commands are available. The first can be +# used to stop a script that did not yet call any write commands. The second +# is the only way to shut down the server in the case a write command was +# already issued by the script but the user doesn't want to wait for the natural +# termination of the script. # -# shutdown-timeout 10 - -# When Redis receives a SIGINT or SIGTERM, shutdown is initiated and by default -# an RDB snapshot is written to disk in a blocking operation if save points are configured. -# The options used on signaled shutdown can include the following values: -# default: Saves RDB snapshot only if save points are configured. -# Waits for lagging replicas to catch up. -# save: Forces a DB saving operation even if no save points are configured. -# nosave: Prevents DB saving operation even if one or more save points are configured. -# now: Skips waiting for lagging replicas. -# force: Ignores any errors that would normally prevent the server from exiting. -# -# Any combination of values is allowed as long as "save" and "nosave" are not set simultaneously. -# Example: "nosave force now" -# -# shutdown-on-sigint default -# shutdown-on-sigterm default - -################ NON-DETERMINISTIC LONG BLOCKING COMMANDS ##################### - -# Maximum time in milliseconds for EVAL scripts, functions and in some cases -# modules' commands before Redis can start processing or rejecting other clients. -# -# If the maximum execution time is reached Redis will start to reply to most -# commands with a BUSY error. -# -# In this state Redis will only allow a handful of commands to be executed. -# For instance, SCRIPT KILL, FUNCTION KILL, SHUTDOWN NOSAVE and possibly some -# module specific 'allow-busy' commands. -# -# SCRIPT KILL and FUNCTION KILL will only be able to stop a script that did not -# yet call any write commands, so SHUTDOWN NOSAVE may be the only way to stop -# the server in the case a write command was already issued by the script when -# the user doesn't want to wait for the natural termination of the script. -# -# The default is 5 seconds. It is possible to set it to 0 or a negative value -# to disable this mechanism (uninterrupted execution). Note that in the past -# this config had a different name, which is now an alias, so both of these do -# the same: -# lua-time-limit 5000 -# busy-reply-threshold 5000 +# Set it to 0 or a negative value for unlimited execution without warnings. +lua-time-limit 5000 ################################ REDIS CLUSTER ############################### @@ -1589,11 +1240,6 @@ aof-timestamp-enabled no # # cluster-node-timeout 15000 -# The cluster port is the port that the cluster bus will listen for inbound connections on. When set -# to the default value, 0, it will be bound to the command port + 10000. Setting this value requires -# you to specify the cluster bus port when executing cluster meet. -# cluster-port 0 - # A replica of a failing master will avoid to start a failover if its data # looks too old. # @@ -1652,21 +1298,12 @@ aof-timestamp-enabled no # master in your cluster. # # Default is 1 (replicas migrate only if their masters remain with at least -# one replica). To disable migration just set it to a very large value or -# set cluster-allow-replica-migration to 'no'. +# one replica). To disable migration just set it to a very large value. # A value of 0 can be set but is useful only for debugging and dangerous # in production. # # cluster-migration-barrier 1 -# Turning off this option allows to use less automatic cluster configuration. -# It both disables migration to orphaned masters and migration from masters -# that became empty. -# -# Default is 'yes' (allow automatic migrations). -# -# cluster-allow-replica-migration yes - # By default Redis Cluster nodes stop accepting queries if they detect there # is at least a hash slot uncovered (no available node is serving it). # This way if the cluster is partially down (for example a range of hash slots @@ -1681,7 +1318,7 @@ aof-timestamp-enabled no # cluster-require-full-coverage yes # This option, when set to yes, prevents replicas from trying to failover its -# master during master failures. However the replica can still perform a +# master during master failures. However the master can still perform a # manual failover, if forced to do so. # # This is useful in different scenarios, especially in the case of multiple @@ -1691,7 +1328,7 @@ aof-timestamp-enabled no # cluster-replica-no-failover no # This option, when set to yes, allows nodes to serve read traffic while the -# cluster is in a down state, as long as it believes it owns the slots. +# the cluster is in a down state, as long as it believes it owns the slots. # # This is useful for two cases. The first case is for when an application # doesn't require consistency of data during node failures or network partitions. @@ -1706,54 +1343,8 @@ aof-timestamp-enabled no # # cluster-allow-reads-when-down no -# This option, when set to yes, allows nodes to serve pubsub shard traffic while -# the cluster is in a down state, as long as it believes it owns the slots. -# -# This is useful if the application would like to use the pubsub feature even when -# the cluster global stable state is not OK. If the application wants to make sure only -# one shard is serving a given channel, this feature should be kept as yes. -# -# cluster-allow-pubsubshard-when-down yes - -# Cluster link send buffer limit is the limit on the memory usage of an individual -# cluster bus link's send buffer in bytes. Cluster links would be freed if they exceed -# this limit. This is to primarily prevent send buffers from growing unbounded on links -# toward slow peers (E.g. PubSub messages being piled up). -# This limit is disabled by default. Enable this limit when 'mem_cluster_links' INFO field -# and/or 'send-buffer-allocated' entries in the 'CLUSTER LINKS` command output continuously increase. -# Minimum limit of 1gb is recommended so that cluster link buffer can fit in at least a single -# PubSub message by default. (client-query-buffer-limit default value is 1gb) -# -# cluster-link-sendbuf-limit 0 - -# Clusters can configure their announced hostname using this config. This is a common use case for -# applications that need to use TLS Server Name Indication (SNI) or dealing with DNS based -# routing. By default this value is only shown as additional metadata in the CLUSTER SLOTS -# command, but can be changed using 'cluster-preferred-endpoint-type' config. This value is -# communicated along the clusterbus to all nodes, setting it to an empty string will remove -# the hostname and also propagate the removal. -# -# cluster-announce-hostname "" - -# Clusters can advertise how clients should connect to them using either their IP address, -# a user defined hostname, or by declaring they have no endpoint. Which endpoint is -# shown as the preferred endpoint is set by using the cluster-preferred-endpoint-type -# config with values 'ip', 'hostname', or 'unknown-endpoint'. This value controls how -# the endpoint returned for MOVED/ASKING requests as well as the first field of CLUSTER SLOTS. -# If the preferred endpoint type is set to hostname, but no announced hostname is set, a '?' -# will be returned instead. -# -# When a cluster advertises itself as having an unknown endpoint, it's indicating that -# the server doesn't know how clients can reach the cluster. This can happen in certain -# networking situations where there are multiple possible routes to the node, and the -# server doesn't know which one the client took. In this case, the server is expecting -# the client to reach out on the same endpoint it used for making the last request, but use -# the port provided in the response. -# -# cluster-preferred-endpoint-type ip - # In order to setup your cluster make sure to read the documentation -# available at https://redis.io web site. +# available at http://redis.io web site. ########################## CLUSTER DOCKER/NAT support ######################## @@ -1763,21 +1354,16 @@ aof-timestamp-enabled no # # In order to make Redis Cluster working in such environments, a static # configuration where each node knows its public address is needed. The -# following four options are used for this scope, and are: +# following two options are used for this scope, and are: # # * cluster-announce-ip # * cluster-announce-port -# * cluster-announce-tls-port # * cluster-announce-bus-port # -# Each instructs the node about its address, client ports (for connections -# without and with TLS) and cluster message bus port. The information is then -# published in the header of the bus packets so that other nodes will be able to -# correctly map the address of the node publishing the information. -# -# If cluster-tls is set to yes and cluster-announce-tls-port is omitted or set -# to zero, then cluster-announce-port refers to the TLS port. Note also that -# cluster-announce-tls-port has no effect if cluster-tls is set to no. +# Each instructs the node about its address, client port, and cluster message +# bus port. The information is then published in the header of the bus packets +# so that other nodes will be able to correctly map the address of the node +# publishing the information. # # If the above options are not used, the normal Redis Cluster auto-detection # will be used instead. @@ -1790,8 +1376,7 @@ aof-timestamp-enabled no # Example: # # cluster-announce-ip 10.1.1.5 -# cluster-announce-tls-port 6379 -# cluster-announce-port 0 +# cluster-announce-port 6379 # cluster-announce-bus-port 6380 ################################## SLOW LOG ################################### @@ -1839,24 +1424,10 @@ slowlog-max-len 128 # "CONFIG SET latency-monitor-threshold " if needed. latency-monitor-threshold 0 -################################ LATENCY TRACKING ############################## - -# The Redis extended latency monitoring tracks the per command latencies and enables -# exporting the percentile distribution via the INFO latencystats command, -# and cumulative latency distributions (histograms) via the LATENCY command. -# -# By default, the extended latency monitoring is enabled since the overhead -# of keeping track of the command latency is very small. -# latency-tracking yes - -# By default the exported latency percentiles via the INFO latencystats command -# are the p50, p99, and p999. -# latency-tracking-info-percentiles 50 99 99.9 - ############################# EVENT NOTIFICATION ############################## # Redis can notify Pub/Sub clients about events happening in the key space. -# This feature is documented at https://redis.io/topics/notifications +# This feature is documented at http://redis.io/topics/notifications # # For instance if keyspace events notification is enabled, and a client # performs a DEL operation on key "foo" stored in the Database 0, two @@ -1878,11 +1449,9 @@ latency-monitor-threshold 0 # z Sorted set commands # x Expired events (events generated every time a key expires) # e Evicted events (events generated when a key is evicted for maxmemory) -# n New key events (Note: not included in the 'A' class) # t Stream commands -# d Module key type events # m Key-miss events (Note: It is not included in the 'A' class) -# A Alias for g$lshzxetd, so that the "AKE" string means all the events +# A Alias for g$lshzxet, so that the "AKE" string means all the events # (Except key-miss events which are excluded from 'A' due to their # unique nature). # @@ -1905,13 +1474,71 @@ latency-monitor-threshold 0 # specify at least one of K or E, no events will be delivered. notify-keyspace-events "" +############################### GOPHER SERVER ################################# + +# Redis contains an implementation of the Gopher protocol, as specified in +# the RFC 1436 (https://www.ietf.org/rfc/rfc1436.txt). +# +# The Gopher protocol was very popular in the late '90s. It is an alternative +# to the web, and the implementation both server and client side is so simple +# that the Redis server has just 100 lines of code in order to implement this +# support. +# +# What do you do with Gopher nowadays? Well Gopher never *really* died, and +# lately there is a movement in order for the Gopher more hierarchical content +# composed of just plain text documents to be resurrected. Some want a simpler +# internet, others believe that the mainstream internet became too much +# controlled, and it's cool to create an alternative space for people that +# want a bit of fresh air. +# +# Anyway for the 10nth birthday of the Redis, we gave it the Gopher protocol +# as a gift. +# +# --- HOW IT WORKS? --- +# +# The Redis Gopher support uses the inline protocol of Redis, and specifically +# two kind of inline requests that were anyway illegal: an empty request +# or any request that starts with "/" (there are no Redis commands starting +# with such a slash). Normal RESP2/RESP3 requests are completely out of the +# path of the Gopher protocol implementation and are served as usual as well. +# +# If you open a connection to Redis when Gopher is enabled and send it +# a string like "/foo", if there is a key named "/foo" it is served via the +# Gopher protocol. +# +# In order to create a real Gopher "hole" (the name of a Gopher site in Gopher +# talking), you likely need a script like the following: +# +# https://github.com/antirez/gopher2redis +# +# --- SECURITY WARNING --- +# +# If you plan to put Redis on the internet in a publicly accessible address +# to server Gopher pages MAKE SURE TO SET A PASSWORD to the instance. +# Once a password is set: +# +# 1. The Gopher server (when enabled, not by default) will still serve +# content via Gopher. +# 2. However other commands cannot be called before the client will +# authenticate. +# +# So use the 'requirepass' option to protect your instance. +# +# Note that Gopher is not currently supported when 'io-threads-do-reads' +# is enabled. +# +# To enable Gopher support, uncomment the following line and set the option +# from no (the default) to yes. +# +# gopher-enabled no + ############################### ADVANCED CONFIG ############################### # Hashes are encoded using a memory efficient data structure when they have a # small number of entries, and the biggest entry does not exceed a given # threshold. These thresholds can be configured using the following directives. -hash-max-listpack-entries 512 -hash-max-listpack-value 64 +hash-max-ziplist-entries 512 +hash-max-ziplist-value 64 # Lists are also encoded in a special way to save a lot of space. # The number of entries allowed per internal list node can be specified @@ -1926,7 +1553,7 @@ hash-max-listpack-value 64 # per list node. # The highest performing option is usually -2 (8 Kb size) or -1 (4 Kb size), # but if your use case is unique, adjust the settings as necessary. -list-max-listpack-size -2 +list-max-ziplist-size -2 # Lists may also be compressed. # Compress depth is the number of quicklist ziplist nodes from *each* side of @@ -1954,8 +1581,8 @@ set-max-intset-entries 512 # Similarly to hashes and lists, sorted sets are also specially encoded in # order to save a lot of space. This encoding is only used when the length and # elements of a sorted set are below the following limits: -zset-max-listpack-entries 128 -zset-max-listpack-value 64 +zset-max-ziplist-entries 128 +zset-max-ziplist-value 64 # HyperLogLog sparse representation bytes limit. The limit includes the # 16 bytes header. When an HyperLogLog using the sparse representation crosses @@ -1977,7 +1604,7 @@ hll-sparse-max-bytes 3000 # maximum number of items it may contain before switching to a new node when # appending new stream entries. If any of the following settings are set to # zero, the limit is ignored, so for instance it is possible to set just a -# max entries limit by setting max-bytes to 0 and max-entries to the desired +# max entires limit by setting max-bytes to 0 and max-entries to the desired # value. stream-node-max-bytes 4096 stream-node-max-entries 100 @@ -2010,7 +1637,7 @@ activerehashing yes # The limit can be set differently for the three different classes of clients: # # normal -> normal clients including MONITOR clients -# replica -> replica clients +# replica -> replica clients # pubsub -> clients subscribed to at least one pubsub channel or pattern # # The syntax of every client-output-buffer-limit directive is the following: @@ -2034,13 +1661,6 @@ activerehashing yes # Instead there is a default limit for pubsub and replica clients, since # subscribers and replicas receive data in a push fashion. # -# Note that it doesn't make sense to set the replica clients output buffer -# limit lower than the repl-backlog-size config (partial sync will succeed -# and then replica will get disconnected). -# Such a configuration is ignored (the size of repl-backlog-size will be used). -# This doesn't have memory consumption implications since the replica client -# will share the backlog buffers memory. -# # Both the hard or the soft limit can be disabled by setting them to zero. client-output-buffer-limit normal 0 0 0 client-output-buffer-limit replica 256mb 64mb 60 @@ -2054,25 +1674,6 @@ client-output-buffer-limit pubsub 32mb 8mb 60 # # client-query-buffer-limit 1gb -# In some scenarios client connections can hog up memory leading to OOM -# errors or data eviction. To avoid this we can cap the accumulated memory -# used by all client connections (all pubsub and normal clients). Once we -# reach that limit connections will be dropped by the server freeing up -# memory. The server will attempt to drop the connections using the most -# memory first. We call this mechanism "client eviction". -# -# Client eviction is configured using the maxmemory-clients setting as follows: -# 0 - client eviction is disabled (default) -# -# A memory value can be used for the client eviction threshold, -# for example: -# maxmemory-clients 1g -# -# A percentage value (between 1% and 100%) means the client eviction threshold -# is based on a percentage of the maxmemory setting. For example to set client -# eviction at 5% of maxmemory: -# maxmemory-clients 5% - # In the Redis protocol, bulk requests, that are, elements representing single # strings, are normally limited to 512 mb. However you can change this limit # here, but must be 1mb or greater @@ -2113,13 +1714,13 @@ hz 10 dynamic-hz yes # When a child rewrites the AOF file, if the following option is enabled -# the file will be fsync-ed every 4 MB of data generated. This is useful +# the file will be fsync-ed every 32 MB of data generated. This is useful # in order to commit the file to the disk more incrementally and avoid # big latency spikes. aof-rewrite-incremental-fsync yes # When redis saves RDB file, if the following option is enabled -# the file will be fsync-ed every 4 MB of data generated. This is useful +# the file will be fsync-ed every 32 MB of data generated. This is useful # in order to commit the file to the disk more incrementally and avoid # big latency spikes. rdb-save-incremental-fsync yes @@ -2216,7 +1817,7 @@ rdb-save-incremental-fsync yes # defragmentation process. If you are not sure about what they mean it is # a good idea to leave the defaults untouched. -# Active defragmentation is disabled by default +# Enabled active defragmentation # activedefrag no # Minimum amount of fragmentation waste to start active defrag diff --git a/dockge/redis/docker-compose.yml b/dockge/redis/docker-compose.yml index c285b2380..4fa4cee04 100644 --- a/dockge/redis/docker-compose.yml +++ b/dockge/redis/docker-compose.yml @@ -7,7 +7,7 @@ services: else\n redis-server /etc/redis/redis.conf --requirepass ${REDIS_ROOT_PASSWORD}\n\ fi'\n" container_name: redis - image: redis:7.4.8-alpine + image: redis:6.2.21-alpine labels: createdBy: Apps networks: diff --git a/dockge/redis_6_2_21/.env b/dockge/redis_7_4_8/.env similarity index 100% rename from dockge/redis_6_2_21/.env rename to dockge/redis_7_4_8/.env diff --git a/dockge/redis_6_2_21/config/redis.conf b/dockge/redis_7_4_8/config/redis.conf similarity index 72% rename from dockge/redis_6_2_21/config/redis.conf rename to dockge/redis_7_4_8/config/redis.conf index ca22ec9f6..8795ae291 100644 --- a/dockge/redis_6_2_21/config/redis.conf +++ b/dockge/redis_7_4_8/config/redis.conf @@ -32,8 +32,17 @@ # If instead you are interested in using includes to override configuration # options, it is better to use include as the last line. # +# Included paths may contain wildcards. All files matching the wildcards will +# be included in alphabetical order. +# Note that if an include path contains a wildcards but no files match it when +# the server is started, the include statement will be ignored and no error will +# be emitted. It is safe, therefore, to include wildcard files from empty +# directories. +# # include /path/to/local.conf # include /path/to/other.conf +# include /path/to/fragments/*.conf +# ################################## MODULES ##################################### @@ -49,43 +58,81 @@ # for connections from all available network interfaces on the host machine. # It is possible to listen to just one or multiple selected interfaces using # the "bind" configuration directive, followed by one or more IP addresses. +# Each address can be prefixed by "-", which means that redis will not fail to +# start if the address is not available. Being not available only refers to +# addresses that does not correspond to any network interface. Addresses that +# are already in use will always fail, and unsupported protocols will always BE +# silently skipped. # # Examples: # -# bind 192.168.1.100 10.0.0.1 -# bind 127.0.0.1 ::1 +# bind 192.168.1.100 10.0.0.1 # listens on two specific IPv4 addresses +# bind 127.0.0.1 ::1 # listens on loopback IPv4 and IPv6 +# bind * -::* # like the default, all available interfaces # # ~~~ WARNING ~~~ If the computer running Redis is directly exposed to the # internet, binding to all the interfaces is dangerous and will expose the # instance to everybody on the internet. So by default we uncomment the # following bind directive, that will force Redis to listen only on the -# IPv4 loopback interface address (this means Redis will only be able to -# accept client connections from the same host that it is running on). +# IPv4 and IPv6 (if available) loopback interface addresses (this means Redis +# will only be able to accept client connections from the same host that it is +# running on). # # IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES -# JUST COMMENT OUT THE FOLLOWING LINE. +# COMMENT OUT THE FOLLOWING LINE. +# +# You will also need to set a password unless you explicitly disable protected +# mode. # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bind 0.0.0.0 +# By default, outgoing connections (from replica to master, from Sentinel to +# instances, cluster bus, etc.) are not bound to a specific local address. In +# most cases, this means the operating system will handle that based on routing +# and the interface through which the connection goes out. +# +# Using bind-source-addr it is possible to configure a specific address to bind +# to, which may also affect how the connection gets routed. +# +# Example: +# +# bind-source-addr 10.0.0.1 + # Protected mode is a layer of security protection, in order to avoid that # Redis instances left open on the internet are accessed and exploited. # -# When protected mode is on and if: -# -# 1) The server is not binding explicitly to a set of addresses using the -# "bind" directive. -# 2) No password is configured. -# -# The server only accepts connections from clients connecting from the -# IPv4 and IPv6 loopback addresses 127.0.0.1 and ::1, and from Unix domain -# sockets. +# When protected mode is on and the default user has no password, the server +# only accepts local connections from the IPv4 address (127.0.0.1), IPv6 address +# (::1) or Unix domain sockets. # # By default protected mode is enabled. You should disable it only if # you are sure you want clients from other hosts to connect to Redis -# even if no authentication is configured, nor a specific set of interfaces -# are explicitly listed using the "bind" directive. +# even if no authentication is configured. protected-mode yes +# Redis uses default hardened security configuration directives to reduce the +# attack surface on innocent users. Therefore, several sensitive configuration +# directives are immutable, and some potentially-dangerous commands are blocked. +# +# Configuration directives that control files that Redis writes to (e.g., 'dir' +# and 'dbfilename') and that aren't usually modified during runtime +# are protected by making them immutable. +# +# Commands that can increase the attack surface of Redis and that aren't usually +# called by users are blocked by default. +# +# These can be exposed to either all connections or just local ones by setting +# each of the configs listed below to either of these values: +# +# no - Block for any connection (remain immutable) +# yes - Allow for any connection (no protection) +# local - Allow only for local connections. Ones originating from the +# IPv4 address (127.0.0.1), IPv6 address (::1) or Unix domain sockets. +# +# enable-protected-configs no +# enable-debug-command no +# enable-module-command no + # Accept connections on the specified port, default is 6379 (IANA #815344). # If port 0 is specified Redis will not listen on a TCP socket. port 6379 @@ -105,7 +152,7 @@ tcp-backlog 511 # incoming connections. There is no default, so Redis will not listen # on a unix socket when not specified. # -# unixsocket /tmp/redis.sock +# unixsocket /run/redis.sock # unixsocketperm 700 # Close the connection after a client is idle for N seconds (0 to disable) @@ -128,6 +175,16 @@ timeout 0 # Redis default starting with Redis 3.2.1. tcp-keepalive 300 +# Apply OS-specific mechanism to mark the listening socket with the specified +# ID, to support advanced routing and filtering capabilities. +# +# On Linux, the ID represents a connection mark. +# On FreeBSD, the ID represents a socket cookie ID. +# On OpenBSD, the ID represents a route table ID. +# +# The default value is 0, which implies no marking is required. +# socket-mark-id 0 + ################################# TLS/SSL ##################################### # By default, TLS/SSL is disabled. To enable it, the "tls-port" configuration @@ -143,8 +200,32 @@ tcp-keepalive 300 # # tls-cert-file redis.crt # tls-key-file redis.key +# +# If the key file is encrypted using a passphrase, it can be included here +# as well. +# +# tls-key-file-pass secret -# Configure a DH parameters file to enable Diffie-Hellman (DH) key exchange: +# Normally Redis uses the same certificate for both server functions (accepting +# connections) and client functions (replicating from a master, establishing +# cluster bus connections, etc.). +# +# Sometimes certificates are issued with attributes that designate them as +# client-only or server-only certificates. In that case it may be desired to use +# different certificates for incoming (server) and outgoing (client) +# connections. To do that, use the following directives: +# +# tls-client-cert-file client.crt +# tls-client-key-file client.key +# +# If the key file is encrypted using a passphrase, it can be included here +# as well. +# +# tls-client-key-file-pass secret + +# Configure a DH parameters file to enable Diffie-Hellman (DH) key exchange, +# required by older versions of OpenSSL (<3.0). Newer versions do not require +# this configuration and recommend against it. # # tls-dh-params-file redis.dh @@ -177,9 +258,12 @@ tcp-keepalive 300 # # tls-cluster yes -# Explicitly specify TLS versions to support. Allowed values are case insensitive -# and include "TLSv1", "TLSv1.1", "TLSv1.2", "TLSv1.3" (OpenSSL >= 1.1.1) or -# any combination. To enable only TLSv1.2 and TLSv1.3, use: +# By default, only TLSv1.2 and TLSv1.3 are enabled and it is highly recommended +# that older formally deprecated versions are kept disabled to reduce the attack surface. +# You can explicitly specify TLS versions to support. +# Allowed values are case insensitive and include "TLSv1", "TLSv1.1", "TLSv1.2", +# "TLSv1.3" (OpenSSL >= 1.1.1) or any combination. +# To enable only TLSv1.2 and TLSv1.3, use: # # tls-protocols "TLSv1.2 TLSv1.3" @@ -221,6 +305,7 @@ tcp-keepalive 300 # By default Redis does not run as a daemon. Use 'yes' if you need it. # Note that Redis will write a pid file in /var/run/redis.pid when daemonized. +# When Redis is supervised by upstart or systemd, this parameter has no impact. daemonize no # If you run Redis from upstart or systemd, Redis can interact with your @@ -229,11 +314,17 @@ daemonize no # supervised upstart - signal upstart by putting Redis into SIGSTOP mode # requires "expect stop" in your upstart job config # supervised systemd - signal systemd by writing READY=1 to $NOTIFY_SOCKET +# on startup, and updating Redis status on a regular +# basis. # supervised auto - detect upstart or systemd method based on # UPSTART_JOB or NOTIFY_SOCKET environment variables # Note: these supervision methods only signal "process is ready." # They do not enable continuous pings back to your supervisor. -supervised no +# +# The default is "no". To run under upstart/systemd, you can simply uncomment +# the line below: +# +# supervised auto # If a pid file is specified, Redis writes it where specified at startup # and removes it at exit. @@ -244,6 +335,9 @@ supervised no # # Creating a pid file is best effort: if Redis is not able to create it # nothing bad happens, the server will start and run normally. +# +# Note that on modern Linux systems "/run/redis.pid" is more conforming +# and should be used instead. pidfile /var/run/redis_6379.pid # Specify the server verbosity level. @@ -269,44 +363,74 @@ logfile "" # Specify the syslog facility. Must be USER or between LOCAL0-LOCAL7. # syslog-facility local0 +# To disable the built in crash log, which will possibly produce cleaner core +# dumps when they are needed, uncomment the following: +# +# crash-log-enabled no + +# To disable the fast memory check that's run as part of the crash log, which +# will possibly let redis terminate sooner, uncomment the following: +# +# crash-memcheck-enabled no + # Set the number of databases. The default database is DB 0, you can select # a different one on a per-connection basis using SELECT where # dbid is a number between 0 and 'databases'-1 databases 16 # By default Redis shows an ASCII art logo only when started to log to the -# standard output and if the standard output is a TTY. Basically this means -# that normally a logo is displayed only in interactive sessions. +# standard output and if the standard output is a TTY and syslog logging is +# disabled. Basically this means that normally a logo is displayed only in +# interactive sessions. # # However it is possible to force the pre-4.0 behavior and always show a # ASCII art logo in startup logs by setting the following option to yes. -always-show-logo yes +always-show-logo no + +# By default, Redis modifies the process title (as seen in 'top' and 'ps') to +# provide some runtime information. It is possible to disable this and leave +# the process name as executed by setting the following to no. +set-proc-title yes + +# When changing the process title, Redis uses the following template to construct +# the modified title. +# +# Template variables are specified in curly brackets. The following variables are +# supported: +# +# {title} Name of process as executed if parent, or type of child process. +# {listen-addr} Bind address or '*' followed by TCP or TLS port listening on, or +# Unix socket if only that's available. +# {server-mode} Special mode, i.e. "[sentinel]" or "[cluster]". +# {port} TCP port listening on, or 0. +# {tls-port} TLS port listening on, or 0. +# {unixsocket} Unix domain socket listening on, or "". +# {config-file} Name of configuration file used. +# +proc-title-template "{title} {listen-addr} {server-mode}" ################################ SNAPSHOTTING ################################ -# -# Save the DB on disk: -# -# save -# -# Will save the DB if both the given number of seconds and the given -# number of write operations against the DB occurred. -# -# In the example below the behavior will be to save: -# after 900 sec (15 min) if at least 1 key changed -# after 300 sec (5 min) if at least 10 keys changed -# after 60 sec if at least 10000 keys changed -# -# Note: you can disable saving completely by commenting out all "save" lines. -# -# It is also possible to remove all the previously configured save -# points by adding a save directive with a single empty string argument -# like in the following example: -# -# save "" -save 900 1 -save 300 10 -save 60 10000 +# Save the DB to disk. +# +# save [ ...] +# +# Redis will save the DB if the given number of seconds elapsed and it +# surpassed the given number of write operations against the DB. +# +# Snapshotting can be completely disabled with a single empty string argument +# as in following example: +# +# save "" +# +# Unless specified otherwise, by default Redis will save the DB: +# * After 3600 seconds (an hour) if at least 1 change was performed +# * After 300 seconds (5 minutes) if at least 100 changes were performed +# * After 60 seconds if at least 10000 changes were performed +# +# You can set these explicitly by uncommenting the following line. +# +# save 3600 1 300 100 60 10000 # By default Redis will stop accepting writes if RDB snapshots are enabled # (at least one save point) and the latest background save failed. @@ -338,6 +462,21 @@ rdbcompression yes # tell the loading code to skip the check. rdbchecksum yes +# Enables or disables full sanitization checks for ziplist and listpack etc when +# loading an RDB or RESTORE payload. This reduces the chances of a assertion or +# crash later on while processing commands. +# Options: +# no - Never perform full sanitization +# yes - Always perform full sanitization +# clients - Perform full sanitization only for user connections. +# Excludes: RDB files, RESTORE commands received from the master +# connection, and client connections which have the +# skip-sanitize-payload ACL flag. +# The default should be 'clients' but since it currently affects cluster +# resharding via MIGRATE, it is temporarily set to 'no' by default. +# +# sanitize-dump-payload no + # The filename where to dump the DB dbfilename dump.rdb @@ -412,9 +551,10 @@ dir ./ # still reply to client requests, possibly with out of date data, or the # data set may just be empty if this is the first synchronization. # -# 2) If replica-serve-stale-data is set to 'no' the replica will reply with -# an error "SYNC with master in progress" to all commands except: -# INFO, REPLICAOF, AUTH, PING, SHUTDOWN, REPLCONF, ROLE, CONFIG, SUBSCRIBE, +# 2) If replica-serve-stale-data is set to 'no' the replica will reply with error +# "MASTERDOWN Link with MASTER is down and replica-serve-stale-data is set to 'no'" +# to all data access commands, excluding commands such as: +# INFO, REPLICAOF, AUTH, SHUTDOWN, REPLCONF, ROLE, CONFIG, SUBSCRIBE, # UNSUBSCRIBE, PSUBSCRIBE, PUNSUBSCRIBE, PUBLISH, PUBSUB, COMMAND, POST, # HOST and LATENCY. # @@ -463,7 +603,7 @@ replica-read-only yes # # With slow disks and fast (large bandwidth) networks, diskless replication # works better. -repl-diskless-sync no +repl-diskless-sync yes # When diskless replication is enabled, it is possible to configure the delay # the server waits in order to spawn the child that transfers the RDB via socket @@ -477,12 +617,18 @@ repl-diskless-sync no # it entirely just set it to 0 seconds and the transfer will start ASAP. repl-diskless-sync-delay 5 +# When diskless replication is enabled with a delay, it is possible to let +# the replication start before the maximum delay is reached if the maximum +# number of replicas expected have connected. Default of 0 means that the +# maximum is not defined and Redis will wait the full delay. +repl-diskless-sync-max-replicas 0 + # ----------------------------------------------------------------------------- # WARNING: RDB diskless load is experimental. Since in this setup the replica # does not immediately store an RDB on disk, it may cause data loss during # failovers. RDB diskless load + Redis modules not handling I/O reads may also # cause Redis to abort in case of I/O errors during the initial synchronization -# stage with the master. Use only if your do what you are doing. +# stage with the master. Use only if you know what you are doing. # ----------------------------------------------------------------------------- # # Replica can load the RDB it reads from the replication link directly from the @@ -491,19 +637,23 @@ repl-diskless-sync-delay 5 # # In many cases the disk is slower than the network, and storing and loading # the RDB file may increase replication time (and even increase the master's -# Copy on Write memory and salve buffers). +# Copy on Write memory and replica buffers). # However, parsing the RDB file directly from the socket may mean that we have # to flush the contents of the current database before the full rdb was # received. For this reason we have the following options: # # "disabled" - Don't use diskless load (store the rdb file to the disk first) # "on-empty-db" - Use diskless load only when it is completely safe. -# "swapdb" - Keep a copy of the current db contents in RAM while parsing -# the data directly from the socket. note that this requires -# sufficient memory, if you don't have it, you risk an OOM kill. +# "swapdb" - Keep current db contents in RAM while parsing the data directly +# from the socket. Replicas in this mode can keep serving current +# data set while replication is in progress, except for cases where +# they can't recognize master as having a data set from same +# replication history. +# Note that this requires sufficient memory, if you don't have it, +# you risk an OOM kill. repl-diskless-load disabled -# Replicas send PINGs to server in a predefined interval. It's possible to +# Master send PINGs to its replicas in a predefined interval. It's possible to # change this interval with the repl_ping_replica_period option. The default # value is 10 seconds. # @@ -578,6 +728,43 @@ repl-disable-tcp-nodelay no # By default the priority is 100. replica-priority 100 +# The propagation error behavior controls how Redis will behave when it is +# unable to handle a command being processed in the replication stream from a master +# or processed while reading from an AOF file. Errors that occur during propagation +# are unexpected, and can cause data inconsistency. However, there are edge cases +# in earlier versions of Redis where it was possible for the server to replicate or persist +# commands that would fail on future versions. For this reason the default behavior +# is to ignore such errors and continue processing commands. +# +# If an application wants to ensure there is no data divergence, this configuration +# should be set to 'panic' instead. The value can also be set to 'panic-on-replicas' +# to only panic when a replica encounters an error on the replication stream. One of +# these two panic values will become the default value in the future once there are +# sufficient safety mechanisms in place to prevent false positive crashes. +# +# propagation-error-behavior ignore + +# Replica ignore disk write errors controls the behavior of a replica when it is +# unable to persist a write command received from its master to disk. By default, +# this configuration is set to 'no' and will crash the replica in this condition. +# It is not recommended to change this default, however in order to be compatible +# with older versions of Redis this config can be toggled to 'yes' which will just +# log a warning and execute the write command it got from the master. +# +# replica-ignore-disk-write-errors no + +# ----------------------------------------------------------------------------- +# By default, Redis Sentinel includes all replicas in its reports. A replica +# can be excluded from Redis Sentinel's announcements. An unannounced replica +# will be ignored by the 'sentinel replicas ' command and won't be +# exposed to Redis Sentinel's clients. +# +# This option does not change the behavior of replica-priority. Even with +# replica-announced set to 'no', the replica can be promoted to master. To +# prevent this behavior, set replica-priority to 0. +# +# replica-announced yes + # It is possible for a master to stop accepting writes if there are less than # N replicas connected, having a lag less or equal than M seconds. # @@ -633,7 +820,7 @@ replica-priority 100 # Redis implements server assisted support for client side caching of values. # This is implemented using an invalidation table that remembers, using -# 16 millions of slots, what clients may have certain subsets of keys. In turn +# a radix key indexed by key name, what clients have which keys. In turn # this is used in order to send invalidation messages to clients. Please # check this page to understand more about the feature: # @@ -697,8 +884,12 @@ replica-priority 100 # off Disable the user: it's no longer possible to authenticate # with this user, however the already authenticated connections # will still work. -# + Allow the execution of that command -# - Disallow the execution of that command +# skip-sanitize-payload RESTORE dump-payload sanitization is skipped. +# sanitize-payload RESTORE dump-payload is sanitized (default). +# + Allow the execution of that command. +# May be used with `|` for allowing subcommands (e.g "+config|get") +# - Disallow the execution of that command. +# May be used with `|` for blocking subcommands (e.g "-config|set") # +@ Allow the execution of all the commands in such category # with valid categories are like @admin, @set, @sortedset, ... # and so forth, see the full list in the server.c file where @@ -706,10 +897,11 @@ replica-priority 100 # The special category @all means all the commands, but currently # present in the server, and that will be loaded in the future # via modules. -# +|subcommand Allow a specific subcommand of an otherwise -# disabled command. Note that this form is not -# allowed as negative like -DEBUG|SEGFAULT, but -# only additive starting with "+". +# +|first-arg Allow a specific first argument of an otherwise +# disabled command. It is only supported on commands with +# no sub-commands, and is not allowed as negative form +# like -SELECT|1, only additive starting with "+". This +# feature is deprecated and may be removed in the future. # allcommands Alias for +@all. Note that it implies the ability to execute # all the future commands loaded via the modules system. # nocommands Alias for -@all. @@ -717,8 +909,17 @@ replica-priority 100 # commands. For instance ~* allows all the keys. The pattern # is a glob-style pattern like the one of KEYS. # It is possible to specify multiple patterns. +# %R~ Add key read pattern that specifies which keys can be read +# from. +# %W~ Add key write pattern that specifies which keys can be +# written to. # allkeys Alias for ~* # resetkeys Flush the list of allowed keys patterns. +# & Add a glob-style pattern of Pub/Sub channels that can be +# accessed by the user. It is possible to specify multiple channel +# patterns. +# allchannels Alias for &* +# resetchannels Flush the list of allowed channel patterns. # > Add this password to the list of valid password for the user. # For example >mypass will add "mypass" to the list. # This directive clears the "nopass" flag (see later). @@ -737,6 +938,14 @@ replica-priority 100 # reset Performs the following actions: resetpass, resetkeys, off, # -@all. The user returns to the same state it has immediately # after its creation. +# () Create a new selector with the options specified within the +# parentheses and attach it to the user. Each option should be +# space separated. The first character must be ( and the last +# character must be ). +# clearselectors Remove all of the currently attached selectors. +# Note this does not change the "root" user permissions, +# which are the permissions directly applied onto the +# user (outside the parentheses). # # ACL rules can be specified in any order: for instance you can start with # passwords, then flags, or key patterns. However note that the additive @@ -758,6 +967,40 @@ replica-priority 100 # # Basically ACL rules are processed left-to-right. # +# The following is a list of command categories and their meanings: +# * keyspace - Writing or reading from keys, databases, or their metadata +# in a type agnostic way. Includes DEL, RESTORE, DUMP, RENAME, EXISTS, DBSIZE, +# KEYS, EXPIRE, TTL, FLUSHALL, etc. Commands that may modify the keyspace, +# key or metadata will also have `write` category. Commands that only read +# the keyspace, key or metadata will have the `read` category. +# * read - Reading from keys (values or metadata). Note that commands that don't +# interact with keys, will not have either `read` or `write`. +# * write - Writing to keys (values or metadata) +# * admin - Administrative commands. Normal applications will never need to use +# these. Includes REPLICAOF, CONFIG, DEBUG, SAVE, MONITOR, ACL, SHUTDOWN, etc. +# * dangerous - Potentially dangerous (each should be considered with care for +# various reasons). This includes FLUSHALL, MIGRATE, RESTORE, SORT, KEYS, +# CLIENT, DEBUG, INFO, CONFIG, SAVE, REPLICAOF, etc. +# * connection - Commands affecting the connection or other connections. +# This includes AUTH, SELECT, COMMAND, CLIENT, ECHO, PING, etc. +# * blocking - Potentially blocking the connection until released by another +# command. +# * fast - Fast O(1) commands. May loop on the number of arguments, but not the +# number of elements in the key. +# * slow - All commands that are not Fast. +# * pubsub - PUBLISH / SUBSCRIBE related +# * transaction - WATCH / MULTI / EXEC related commands. +# * scripting - Scripting related. +# * set - Data type: sets related. +# * sortedset - Data type: zsets related. +# * list - Data type: lists related. +# * hash - Data type: hashes related. +# * string - Data type: strings related. +# * bitmap - Data type: bitmaps related. +# * hyperloglog - Data type: hyperloglog related. +# * geo - Data type: geo related. +# * stream - Data type: streams related. +# # For more information about ACL configuration please refer to # the Redis web site at https://redis.io/topics/acl @@ -787,8 +1030,24 @@ acllog-max-len 128 # AUTH as usually, or more explicitly with AUTH default # if they follow the new protocol: both will work. # +# The requirepass is not compatible with aclfile option and the ACL LOAD +# command, these will cause requirepass to be ignored. +# # requirepass foobared +# New users are initialized with restrictive permissions by default, via the +# equivalent of this ACL rule 'off resetkeys -@all'. Starting with Redis 6.2, it +# is possible to manage access to Pub/Sub channels with ACL rules as well. The +# default Pub/Sub channels permission if new users is controlled by the +# acl-pubsub-default configuration directive, which accepts one of these values: +# +# allchannels: grants access to all Pub/Sub channels +# resetchannels: revokes access to all Pub/Sub channels +# +# From Redis 7.0, acl-pubsub-default defaults to 'resetchannels' permission. +# +# acl-pubsub-default resetchannels + # Command renaming (DEPRECATED). # # ------------------------------------------------------------------------ @@ -877,14 +1136,12 @@ acllog-max-len 128 # Both LRU, LFU and volatile-ttl are implemented using approximated # randomized algorithms. # -# Note: with any of the above policies, Redis will return an error on write -# operations, when there are no suitable keys for eviction. -# -# At the date of writing these commands are: set setnx setex append -# incr decr rpush lpush rpushx lpushx linsert lset rpoplpush sadd -# sinter sinterstore sunion sunionstore sdiff sdiffstore zadd zincrby -# zunionstore zinterstore hset hsetnx hmset hincrby incrby decrby -# getset mset msetnx exec sort +# Note: with any of the above policies, when there are no suitable keys for +# eviction, Redis will return an error on write operations that require +# more memory. These are usually commands that create new keys, add data or +# modify existing keys. A few examples are: SET, INCR, HSET, LPUSH, SUNIONSTORE, +# SORT (due to the STORE argument), and EXEC (if the transaction includes any +# command that requires memory). # # The default is: # @@ -901,6 +1158,14 @@ acllog-max-len 128 # # maxmemory-samples 5 +# Eviction processing is designed to function well with the default setting. +# If there is an unusually large amount of write traffic, this value may need to +# be increased. Decreasing this value may reduce latency at the risk of +# eviction processing effectiveness +# 0 = minimum latency, 10 = default, 100 = process without regard to latency +# +# maxmemory-eviction-tenacity 10 + # Starting from Redis 5, by default a replica will ignore its maxmemory setting # (unless it is promoted to master after a failover or manually). It means # that the eviction of keys will be just handled by the master, sending the @@ -994,6 +1259,13 @@ replica-lazy-flush no lazyfree-lazy-user-del no +# FLUSHDB, FLUSHALL, SCRIPT FLUSH and FUNCTION FLUSH support both asynchronous and synchronous +# deletion, which can be controlled by passing the [SYNC|ASYNC] flags into the +# commands. When neither flag is passed, this directive will be used to determine +# if the data should be deleted asynchronously. + +lazyfree-lazy-user-flush no + ################################ THREADED I/O ################################# # Redis is mostly single threaded, however there are certain threaded @@ -1032,7 +1304,7 @@ lazyfree-lazy-user-del no # Usually threading reads doesn't help much. # # NOTE 1: This configuration directive cannot be changed at runtime via -# CONFIG SET. Aso this feature currently does not work when SSL is +# CONFIG SET. Also, this feature currently does not work when SSL is # enabled. # # NOTE 2: If you want to test the Redis speedup using redis-benchmark, make @@ -1050,7 +1322,7 @@ lazyfree-lazy-user-del no # attempt to have background child processes killed before all others, and # replicas killed before masters. # -# Redis supports three options: +# Redis supports these options: # # no: Don't make changes to oom-score-adj (default). # yes: Alias to "relative" see below. @@ -1071,6 +1343,19 @@ oom-score-adj no # oom-score-adj-values to positive values will always succeed. oom-score-adj-values 0 200 800 + +#################### KERNEL transparent hugepage CONTROL ###################### + +# Usually the kernel Transparent Huge Pages control is set to "madvise" or +# or "never" by default (/sys/kernel/mm/transparent_hugepage/enabled), in which +# case this config has no effect. On systems in which it is set to "always", +# redis will attempt to disable it specifically for the redis process in order +# to avoid latency problems specifically with fork(2) and CoW. +# If for some reason you prefer to keep it enabled, you can set this config to +# "no" and the kernel global to "always". + +disable-thp yes + ############################## APPEND ONLY MODE ############################### # By default Redis asynchronously dumps the dataset on disk. This mode is @@ -1089,14 +1374,43 @@ oom-score-adj-values 0 200 800 # If the AOF is enabled on startup Redis will load the AOF, that is the file # with the better durability guarantees. # -# Please check http://redis.io/topics/persistence for more information. +# Please check https://redis.io/topics/persistence for more information. appendonly no -# The name of the append only file (default: "appendonly.aof") +# The base name of the append only file. +# +# Redis 7 and newer use a set of append-only files to persist the dataset +# and changes applied to it. There are two basic types of files in use: +# +# - Base files, which are a snapshot representing the complete state of the +# dataset at the time the file was created. Base files can be either in +# the form of RDB (binary serialized) or AOF (textual commands). +# - Incremental files, which contain additional commands that were applied +# to the dataset following the previous file. +# +# In addition, manifest files are used to track the files and the order in +# which they were created and should be applied. +# +# Append-only file names are created by Redis following a specific pattern. +# The file name's prefix is based on the 'appendfilename' configuration +# parameter, followed by additional information about the sequence and type. +# +# For example, if appendfilename is set to appendonly.aof, the following file +# names could be derived: +# +# - appendonly.aof.1.base.rdb as a base file. +# - appendonly.aof.1.incr.aof, appendonly.aof.2.incr.aof as incremental files. +# - appendonly.aof.manifest as a manifest file. appendfilename "appendonly.aof" +# For convenience, Redis stores all persistent append-only files in a dedicated +# directory. The name of the directory is determined by the appenddirname +# configuration parameter. + +appenddirname "appendonlydir" + # The fsync() call tells the Operating System to actually write data on disk # instead of waiting for more data in the output buffer. Some OS will really flush # data on disk, some other OS will just try to do it ASAP. @@ -1136,7 +1450,7 @@ appendfsync everysec # BGSAVE or BGREWRITEAOF is in progress. # # This means that while another child is saving, the durability of Redis is -# the same as "appendfsync none". In practical terms, this means that it is +# the same as "appendfsync no". In practical terms, this means that it is # possible to lose up to 30 seconds of log in the worst scenario (with the # default Linux settings). # @@ -1189,34 +1503,69 @@ auto-aof-rewrite-min-size 64mb # will be found. aof-load-truncated yes -# When rewriting the AOF file, Redis is able to use an RDB preamble in the -# AOF file for faster rewrites and recoveries. When this option is turned -# on the rewritten AOF file is composed of two different stanzas: -# -# [RDB file][AOF tail] -# -# When loading, Redis recognizes that the AOF file starts with the "REDIS" -# string and loads the prefixed RDB file, then continues loading the AOF -# tail. +# Redis can create append-only base files in either RDB or AOF formats. Using +# the RDB format is always faster and more efficient, and disabling it is only +# supported for backward compatibility purposes. aof-use-rdb-preamble yes -################################ LUA SCRIPTING ############################### +# Redis supports recording timestamp annotations in the AOF to support restoring +# the data from a specific point-in-time. However, using this capability changes +# the AOF format in a way that may not be compatible with existing AOF parsers. +aof-timestamp-enabled no -# Max execution time of a Lua script in milliseconds. +################################ SHUTDOWN ##################################### + +# Maximum time to wait for replicas when shutting down, in seconds. # -# If the maximum execution time is reached Redis will log that a script is -# still in execution after the maximum allowed time and will start to -# reply to queries with an error. +# During shut down, a grace period allows any lagging replicas to catch up with +# the latest replication offset before the master exists. This period can +# prevent data loss, especially for deployments without configured disk backups. # -# When a long running script exceeds the maximum execution time only the -# SCRIPT KILL and SHUTDOWN NOSAVE commands are available. The first can be -# used to stop a script that did not yet call any write commands. The second -# is the only way to shut down the server in the case a write command was -# already issued by the script but the user doesn't want to wait for the natural -# termination of the script. +# The 'shutdown-timeout' value is the grace period's duration in seconds. It is +# only applicable when the instance has replicas. To disable the feature, set +# the value to 0. # -# Set it to 0 or a negative value for unlimited execution without warnings. -lua-time-limit 5000 +# shutdown-timeout 10 + +# When Redis receives a SIGINT or SIGTERM, shutdown is initiated and by default +# an RDB snapshot is written to disk in a blocking operation if save points are configured. +# The options used on signaled shutdown can include the following values: +# default: Saves RDB snapshot only if save points are configured. +# Waits for lagging replicas to catch up. +# save: Forces a DB saving operation even if no save points are configured. +# nosave: Prevents DB saving operation even if one or more save points are configured. +# now: Skips waiting for lagging replicas. +# force: Ignores any errors that would normally prevent the server from exiting. +# +# Any combination of values is allowed as long as "save" and "nosave" are not set simultaneously. +# Example: "nosave force now" +# +# shutdown-on-sigint default +# shutdown-on-sigterm default + +################ NON-DETERMINISTIC LONG BLOCKING COMMANDS ##################### + +# Maximum time in milliseconds for EVAL scripts, functions and in some cases +# modules' commands before Redis can start processing or rejecting other clients. +# +# If the maximum execution time is reached Redis will start to reply to most +# commands with a BUSY error. +# +# In this state Redis will only allow a handful of commands to be executed. +# For instance, SCRIPT KILL, FUNCTION KILL, SHUTDOWN NOSAVE and possibly some +# module specific 'allow-busy' commands. +# +# SCRIPT KILL and FUNCTION KILL will only be able to stop a script that did not +# yet call any write commands, so SHUTDOWN NOSAVE may be the only way to stop +# the server in the case a write command was already issued by the script when +# the user doesn't want to wait for the natural termination of the script. +# +# The default is 5 seconds. It is possible to set it to 0 or a negative value +# to disable this mechanism (uninterrupted execution). Note that in the past +# this config had a different name, which is now an alias, so both of these do +# the same: +# lua-time-limit 5000 +# busy-reply-threshold 5000 ################################ REDIS CLUSTER ############################### @@ -1240,6 +1589,11 @@ lua-time-limit 5000 # # cluster-node-timeout 15000 +# The cluster port is the port that the cluster bus will listen for inbound connections on. When set +# to the default value, 0, it will be bound to the command port + 10000. Setting this value requires +# you to specify the cluster bus port when executing cluster meet. +# cluster-port 0 + # A replica of a failing master will avoid to start a failover if its data # looks too old. # @@ -1298,12 +1652,21 @@ lua-time-limit 5000 # master in your cluster. # # Default is 1 (replicas migrate only if their masters remain with at least -# one replica). To disable migration just set it to a very large value. +# one replica). To disable migration just set it to a very large value or +# set cluster-allow-replica-migration to 'no'. # A value of 0 can be set but is useful only for debugging and dangerous # in production. # # cluster-migration-barrier 1 +# Turning off this option allows to use less automatic cluster configuration. +# It both disables migration to orphaned masters and migration from masters +# that became empty. +# +# Default is 'yes' (allow automatic migrations). +# +# cluster-allow-replica-migration yes + # By default Redis Cluster nodes stop accepting queries if they detect there # is at least a hash slot uncovered (no available node is serving it). # This way if the cluster is partially down (for example a range of hash slots @@ -1318,7 +1681,7 @@ lua-time-limit 5000 # cluster-require-full-coverage yes # This option, when set to yes, prevents replicas from trying to failover its -# master during master failures. However the master can still perform a +# master during master failures. However the replica can still perform a # manual failover, if forced to do so. # # This is useful in different scenarios, especially in the case of multiple @@ -1328,7 +1691,7 @@ lua-time-limit 5000 # cluster-replica-no-failover no # This option, when set to yes, allows nodes to serve read traffic while the -# the cluster is in a down state, as long as it believes it owns the slots. +# cluster is in a down state, as long as it believes it owns the slots. # # This is useful for two cases. The first case is for when an application # doesn't require consistency of data during node failures or network partitions. @@ -1343,8 +1706,54 @@ lua-time-limit 5000 # # cluster-allow-reads-when-down no +# This option, when set to yes, allows nodes to serve pubsub shard traffic while +# the cluster is in a down state, as long as it believes it owns the slots. +# +# This is useful if the application would like to use the pubsub feature even when +# the cluster global stable state is not OK. If the application wants to make sure only +# one shard is serving a given channel, this feature should be kept as yes. +# +# cluster-allow-pubsubshard-when-down yes + +# Cluster link send buffer limit is the limit on the memory usage of an individual +# cluster bus link's send buffer in bytes. Cluster links would be freed if they exceed +# this limit. This is to primarily prevent send buffers from growing unbounded on links +# toward slow peers (E.g. PubSub messages being piled up). +# This limit is disabled by default. Enable this limit when 'mem_cluster_links' INFO field +# and/or 'send-buffer-allocated' entries in the 'CLUSTER LINKS` command output continuously increase. +# Minimum limit of 1gb is recommended so that cluster link buffer can fit in at least a single +# PubSub message by default. (client-query-buffer-limit default value is 1gb) +# +# cluster-link-sendbuf-limit 0 + +# Clusters can configure their announced hostname using this config. This is a common use case for +# applications that need to use TLS Server Name Indication (SNI) or dealing with DNS based +# routing. By default this value is only shown as additional metadata in the CLUSTER SLOTS +# command, but can be changed using 'cluster-preferred-endpoint-type' config. This value is +# communicated along the clusterbus to all nodes, setting it to an empty string will remove +# the hostname and also propagate the removal. +# +# cluster-announce-hostname "" + +# Clusters can advertise how clients should connect to them using either their IP address, +# a user defined hostname, or by declaring they have no endpoint. Which endpoint is +# shown as the preferred endpoint is set by using the cluster-preferred-endpoint-type +# config with values 'ip', 'hostname', or 'unknown-endpoint'. This value controls how +# the endpoint returned for MOVED/ASKING requests as well as the first field of CLUSTER SLOTS. +# If the preferred endpoint type is set to hostname, but no announced hostname is set, a '?' +# will be returned instead. +# +# When a cluster advertises itself as having an unknown endpoint, it's indicating that +# the server doesn't know how clients can reach the cluster. This can happen in certain +# networking situations where there are multiple possible routes to the node, and the +# server doesn't know which one the client took. In this case, the server is expecting +# the client to reach out on the same endpoint it used for making the last request, but use +# the port provided in the response. +# +# cluster-preferred-endpoint-type ip + # In order to setup your cluster make sure to read the documentation -# available at http://redis.io web site. +# available at https://redis.io web site. ########################## CLUSTER DOCKER/NAT support ######################## @@ -1354,16 +1763,21 @@ lua-time-limit 5000 # # In order to make Redis Cluster working in such environments, a static # configuration where each node knows its public address is needed. The -# following two options are used for this scope, and are: +# following four options are used for this scope, and are: # # * cluster-announce-ip # * cluster-announce-port +# * cluster-announce-tls-port # * cluster-announce-bus-port # -# Each instructs the node about its address, client port, and cluster message -# bus port. The information is then published in the header of the bus packets -# so that other nodes will be able to correctly map the address of the node -# publishing the information. +# Each instructs the node about its address, client ports (for connections +# without and with TLS) and cluster message bus port. The information is then +# published in the header of the bus packets so that other nodes will be able to +# correctly map the address of the node publishing the information. +# +# If cluster-tls is set to yes and cluster-announce-tls-port is omitted or set +# to zero, then cluster-announce-port refers to the TLS port. Note also that +# cluster-announce-tls-port has no effect if cluster-tls is set to no. # # If the above options are not used, the normal Redis Cluster auto-detection # will be used instead. @@ -1376,7 +1790,8 @@ lua-time-limit 5000 # Example: # # cluster-announce-ip 10.1.1.5 -# cluster-announce-port 6379 +# cluster-announce-tls-port 6379 +# cluster-announce-port 0 # cluster-announce-bus-port 6380 ################################## SLOW LOG ################################### @@ -1424,10 +1839,24 @@ slowlog-max-len 128 # "CONFIG SET latency-monitor-threshold " if needed. latency-monitor-threshold 0 +################################ LATENCY TRACKING ############################## + +# The Redis extended latency monitoring tracks the per command latencies and enables +# exporting the percentile distribution via the INFO latencystats command, +# and cumulative latency distributions (histograms) via the LATENCY command. +# +# By default, the extended latency monitoring is enabled since the overhead +# of keeping track of the command latency is very small. +# latency-tracking yes + +# By default the exported latency percentiles via the INFO latencystats command +# are the p50, p99, and p999. +# latency-tracking-info-percentiles 50 99 99.9 + ############################# EVENT NOTIFICATION ############################## # Redis can notify Pub/Sub clients about events happening in the key space. -# This feature is documented at http://redis.io/topics/notifications +# This feature is documented at https://redis.io/topics/notifications # # For instance if keyspace events notification is enabled, and a client # performs a DEL operation on key "foo" stored in the Database 0, two @@ -1449,9 +1878,11 @@ latency-monitor-threshold 0 # z Sorted set commands # x Expired events (events generated every time a key expires) # e Evicted events (events generated when a key is evicted for maxmemory) +# n New key events (Note: not included in the 'A' class) # t Stream commands +# d Module key type events # m Key-miss events (Note: It is not included in the 'A' class) -# A Alias for g$lshzxet, so that the "AKE" string means all the events +# A Alias for g$lshzxetd, so that the "AKE" string means all the events # (Except key-miss events which are excluded from 'A' due to their # unique nature). # @@ -1474,71 +1905,13 @@ latency-monitor-threshold 0 # specify at least one of K or E, no events will be delivered. notify-keyspace-events "" -############################### GOPHER SERVER ################################# - -# Redis contains an implementation of the Gopher protocol, as specified in -# the RFC 1436 (https://www.ietf.org/rfc/rfc1436.txt). -# -# The Gopher protocol was very popular in the late '90s. It is an alternative -# to the web, and the implementation both server and client side is so simple -# that the Redis server has just 100 lines of code in order to implement this -# support. -# -# What do you do with Gopher nowadays? Well Gopher never *really* died, and -# lately there is a movement in order for the Gopher more hierarchical content -# composed of just plain text documents to be resurrected. Some want a simpler -# internet, others believe that the mainstream internet became too much -# controlled, and it's cool to create an alternative space for people that -# want a bit of fresh air. -# -# Anyway for the 10nth birthday of the Redis, we gave it the Gopher protocol -# as a gift. -# -# --- HOW IT WORKS? --- -# -# The Redis Gopher support uses the inline protocol of Redis, and specifically -# two kind of inline requests that were anyway illegal: an empty request -# or any request that starts with "/" (there are no Redis commands starting -# with such a slash). Normal RESP2/RESP3 requests are completely out of the -# path of the Gopher protocol implementation and are served as usual as well. -# -# If you open a connection to Redis when Gopher is enabled and send it -# a string like "/foo", if there is a key named "/foo" it is served via the -# Gopher protocol. -# -# In order to create a real Gopher "hole" (the name of a Gopher site in Gopher -# talking), you likely need a script like the following: -# -# https://github.com/antirez/gopher2redis -# -# --- SECURITY WARNING --- -# -# If you plan to put Redis on the internet in a publicly accessible address -# to server Gopher pages MAKE SURE TO SET A PASSWORD to the instance. -# Once a password is set: -# -# 1. The Gopher server (when enabled, not by default) will still serve -# content via Gopher. -# 2. However other commands cannot be called before the client will -# authenticate. -# -# So use the 'requirepass' option to protect your instance. -# -# Note that Gopher is not currently supported when 'io-threads-do-reads' -# is enabled. -# -# To enable Gopher support, uncomment the following line and set the option -# from no (the default) to yes. -# -# gopher-enabled no - ############################### ADVANCED CONFIG ############################### # Hashes are encoded using a memory efficient data structure when they have a # small number of entries, and the biggest entry does not exceed a given # threshold. These thresholds can be configured using the following directives. -hash-max-ziplist-entries 512 -hash-max-ziplist-value 64 +hash-max-listpack-entries 512 +hash-max-listpack-value 64 # Lists are also encoded in a special way to save a lot of space. # The number of entries allowed per internal list node can be specified @@ -1553,7 +1926,7 @@ hash-max-ziplist-value 64 # per list node. # The highest performing option is usually -2 (8 Kb size) or -1 (4 Kb size), # but if your use case is unique, adjust the settings as necessary. -list-max-ziplist-size -2 +list-max-listpack-size -2 # Lists may also be compressed. # Compress depth is the number of quicklist ziplist nodes from *each* side of @@ -1581,8 +1954,8 @@ set-max-intset-entries 512 # Similarly to hashes and lists, sorted sets are also specially encoded in # order to save a lot of space. This encoding is only used when the length and # elements of a sorted set are below the following limits: -zset-max-ziplist-entries 128 -zset-max-ziplist-value 64 +zset-max-listpack-entries 128 +zset-max-listpack-value 64 # HyperLogLog sparse representation bytes limit. The limit includes the # 16 bytes header. When an HyperLogLog using the sparse representation crosses @@ -1604,7 +1977,7 @@ hll-sparse-max-bytes 3000 # maximum number of items it may contain before switching to a new node when # appending new stream entries. If any of the following settings are set to # zero, the limit is ignored, so for instance it is possible to set just a -# max entires limit by setting max-bytes to 0 and max-entries to the desired +# max entries limit by setting max-bytes to 0 and max-entries to the desired # value. stream-node-max-bytes 4096 stream-node-max-entries 100 @@ -1637,7 +2010,7 @@ activerehashing yes # The limit can be set differently for the three different classes of clients: # # normal -> normal clients including MONITOR clients -# replica -> replica clients +# replica -> replica clients # pubsub -> clients subscribed to at least one pubsub channel or pattern # # The syntax of every client-output-buffer-limit directive is the following: @@ -1661,6 +2034,13 @@ activerehashing yes # Instead there is a default limit for pubsub and replica clients, since # subscribers and replicas receive data in a push fashion. # +# Note that it doesn't make sense to set the replica clients output buffer +# limit lower than the repl-backlog-size config (partial sync will succeed +# and then replica will get disconnected). +# Such a configuration is ignored (the size of repl-backlog-size will be used). +# This doesn't have memory consumption implications since the replica client +# will share the backlog buffers memory. +# # Both the hard or the soft limit can be disabled by setting them to zero. client-output-buffer-limit normal 0 0 0 client-output-buffer-limit replica 256mb 64mb 60 @@ -1674,6 +2054,25 @@ client-output-buffer-limit pubsub 32mb 8mb 60 # # client-query-buffer-limit 1gb +# In some scenarios client connections can hog up memory leading to OOM +# errors or data eviction. To avoid this we can cap the accumulated memory +# used by all client connections (all pubsub and normal clients). Once we +# reach that limit connections will be dropped by the server freeing up +# memory. The server will attempt to drop the connections using the most +# memory first. We call this mechanism "client eviction". +# +# Client eviction is configured using the maxmemory-clients setting as follows: +# 0 - client eviction is disabled (default) +# +# A memory value can be used for the client eviction threshold, +# for example: +# maxmemory-clients 1g +# +# A percentage value (between 1% and 100%) means the client eviction threshold +# is based on a percentage of the maxmemory setting. For example to set client +# eviction at 5% of maxmemory: +# maxmemory-clients 5% + # In the Redis protocol, bulk requests, that are, elements representing single # strings, are normally limited to 512 mb. However you can change this limit # here, but must be 1mb or greater @@ -1714,13 +2113,13 @@ hz 10 dynamic-hz yes # When a child rewrites the AOF file, if the following option is enabled -# the file will be fsync-ed every 32 MB of data generated. This is useful +# the file will be fsync-ed every 4 MB of data generated. This is useful # in order to commit the file to the disk more incrementally and avoid # big latency spikes. aof-rewrite-incremental-fsync yes # When redis saves RDB file, if the following option is enabled -# the file will be fsync-ed every 32 MB of data generated. This is useful +# the file will be fsync-ed every 4 MB of data generated. This is useful # in order to commit the file to the disk more incrementally and avoid # big latency spikes. rdb-save-incremental-fsync yes @@ -1817,7 +2216,7 @@ rdb-save-incremental-fsync yes # defragmentation process. If you are not sure about what they mean it is # a good idea to leave the defaults untouched. -# Enabled active defragmentation +# Active defragmentation is disabled by default # activedefrag no # Minimum amount of fragmentation waste to start active defrag diff --git a/dockge/redis_6_2_21/docker-compose.yml b/dockge/redis_7_4_8/docker-compose.yml similarity index 94% rename from dockge/redis_6_2_21/docker-compose.yml rename to dockge/redis_7_4_8/docker-compose.yml index 4fa4cee04..c285b2380 100644 --- a/dockge/redis_6_2_21/docker-compose.yml +++ b/dockge/redis_7_4_8/docker-compose.yml @@ -7,7 +7,7 @@ services: else\n redis-server /etc/redis/redis.conf --requirepass ${REDIS_ROOT_PASSWORD}\n\ fi'\n" container_name: redis - image: redis:6.2.21-alpine + image: redis:7.4.8-alpine labels: createdBy: Apps networks: diff --git a/dockge/redis_6_2_21/envs/default.env b/dockge/redis_7_4_8/envs/default.env similarity index 100% rename from dockge/redis_6_2_21/envs/default.env rename to dockge/redis_7_4_8/envs/default.env diff --git a/dockge/redis_6_2_21/envs/global.env b/dockge/redis_7_4_8/envs/global.env similarity index 100% rename from dockge/redis_6_2_21/envs/global.env rename to dockge/redis_7_4_8/envs/global.env diff --git a/dockge/rustdesk-api/.env b/dockge/rustdesk-api/.env index 057e9b006..96a0fb5a5 100644 --- a/dockge/rustdesk-api/.env +++ b/dockge/rustdesk-api/.env @@ -4,7 +4,7 @@ RUSTDESK_API_ROOT_PATH=/home/rustdesk-api # WebUI API 端口 [必填] PANEL_APP_PORT_HTTP=21114 -# NAT 测试服务端口 [必填] +# NAT 服务端口 [必填] PANEL_APP_PORT_NAT=21115 # ID 服务端口 [必填] diff --git a/dockge/rustdesk-api/docker-compose.yml b/dockge/rustdesk-api/docker-compose.yml index aad6a35ef..a532d45e1 100644 --- a/dockge/rustdesk-api/docker-compose.yml +++ b/dockge/rustdesk-api/docker-compose.yml @@ -2,7 +2,7 @@ networks: 1panel-network: external: true services: - rustdesk: + rustdesk-api: container_name: rustdesk-api env_file: - ./envs/global.env @@ -10,16 +10,33 @@ services: environment: - TZ=Asia/Shanghai - RUSTDESK_API_LANG=zh-CN + image: lejianwen/rustdesk-api:v2.6.29 + labels: + createdBy: Apps + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:21114 + restart: always + volumes: + - ${RUSTDESK_API_ROOT_PATH}/api-data:/app/data + - ${RUSTDESK_API_ROOT_PATH}/api-config:/app/config + rustdesk-server-s6: + container_name: server-rustdesk-api + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + - RUSTDESK_API_LANG=zh-CN - RELAY=${RUSTDESK_SERVER_URL} - ENCRYPTED_ONLY=1 - - MUST_LOGIN=N - image: lejianwen/rustdesk-server-s6:latest + image: rustdesk/rustdesk-server-s6:latest labels: createdBy: Apps networks: - 1panel-network ports: - - ${PANEL_APP_PORT_HTTP}:21114 - ${PANEL_APP_PORT_NAT}:21115 - ${PANEL_APP_PORT_ID}:21116 - ${PANEL_APP_PORT_ID}:21116/udp @@ -29,7 +46,5 @@ services: restart: always volumes: - ${RUSTDESK_API_ROOT_PATH}/server-data:/data - - ${RUSTDESK_API_ROOT_PATH}/api-data:/app/data - - ${RUSTDESK_API_ROOT_PATH}/api-config:/app/config - ${HBBR_RUN_FILE:-./conf/hbbr/run}:/etc/s6-overlay/s6-rc.d/hbbr/run - ${HBBS_RUN_FILE:-./conf/hbbs/run}:/etc/s6-overlay/s6-rc.d/hbbs/run diff --git a/dockge/rustdesk-api_2_6_29/.env b/dockge/rustdesk-api_s6-latest/.env similarity index 97% rename from dockge/rustdesk-api_2_6_29/.env rename to dockge/rustdesk-api_s6-latest/.env index 96a0fb5a5..057e9b006 100644 --- a/dockge/rustdesk-api_2_6_29/.env +++ b/dockge/rustdesk-api_s6-latest/.env @@ -4,7 +4,7 @@ RUSTDESK_API_ROOT_PATH=/home/rustdesk-api # WebUI API 端口 [必填] PANEL_APP_PORT_HTTP=21114 -# NAT 服务端口 [必填] +# NAT 测试服务端口 [必填] PANEL_APP_PORT_NAT=21115 # ID 服务端口 [必填] diff --git a/dockge/rustdesk-api_2_6_29/conf/hbbr/run b/dockge/rustdesk-api_s6-latest/conf/hbbr/run similarity index 100% rename from dockge/rustdesk-api_2_6_29/conf/hbbr/run rename to dockge/rustdesk-api_s6-latest/conf/hbbr/run diff --git a/dockge/rustdesk-api_2_6_29/conf/hbbs/run b/dockge/rustdesk-api_s6-latest/conf/hbbs/run similarity index 100% rename from dockge/rustdesk-api_2_6_29/conf/hbbs/run rename to dockge/rustdesk-api_s6-latest/conf/hbbs/run diff --git a/dockge/rustdesk-api_2_6_29/docker-compose.yml b/dockge/rustdesk-api_s6-latest/docker-compose.yml similarity index 70% rename from dockge/rustdesk-api_2_6_29/docker-compose.yml rename to dockge/rustdesk-api_s6-latest/docker-compose.yml index a532d45e1..aad6a35ef 100644 --- a/dockge/rustdesk-api_2_6_29/docker-compose.yml +++ b/dockge/rustdesk-api_s6-latest/docker-compose.yml @@ -2,7 +2,7 @@ networks: 1panel-network: external: true services: - rustdesk-api: + rustdesk: container_name: rustdesk-api env_file: - ./envs/global.env @@ -10,33 +10,16 @@ services: environment: - TZ=Asia/Shanghai - RUSTDESK_API_LANG=zh-CN - image: lejianwen/rustdesk-api:v2.6.29 - labels: - createdBy: Apps - networks: - - 1panel-network - ports: - - ${PANEL_APP_PORT_HTTP}:21114 - restart: always - volumes: - - ${RUSTDESK_API_ROOT_PATH}/api-data:/app/data - - ${RUSTDESK_API_ROOT_PATH}/api-config:/app/config - rustdesk-server-s6: - container_name: server-rustdesk-api - env_file: - - ./envs/global.env - - .env - environment: - - TZ=Asia/Shanghai - - RUSTDESK_API_LANG=zh-CN - RELAY=${RUSTDESK_SERVER_URL} - ENCRYPTED_ONLY=1 - image: rustdesk/rustdesk-server-s6:latest + - MUST_LOGIN=N + image: lejianwen/rustdesk-server-s6:latest labels: createdBy: Apps networks: - 1panel-network ports: + - ${PANEL_APP_PORT_HTTP}:21114 - ${PANEL_APP_PORT_NAT}:21115 - ${PANEL_APP_PORT_ID}:21116 - ${PANEL_APP_PORT_ID}:21116/udp @@ -46,5 +29,7 @@ services: restart: always volumes: - ${RUSTDESK_API_ROOT_PATH}/server-data:/data + - ${RUSTDESK_API_ROOT_PATH}/api-data:/app/data + - ${RUSTDESK_API_ROOT_PATH}/api-config:/app/config - ${HBBR_RUN_FILE:-./conf/hbbr/run}:/etc/s6-overlay/s6-rc.d/hbbr/run - ${HBBS_RUN_FILE:-./conf/hbbs/run}:/etc/s6-overlay/s6-rc.d/hbbs/run diff --git a/dockge/rustdesk-api_2_6_29/envs/default.env b/dockge/rustdesk-api_s6-latest/envs/default.env similarity index 100% rename from dockge/rustdesk-api_2_6_29/envs/default.env rename to dockge/rustdesk-api_s6-latest/envs/default.env diff --git a/dockge/rustdesk-api_2_6_29/envs/global.env b/dockge/rustdesk-api_s6-latest/envs/global.env similarity index 100% rename from dockge/rustdesk-api_2_6_29/envs/global.env rename to dockge/rustdesk-api_s6-latest/envs/global.env diff --git a/dockge/speedtest-tracker-sqlite/docker-compose.yml b/dockge/speedtest-tracker-sqlite/docker-compose.yml index 6da136801..d8599025b 100644 --- a/dockge/speedtest-tracker-sqlite/docker-compose.yml +++ b/dockge/speedtest-tracker-sqlite/docker-compose.yml @@ -14,7 +14,7 @@ services: - DISPLAY_TIMEZONE=Asia/Shanghai - DB_CONNECTION=sqlite - MAIL_MAILER=sqlite - image: linuxserver/speedtest-tracker:1.13.11 + image: linuxserver/speedtest-tracker:1.13.12 labels: createdBy: Apps network_mode: ${NETWORK_MODE} diff --git a/dockge/speedtest-tracker/docker-compose.yml b/dockge/speedtest-tracker/docker-compose.yml index 3b6b753ee..2e677f017 100644 --- a/dockge/speedtest-tracker/docker-compose.yml +++ b/dockge/speedtest-tracker/docker-compose.yml @@ -12,7 +12,7 @@ services: - PGID=1000 - TZ=Asia/Shanghai - DISPLAY_TIMEZONE=Asia/Shanghai - image: linuxserver/speedtest-tracker:1.13.11 + image: linuxserver/speedtest-tracker:1.13.12 labels: createdBy: Apps network_mode: ${NETWORK_MODE} diff --git a/dockge/stream-rec-backend/docker-compose.yml b/dockge/stream-rec-backend/docker-compose.yml index cca1bacc5..0d6d2566e 100644 --- a/dockge/stream-rec-backend/docker-compose.yml +++ b/dockge/stream-rec-backend/docker-compose.yml @@ -11,7 +11,7 @@ services: - LOG_LEVEL=INFO - DB_PATH=/opt/records - DOWNLOAD_PATH=/download - image: streamrec/stream-rec:main + image: streamrec/stream-rec:v0.7.2 labels: createdBy: Apps networks: diff --git a/dockge/stream-rec-backend_0_7_2/.env b/dockge/stream-rec-backend_main/.env similarity index 100% rename from dockge/stream-rec-backend_0_7_2/.env rename to dockge/stream-rec-backend_main/.env diff --git a/dockge/stream-rec-backend_0_7_2/docker-compose.yml b/dockge/stream-rec-backend_main/docker-compose.yml similarity index 92% rename from dockge/stream-rec-backend_0_7_2/docker-compose.yml rename to dockge/stream-rec-backend_main/docker-compose.yml index 0d6d2566e..cca1bacc5 100644 --- a/dockge/stream-rec-backend_0_7_2/docker-compose.yml +++ b/dockge/stream-rec-backend_main/docker-compose.yml @@ -11,7 +11,7 @@ services: - LOG_LEVEL=INFO - DB_PATH=/opt/records - DOWNLOAD_PATH=/download - image: streamrec/stream-rec:v0.7.2 + image: streamrec/stream-rec:main labels: createdBy: Apps networks: diff --git a/dockge/stream-rec-backend_0_7_2/envs/default.env b/dockge/stream-rec-backend_main/envs/default.env similarity index 100% rename from dockge/stream-rec-backend_0_7_2/envs/default.env rename to dockge/stream-rec-backend_main/envs/default.env diff --git a/dockge/stream-rec-backend_0_7_2/envs/global.env b/dockge/stream-rec-backend_main/envs/global.env similarity index 100% rename from dockge/stream-rec-backend_0_7_2/envs/global.env rename to dockge/stream-rec-backend_main/envs/global.env diff --git a/dockge/stream-rec-frontend/docker-compose.yml b/dockge/stream-rec-frontend/docker-compose.yml index adf7b34f0..1f4d40283 100644 --- a/dockge/stream-rec-frontend/docker-compose.yml +++ b/dockge/stream-rec-frontend/docker-compose.yml @@ -7,7 +7,7 @@ services: env_file: - ./envs/global.env - .env - image: streamrec/stream-rec-front:main + image: streamrec/stream-rec-front:v0.7.2 labels: createdBy: Apps networks: diff --git a/dockge/stream-rec-frontend_0_7_2/.env b/dockge/stream-rec-frontend_main/.env similarity index 100% rename from dockge/stream-rec-frontend_0_7_2/.env rename to dockge/stream-rec-frontend_main/.env diff --git a/dockge/stream-rec-frontend_0_7_2/docker-compose.yml b/dockge/stream-rec-frontend_main/docker-compose.yml similarity index 87% rename from dockge/stream-rec-frontend_0_7_2/docker-compose.yml rename to dockge/stream-rec-frontend_main/docker-compose.yml index 1f4d40283..adf7b34f0 100644 --- a/dockge/stream-rec-frontend_0_7_2/docker-compose.yml +++ b/dockge/stream-rec-frontend_main/docker-compose.yml @@ -7,7 +7,7 @@ services: env_file: - ./envs/global.env - .env - image: streamrec/stream-rec-front:v0.7.2 + image: streamrec/stream-rec-front:main labels: createdBy: Apps networks: diff --git a/dockge/stream-rec-frontend_0_7_2/envs/default.env b/dockge/stream-rec-frontend_main/envs/default.env similarity index 100% rename from dockge/stream-rec-frontend_0_7_2/envs/default.env rename to dockge/stream-rec-frontend_main/envs/default.env diff --git a/dockge/stream-rec-frontend_0_7_2/envs/global.env b/dockge/stream-rec-frontend_main/envs/global.env similarity index 100% rename from dockge/stream-rec-frontend_0_7_2/envs/global.env rename to dockge/stream-rec-frontend_main/envs/global.env diff --git a/dockge/stream-rec/docker-compose.yml b/dockge/stream-rec/docker-compose.yml index 4076f23a1..03a278089 100644 --- a/dockge/stream-rec/docker-compose.yml +++ b/dockge/stream-rec/docker-compose.yml @@ -15,7 +15,7 @@ services: - DOWNLOAD_PATH=/download - PGID=1000 - PUID=1000 - image: streamrec/stream-rec:main + image: streamrec/stream-rec:v0.7.2 labels: createdBy: Apps networks: @@ -37,7 +37,7 @@ services: environment: - TZ=Asia/Shanghai - API_URL=http://stream-rec-backend:12555/api - image: streamrec/stream-rec-front:main + image: streamrec/stream-rec-front:v0.7.2 labels: createdBy: Apps networks: diff --git a/dockge/stream-rec_0_7_2/.env b/dockge/stream-rec_main/.env similarity index 100% rename from dockge/stream-rec_0_7_2/.env rename to dockge/stream-rec_main/.env diff --git a/dockge/stream-rec_0_7_2/docker-compose.yml b/dockge/stream-rec_main/docker-compose.yml similarity index 92% rename from dockge/stream-rec_0_7_2/docker-compose.yml rename to dockge/stream-rec_main/docker-compose.yml index 03a278089..4076f23a1 100644 --- a/dockge/stream-rec_0_7_2/docker-compose.yml +++ b/dockge/stream-rec_main/docker-compose.yml @@ -15,7 +15,7 @@ services: - DOWNLOAD_PATH=/download - PGID=1000 - PUID=1000 - image: streamrec/stream-rec:v0.7.2 + image: streamrec/stream-rec:main labels: createdBy: Apps networks: @@ -37,7 +37,7 @@ services: environment: - TZ=Asia/Shanghai - API_URL=http://stream-rec-backend:12555/api - image: streamrec/stream-rec-front:v0.7.2 + image: streamrec/stream-rec-front:main labels: createdBy: Apps networks: diff --git a/dockge/stream-rec_0_7_2/envs/default.env b/dockge/stream-rec_main/envs/default.env similarity index 100% rename from dockge/stream-rec_0_7_2/envs/default.env rename to dockge/stream-rec_main/envs/default.env diff --git a/dockge/stream-rec_0_7_2/envs/global.env b/dockge/stream-rec_main/envs/global.env similarity index 100% rename from dockge/stream-rec_0_7_2/envs/global.env rename to dockge/stream-rec_main/envs/global.env diff --git a/dockge/umami-mysql/docker-compose.yml b/dockge/umami-mysql/docker-compose.yml index 0ed830dcb..3767a8aeb 100644 --- a/dockge/umami-mysql/docker-compose.yml +++ b/dockge/umami-mysql/docker-compose.yml @@ -12,7 +12,7 @@ services: - REMOVE_TRAILING_SLASH=1 - DATABASE_TYPE=mysql - DATABASE_URL=mysql://${DB_USERNAME}:${DB_PASSWORD}@${DB_HOSTNAME}:${DB_PORT}/${DB_DATABASE_NAME} - image: umamisoftware/umami:mysql-v2.16.0 + image: umamisoftware/umami:mysql-v2.20.0 labels: createdBy: Apps networks: diff --git a/dockge/umami-mysql_2_20_0/.env b/dockge/umami-mysql_2_16_0/.env similarity index 100% rename from dockge/umami-mysql_2_20_0/.env rename to dockge/umami-mysql_2_16_0/.env diff --git a/dockge/umami-mysql_2_20_0/docker-compose.yml b/dockge/umami-mysql_2_16_0/docker-compose.yml similarity index 91% rename from dockge/umami-mysql_2_20_0/docker-compose.yml rename to dockge/umami-mysql_2_16_0/docker-compose.yml index 3767a8aeb..0ed830dcb 100644 --- a/dockge/umami-mysql_2_20_0/docker-compose.yml +++ b/dockge/umami-mysql_2_16_0/docker-compose.yml @@ -12,7 +12,7 @@ services: - REMOVE_TRAILING_SLASH=1 - DATABASE_TYPE=mysql - DATABASE_URL=mysql://${DB_USERNAME}:${DB_PASSWORD}@${DB_HOSTNAME}:${DB_PORT}/${DB_DATABASE_NAME} - image: umamisoftware/umami:mysql-v2.20.0 + image: umamisoftware/umami:mysql-v2.16.0 labels: createdBy: Apps networks: diff --git a/dockge/umami-mysql_2_20_0/envs/default.env b/dockge/umami-mysql_2_16_0/envs/default.env similarity index 100% rename from dockge/umami-mysql_2_20_0/envs/default.env rename to dockge/umami-mysql_2_16_0/envs/default.env diff --git a/dockge/umami-mysql_2_20_0/envs/global.env b/dockge/umami-mysql_2_16_0/envs/global.env similarity index 100% rename from dockge/umami-mysql_2_20_0/envs/global.env rename to dockge/umami-mysql_2_16_0/envs/global.env diff --git a/dockge/umami/docker-compose.yml b/dockge/umami/docker-compose.yml index 73fb562d5..9b1f8f673 100644 --- a/dockge/umami/docker-compose.yml +++ b/dockge/umami/docker-compose.yml @@ -12,7 +12,7 @@ services: - REMOVE_TRAILING_SLASH=1 - DATABASE_TYPE=postgresql - DATABASE_URL=postgresql://${DB_USERNAME}:${DB_PASSWORD}@${DB_HOSTNAME}:${DB_PORT}/${DB_DATABASE_NAME} - image: umamisoftware/umami:postgresql-v2.16.0 + image: umamisoftware/umami:3.0.3 labels: createdBy: Apps networks: diff --git a/dockge/umami_3_0_3/.env b/dockge/umami_2_16_0/.env similarity index 100% rename from dockge/umami_3_0_3/.env rename to dockge/umami_2_16_0/.env diff --git a/dockge/umami_3_0_3/docker-compose.yml b/dockge/umami_2_16_0/docker-compose.yml similarity index 90% rename from dockge/umami_3_0_3/docker-compose.yml rename to dockge/umami_2_16_0/docker-compose.yml index 9b1f8f673..73fb562d5 100644 --- a/dockge/umami_3_0_3/docker-compose.yml +++ b/dockge/umami_2_16_0/docker-compose.yml @@ -12,7 +12,7 @@ services: - REMOVE_TRAILING_SLASH=1 - DATABASE_TYPE=postgresql - DATABASE_URL=postgresql://${DB_USERNAME}:${DB_PASSWORD}@${DB_HOSTNAME}:${DB_PORT}/${DB_DATABASE_NAME} - image: umamisoftware/umami:3.0.3 + image: umamisoftware/umami:postgresql-v2.16.0 labels: createdBy: Apps networks: diff --git a/dockge/umami_3_0_3/envs/default.env b/dockge/umami_2_16_0/envs/default.env similarity index 100% rename from dockge/umami_3_0_3/envs/default.env rename to dockge/umami_2_16_0/envs/default.env diff --git a/dockge/umami_3_0_3/envs/global.env b/dockge/umami_2_16_0/envs/global.env similarity index 100% rename from dockge/umami_3_0_3/envs/global.env rename to dockge/umami_2_16_0/envs/global.env diff --git a/dockge/uptime-kuma/.env b/dockge/uptime-kuma/.env index 046e55ee2..5fa74c158 100644 --- a/dockge/uptime-kuma/.env +++ b/dockge/uptime-kuma/.env @@ -4,21 +4,9 @@ UPTIME_KUMA_ROOT_PATH=/home/uptime-kuma # WebUI 端口 [必填] PANEL_APP_PORT_HTTP=3001 -# 数据库类型 [必填] -UPTIME_KUMA_DB_TYPE=sqlite +# Cloudflared 隧道令牌 +UPTIME_KUMA_CLOUDFLARED_TOKEN= -# 数据库主机名 (MariaDB) -UPTIME_KUMA_DB_HOSTNAME=127.0.0.1 - -# 数据库端口 (MariaDB) -UPTIME_KUMA_DB_PORT=3306 - -# 数据库名称 (MariaDB) -UPTIME_KUMA_DB_NAME=uptime_kuma - -# 数据库用户名 (MariaDB) -UPTIME_KUMA_DB_USERNAME=root - -# 密码 (MariaDB) -UPTIME_KUMA_DB_PASSWORD= +# 禁用 Frame SameOrigin [必填] +UPTIME_KUMA_DISABLE_FRAME_SAMEORIGIN=false diff --git a/dockge/uptime-kuma/docker-compose.yml b/dockge/uptime-kuma/docker-compose.yml index 9ec52b604..a7f5ebaaa 100644 --- a/dockge/uptime-kuma/docker-compose.yml +++ b/dockge/uptime-kuma/docker-compose.yml @@ -8,16 +8,15 @@ services: - ./envs/global.env - .env environment: - - TZ=Asia/Shanghai - - UPTIME_KUMA_HOST=0.0.0.0 + - PUID=0 + - PGID=0 - UPTIME_KUMA_PORT=3001 - - UPTIME_KUMA_DB_TYPE=${UPTIME_KUMA_DB_TYPE:-sqlite} - - UPTIME_KUMA_DB_HOSTNAME=${UPTIME_KUMA_DB_HOSTNAME:-127.0.0.1} - - UPTIME_KUMA_DB_PORT=${UPTIME_KUMA_DB_PORT:-3306} - - UPTIME_KUMA_DB_NAME=${UPTIME_KUMA_DB_NAME:-uptime_kuma} - - UPTIME_KUMA_DB_USERNAME=${UPTIME_KUMA_DB_USERNAME:-root} - - UPTIME_KUMA_DB_PASSWORD=${UPTIME_KUMA_DB_PASSWORD:-} - image: louislam/uptime-kuma:2.2.1 + - UPTIME_KUMA_HOST=0.0.0.0 + - DATA_DIR=/app/data + - NODE_TLS_REJECT_UNAUTHORIZED=0 + - UPTIME_KUMA_ALLOW_ALL_CHROME_EXEC=0 + - UPTIME_KUMA_WS_ORIGIN_CHECK=cors-like + image: louislam/uptime-kuma:1.23.17 labels: createdBy: Apps networks: diff --git a/dockge/uptime-kuma_1_23_17/.env b/dockge/uptime-kuma_1_23_17/.env deleted file mode 100644 index 5fa74c158..000000000 --- a/dockge/uptime-kuma_1_23_17/.env +++ /dev/null @@ -1,12 +0,0 @@ -# 数据持久化路径 [必填] -UPTIME_KUMA_ROOT_PATH=/home/uptime-kuma - -# WebUI 端口 [必填] -PANEL_APP_PORT_HTTP=3001 - -# Cloudflared 隧道令牌 -UPTIME_KUMA_CLOUDFLARED_TOKEN= - -# 禁用 Frame SameOrigin [必填] -UPTIME_KUMA_DISABLE_FRAME_SAMEORIGIN=false - diff --git a/dockge/uptime-kuma_2_2_1/.env b/dockge/uptime-kuma_2_2_1/.env new file mode 100644 index 000000000..046e55ee2 --- /dev/null +++ b/dockge/uptime-kuma_2_2_1/.env @@ -0,0 +1,24 @@ +# 数据持久化路径 [必填] +UPTIME_KUMA_ROOT_PATH=/home/uptime-kuma + +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=3001 + +# 数据库类型 [必填] +UPTIME_KUMA_DB_TYPE=sqlite + +# 数据库主机名 (MariaDB) +UPTIME_KUMA_DB_HOSTNAME=127.0.0.1 + +# 数据库端口 (MariaDB) +UPTIME_KUMA_DB_PORT=3306 + +# 数据库名称 (MariaDB) +UPTIME_KUMA_DB_NAME=uptime_kuma + +# 数据库用户名 (MariaDB) +UPTIME_KUMA_DB_USERNAME=root + +# 密码 (MariaDB) +UPTIME_KUMA_DB_PASSWORD= + diff --git a/dockge/uptime-kuma_1_23_17/docker-compose.yml b/dockge/uptime-kuma_2_2_1/docker-compose.yml similarity index 52% rename from dockge/uptime-kuma_1_23_17/docker-compose.yml rename to dockge/uptime-kuma_2_2_1/docker-compose.yml index a7f5ebaaa..9ec52b604 100644 --- a/dockge/uptime-kuma_1_23_17/docker-compose.yml +++ b/dockge/uptime-kuma_2_2_1/docker-compose.yml @@ -8,15 +8,16 @@ services: - ./envs/global.env - .env environment: - - PUID=0 - - PGID=0 - - UPTIME_KUMA_PORT=3001 + - TZ=Asia/Shanghai - UPTIME_KUMA_HOST=0.0.0.0 - - DATA_DIR=/app/data - - NODE_TLS_REJECT_UNAUTHORIZED=0 - - UPTIME_KUMA_ALLOW_ALL_CHROME_EXEC=0 - - UPTIME_KUMA_WS_ORIGIN_CHECK=cors-like - image: louislam/uptime-kuma:1.23.17 + - UPTIME_KUMA_PORT=3001 + - UPTIME_KUMA_DB_TYPE=${UPTIME_KUMA_DB_TYPE:-sqlite} + - UPTIME_KUMA_DB_HOSTNAME=${UPTIME_KUMA_DB_HOSTNAME:-127.0.0.1} + - UPTIME_KUMA_DB_PORT=${UPTIME_KUMA_DB_PORT:-3306} + - UPTIME_KUMA_DB_NAME=${UPTIME_KUMA_DB_NAME:-uptime_kuma} + - UPTIME_KUMA_DB_USERNAME=${UPTIME_KUMA_DB_USERNAME:-root} + - UPTIME_KUMA_DB_PASSWORD=${UPTIME_KUMA_DB_PASSWORD:-} + image: louislam/uptime-kuma:2.2.1 labels: createdBy: Apps networks: diff --git a/dockge/uptime-kuma_1_23_17/envs/default.env b/dockge/uptime-kuma_2_2_1/envs/default.env similarity index 100% rename from dockge/uptime-kuma_1_23_17/envs/default.env rename to dockge/uptime-kuma_2_2_1/envs/default.env diff --git a/dockge/uptime-kuma_1_23_17/envs/global.env b/dockge/uptime-kuma_2_2_1/envs/global.env similarity index 100% rename from dockge/uptime-kuma_1_23_17/envs/global.env rename to dockge/uptime-kuma_2_2_1/envs/global.env