From 5c4c1790ec4ac8b611f3b06dfb124f60a6fb997d Mon Sep 17 00:00:00 2001 From: npty Date: Thu, 14 Sep 2023 14:36:43 +0700 Subject: [PATCH 001/263] chore: done --- apps/ntfy/config.json | 18 +++++++++++++ apps/ntfy/docker-compose.yml | 43 ++++++++++++++++++++++++++++++ apps/ntfy/metadata/description.md | 10 +++++++ apps/ntfy/metadata/logo.jpg | Bin 0 -> 19716 bytes 4 files changed, 71 insertions(+) create mode 100644 apps/ntfy/config.json create mode 100644 apps/ntfy/docker-compose.yml create mode 100644 apps/ntfy/metadata/description.md create mode 100644 apps/ntfy/metadata/logo.jpg diff --git a/apps/ntfy/config.json b/apps/ntfy/config.json new file mode 100644 index 00000000..63c85cfa --- /dev/null +++ b/apps/ntfy/config.json @@ -0,0 +1,18 @@ +{ + "$schema": "../schema.json", + "name": "Ntfy", + "available": true, + "exposable": true, + "port": 8166, + "id": "ntfy", + "tipi_version": 5, + "version": "latest", + "categories": [ + "utilities" + ], + "description": "Send push notifications to any devices using a simple HTTP PUT or POST request.", + "short_desc": "Ntfy, a simple server for sending and receiving notification messages.", + "author": "npty", + "source": "https://github.com/binwiederhier/ntfy", + "website": "https://ntfy.sh/" +} diff --git a/apps/ntfy/docker-compose.yml b/apps/ntfy/docker-compose.yml new file mode 100644 index 00000000..4f78ae7d --- /dev/null +++ b/apps/ntfy/docker-compose.yml @@ -0,0 +1,43 @@ +version: '3.7' + +services: + ntfy: + container_name: ntfy + image: binwiederhier/ntfy + environment: + - NTFY_BASE_URL=${APP_PROTOCOL}://${APP_DOMAIN} + - NTFY_UPSTREAM_BASE_URL=https://ntfy.sh + command: serve + volumes: + - "${APP_DATA_DIR}/data/cache:/var/cache/ntfy" + - "${APP_DATA_DIR}/data/config:/etc/ntfy" + ports: + - ${APP_PORT}:80 + networks: + - tipi_main_network + labels: + # Main + traefik.enable: true + traefik.http.middlewares.ntfy-web-redirect.redirectscheme.scheme: https + traefik.http.services.ntfy.loadbalancer.passhostheader: true + traefik.http.services.ntfy.loadbalancer.server.port: 80 + # Web + traefik.http.routers.ntfy-insecure.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.ntfy-insecure.entrypoints: web + traefik.http.routers.ntfy-insecure.service: ntfy + traefik.http.routers.ntfy-insecure.middlewares: ntfy-web-redirect + # Websecure + traefik.http.routers.ntfy.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.ntfy.entrypoints: websecure + traefik.http.routers.ntfy.service: ntfy + traefik.http.routers.ntfy.tls.certresolver: myresolver + # Local domain + traefik.http.routers.ntfy-local-insecure.rule: Host(`ntfy.${LOCAL_DOMAIN}`) + traefik.http.routers.ntfy-local-insecure.entrypoints: web + traefik.http.routers.ntfy-local-insecure.service: ntfy + traefik.http.routers.ntfy-local-insecure.middlewares: ntfy-web-redirect + # Local domain secure + traefik.http.routers.ntfy-local.rule: Host(`ntfy.${LOCAL_DOMAIN}`) + traefik.http.routers.ntfy-local.entrypoints: websecure + traefik.http.routers.ntfy-local.service: ntfy + traefik.http.routers.ntfy-local.tls: true diff --git a/apps/ntfy/metadata/description.md b/apps/ntfy/metadata/description.md new file mode 100644 index 00000000..330f14d3 --- /dev/null +++ b/apps/ntfy/metadata/description.md @@ -0,0 +1,10 @@ +# Selfhosted notification service + +We wanted a simple server for sending and receiving messages (in real time per WebSocket). For this, not many open source projects existed and most of the existing ones were abandoned. Also, a requirement was that it can be self-hosted. We know there are many free and commercial push services out there. + +At the heart of this project. (gotify/server)[https://hub.docker.com/r/gotify/server] features a WebUI and functionality for: + +- sending messages via a REST-API +- subscribing/receiving messages via a web socket connection +- managing users, clients and applications + diff --git a/apps/ntfy/metadata/logo.jpg b/apps/ntfy/metadata/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d9003a1959d28c7aea6d6c2fd726866c5ffe9d0f GIT binary patch literal 19716 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 literal 0 HcmV?d00001 From 505143b34a989b5af77ad93f49753ac1b354be74 Mon Sep 17 00:00:00 2001 From: npty Date: Tue, 19 Sep 2023 11:33:32 +0700 Subject: [PATCH 002/263] chore: update metadata --- apps/ntfy/config.json | 2 +- apps/ntfy/metadata/description.md | 11 ++--------- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/apps/ntfy/config.json b/apps/ntfy/config.json index 63c85cfa..f9e213d2 100644 --- a/apps/ntfy/config.json +++ b/apps/ntfy/config.json @@ -12,7 +12,7 @@ ], "description": "Send push notifications to any devices using a simple HTTP PUT or POST request.", "short_desc": "Ntfy, a simple server for sending and receiving notification messages.", - "author": "npty", + "author": "https://github.com/binwiederhier", "source": "https://github.com/binwiederhier/ntfy", "website": "https://ntfy.sh/" } diff --git a/apps/ntfy/metadata/description.md b/apps/ntfy/metadata/description.md index 330f14d3..35853ce2 100644 --- a/apps/ntfy/metadata/description.md +++ b/apps/ntfy/metadata/description.md @@ -1,10 +1,3 @@ -# Selfhosted notification service - -We wanted a simple server for sending and receiving messages (in real time per WebSocket). For this, not many open source projects existed and most of the existing ones were abandoned. Also, a requirement was that it can be self-hosted. We know there are many free and commercial push services out there. - -At the heart of this project. (gotify/server)[https://hub.docker.com/r/gotify/server] features a WebUI and functionality for: - -- sending messages via a REST-API -- subscribing/receiving messages via a web socket connection -- managing users, clients and applications +# Ntfy: HTTP-Based Notification Service +ntfy (pronounced as 'notify') is a straightforward pub-sub notification service that operates over HTTP. It facilitates the seamless transmission of notifications to your phone or desktop through scripts from any machine, completely free of charge and without the requirement of registration. Furthermore, its open-source nature (as evidenced here) allows you the option to host your own instance. From 76233df0b0897a899455e77f525bf8e10e4cc1e9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 19 Sep 2023 17:03:46 +0000 Subject: [PATCH 003/263] chore(deps): update ghcr.io/ignisda/ryot docker tag to v2.17.4 (#1240) --- apps/ryot/config.json | 8 +++++--- apps/ryot/docker-compose.yml | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/apps/ryot/config.json b/apps/ryot/config.json index eee78d0b..4ea64883 100644 --- a/apps/ryot/config.json +++ b/apps/ryot/config.json @@ -5,9 +5,11 @@ "available": true, "exposable": true, "id": "ryot", - "tipi_version": 1, - "version": "v2.17.3", - "categories": ["media"], + "tipi_version": 2, + "version": "2.17.4", + "categories": [ + "media" + ], "description": "Roll your own tracker!", "short_desc": "Roll your own tracker!", "author": "IgnisDa", diff --git a/apps/ryot/docker-compose.yml b/apps/ryot/docker-compose.yml index 7c0871ba..d21d554d 100644 --- a/apps/ryot/docker-compose.yml +++ b/apps/ryot/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: ryot: - image: ghcr.io/ignisda/ryot:v2.17.3 + image: ghcr.io/ignisda/ryot:v2.17.4 container_name: ryot environment: - DATABASE_URL=postgres://tipi:${RYOT_DB_PASSWORD}@ryot-db:5432/ryot From c1538e330bbdc77e36aea9ba062e21739584102c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 19 Sep 2023 17:03:53 +0000 Subject: [PATCH 004/263] chore(deps): update budibase/budibase docker tag to v2.10.11 (#1239) --- apps/budibase/config.json | 4 ++-- apps/budibase/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/budibase/config.json b/apps/budibase/config.json index 8e574acb..9bc1c6bc 100644 --- a/apps/budibase/config.json +++ b/apps/budibase/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "budibase", - "tipi_version": 9, - "version": "2.10.10", + "tipi_version": 10, + "version": "2.10.11", "categories": [ "development" ], diff --git a/apps/budibase/docker-compose.yml b/apps/budibase/docker-compose.yml index 0d8278f9..109a0a40 100644 --- a/apps/budibase/docker-compose.yml +++ b/apps/budibase/docker-compose.yml @@ -1,7 +1,7 @@ version: '3.7' services: budibase: - image: budibase/budibase:2.10.10 + image: budibase/budibase:2.10.11 restart: unless-stopped container_name: budibase ports: From 6caab5ab508c9648258176f78eec4faa212b1113 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 19 Sep 2023 18:18:02 +0000 Subject: [PATCH 005/263] chore(deps): update lscr.io/linuxserver/pairdrop docker tag to v1.8.1 (#1242) --- apps/pairdrop/config.json | 4 ++-- apps/pairdrop/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/pairdrop/config.json b/apps/pairdrop/config.json index d0d42fff..e846dfb8 100644 --- a/apps/pairdrop/config.json +++ b/apps/pairdrop/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "pairdrop", - "tipi_version": 11, - "version": "1.8.0", + "tipi_version": 12, + "version": "1.8.1", "categories": [ "media", "data", diff --git a/apps/pairdrop/docker-compose.yml b/apps/pairdrop/docker-compose.yml index fab800e0..75f46aee 100644 --- a/apps/pairdrop/docker-compose.yml +++ b/apps/pairdrop/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: pairdrop: - image: lscr.io/linuxserver/pairdrop:1.8.0 + image: lscr.io/linuxserver/pairdrop:1.8.1 container_name: pairdrop environment: - PUID=1000 From c9f81e269c2b0c3f70e188d99f998e2affb2910b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 19 Sep 2023 18:18:09 +0000 Subject: [PATCH 006/263] chore(deps): update lscr.io/linuxserver/mastodon docker tag to v4.1.8 (#1241) --- apps/mastodon/config.json | 4 ++-- apps/mastodon/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/mastodon/config.json b/apps/mastodon/config.json index 24081b1b..b1877463 100644 --- a/apps/mastodon/config.json +++ b/apps/mastodon/config.json @@ -7,8 +7,8 @@ "force_expose": true, "generate_vapid_keys": true, "id": "mastodon", - "tipi_version": 7, - "version": "4.1.7", + "tipi_version": 8, + "version": "4.1.8", "categories": [ "social" ], diff --git a/apps/mastodon/docker-compose.yml b/apps/mastodon/docker-compose.yml index 8910834c..8c4c078e 100644 --- a/apps/mastodon/docker-compose.yml +++ b/apps/mastodon/docker-compose.yml @@ -3,7 +3,7 @@ version: "3" services: mastodon: container_name: mastodon - image: lscr.io/linuxserver/mastodon:4.1.7 + image: lscr.io/linuxserver/mastodon:4.1.8 ports: - 8209:80 - ${APP_PORT}:443 From 774d21c6fb940df545c0fb2a4cebb8f7b3485ceb Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 19 Sep 2023 17:25:59 -0400 Subject: [PATCH 007/263] chore(deps): update 1dev/server docker tag to v9 (#1037) * chore(deps): update 1dev/server docker tag to v9 * Update app version [ready] --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Tipi CI --- apps/onedev/config.json | 4 ++-- apps/onedev/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/onedev/config.json b/apps/onedev/config.json index edc5f12b..81838e21 100644 --- a/apps/onedev/config.json +++ b/apps/onedev/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "onedev", - "tipi_version": 47, - "version": "8.6.13", + "tipi_version": 48, + "version": "9.0.0", "categories": [ "development" ], diff --git a/apps/onedev/docker-compose.yml b/apps/onedev/docker-compose.yml index 8bf96d2d..28efce75 100644 --- a/apps/onedev/docker-compose.yml +++ b/apps/onedev/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: onedev: - image: 1dev/server:8.6.13 + image: 1dev/server:9.0.0 container_name: onedev environment: - hibernate_dialect=io.onedev.server.persistence.PostgreSQLDialect From 454394b229d34b3a3546888b1f5cb52dc26227da Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 19 Sep 2023 21:28:09 +0000 Subject: [PATCH 008/263] chore(deps): update 1dev/server docker tag to v9.1.12 (#1244) --- apps/onedev/config.json | 4 ++-- apps/onedev/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/onedev/config.json b/apps/onedev/config.json index 81838e21..1f041c51 100644 --- a/apps/onedev/config.json +++ b/apps/onedev/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "onedev", - "tipi_version": 48, - "version": "9.0.0", + "tipi_version": 49, + "version": "9.1.12", "categories": [ "development" ], diff --git a/apps/onedev/docker-compose.yml b/apps/onedev/docker-compose.yml index 28efce75..87eae3d8 100644 --- a/apps/onedev/docker-compose.yml +++ b/apps/onedev/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: onedev: - image: 1dev/server:9.0.0 + image: 1dev/server:9.1.12 container_name: onedev environment: - hibernate_dialect=io.onedev.server.persistence.PostgreSQLDialect From b3882e755568eceafebb8a84e4bb995dfa8ec035 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 20 Sep 2023 01:06:45 +0000 Subject: [PATCH 009/263] chore(deps): update ghcr.io/ignisda/ryot docker tag to v2.17.5 (#1245) --- apps/ryot/config.json | 4 ++-- apps/ryot/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/ryot/config.json b/apps/ryot/config.json index 4ea64883..e09068e9 100644 --- a/apps/ryot/config.json +++ b/apps/ryot/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "ryot", - "tipi_version": 2, - "version": "2.17.4", + "tipi_version": 3, + "version": "2.17.5", "categories": [ "media" ], diff --git a/apps/ryot/docker-compose.yml b/apps/ryot/docker-compose.yml index d21d554d..975b9595 100644 --- a/apps/ryot/docker-compose.yml +++ b/apps/ryot/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: ryot: - image: ghcr.io/ignisda/ryot:v2.17.4 + image: ghcr.io/ignisda/ryot:v2.17.5 container_name: ryot environment: - DATABASE_URL=postgres://tipi:${RYOT_DB_PASSWORD}@ryot-db:5432/ryot From dde2efa11082478d196cbc975db03aa5d6bd4dbb Mon Sep 17 00:00:00 2001 From: npty Date: Wed, 20 Sep 2023 08:31:02 +0700 Subject: [PATCH 010/263] chore: change tipi_version to 1 --- apps/ntfy/config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/ntfy/config.json b/apps/ntfy/config.json index f9e213d2..728c8a01 100644 --- a/apps/ntfy/config.json +++ b/apps/ntfy/config.json @@ -5,7 +5,7 @@ "exposable": true, "port": 8166, "id": "ntfy", - "tipi_version": 5, + "tipi_version": 1, "version": "latest", "categories": [ "utilities" From dcbe3b3bc83f265f4a2240a9a5a07136bcaa8cf5 Mon Sep 17 00:00:00 2001 From: npty Date: Wed, 20 Sep 2023 08:31:40 +0700 Subject: [PATCH 011/263] chore: use specific version --- apps/ntfy/config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/ntfy/config.json b/apps/ntfy/config.json index 728c8a01..747192c4 100644 --- a/apps/ntfy/config.json +++ b/apps/ntfy/config.json @@ -6,7 +6,7 @@ "port": 8166, "id": "ntfy", "tipi_version": 1, - "version": "latest", + "version": "2.7.0", "categories": [ "utilities" ], From 45d65cf2344cdc514fc9bbc7e837a2a6a9458753 Mon Sep 17 00:00:00 2001 From: npty Date: Wed, 20 Sep 2023 08:34:08 +0700 Subject: [PATCH 012/263] chore: fix logo --- apps/ntfy/metadata/logo.jpg | Bin 19716 -> 20202 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/apps/ntfy/metadata/logo.jpg b/apps/ntfy/metadata/logo.jpg index d9003a1959d28c7aea6d6c2fd726866c5ffe9d0f..f099f14aea4a12ddfe991038dadc0a86d2fbcb35 100644 GIT binary patch literal 20202 zcmeHvcT|&G({B_76#)?qN>xx0X(CO!g@7I@qSBjyQl&}nDk6ah96&&7G*Li$Z=t9V zklv;D-mCO-_mf~d@A>Zf?ppWHH?EbF^_*R2&;HHKZ{}gQeYYQW>@S&HGO&I7_QUMK zKiKX7OdsKBVhDrD%fl|hV6a25gZqxdNWias;2&%s9qb_CHw^aIKKh@(@9w*>*9NrQ zPxGriXbXM7$WU+Me|NiJH((_Dp%3&;0zL;w4?v$oq@)K)4<9;mSjg`>FSlQ19C?bEbe2|n3 zYO`-YHOT?+oA278Q^(ILspvhi4SwC!OmhOx!Y{0>YMq(IepyIH-{x6J#!12JvUgb# z2G4`i&)vKKFz_Ab3mB7uFc~!E-h|MY2M&^vkRAg6SArUPPC{~sj126T&;~4k@4#85 zgQV0a;P(O>kJDThylef8<(l5R^v?tQK^fFV`!4r$ z{Qv&=uLS-p0p`+Vvk0L&llFq*l7ta~Y5xPdG<*@|aa5G(oP^l6c^h@^9%k|G>B3jE zOcosHHm5x8v9aajS>mRPojmZ=R8_gIp3C`;Up|K~q#H(*yt;R3qb5pKbE-_kKhOP(X5-MSDXtLsNLIV839CE(6? zTAwb4l*zSS7t0Nl?=EFCp{jPS9$r%uZ@0C^c444Ddwiin$0G;TiZ#*o@gLn$le{N>G#z>8 z_IuM22i0;X>gMX}=*6j@tK!;QRq6GOg8E(9C2WfXVlX*v-YKp-K||j7)zW#H zH?fA$l2KbhIfws=I%#v-6RIaJdt& zjy%=mrUcj|;oQQtYZqdqZHF4hwun4sX7-|G<6|%jVkRNo zea!t+_;=g7Mn#eVO3p=t(OFfqmI3qW&E7ZAi-aK|xe=#fbQDlb+*$=9f;MhO?ED$y zraJ~Y-C%F>c-}v9MRY<&($L$qknzKt`#n7`6_ZXB(;KBw@&IYS_wWx!0W_LXON7t`Yxfq9MG0T$@Hxhf<&7Tk?mQv@_ zO9^$QQu@_Z^xV$du|K9bKb4Ac@FesFr%LRLoJhqeP7*qkXZ{*62h|IA00TmbLTuQUOO;x>W_92d+mS-qH_rQ5S=tG8ZdI(+wNn6u%

R=uOa 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 From f3f22919b72cd26a8b075c64766fd9c2dbb7bc71 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 20 Sep 2023 05:14:59 +0000 Subject: [PATCH 013/263] chore(deps): update portainer/portainer-ce docker tag to v2.19.1 (#1246) --- apps/portainer/config.json | 4 ++-- apps/portainer/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/portainer/config.json b/apps/portainer/config.json index dadffbe4..10bd46f5 100644 --- a/apps/portainer/config.json +++ b/apps/portainer/config.json @@ -6,8 +6,8 @@ "exposable": true, "https": true, "id": "portainer", - "tipi_version": 13, - "version": "2.19.0-alpine", + "tipi_version": 14, + "version": "2.19.1-alpine", "categories": [ "utilities" ], diff --git a/apps/portainer/docker-compose.yml b/apps/portainer/docker-compose.yml index 12b8352f..ed408238 100644 --- a/apps/portainer/docker-compose.yml +++ b/apps/portainer/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: portainer: - image: portainer/portainer-ce:2.19.0-alpine + image: portainer/portainer-ce:2.19.1-alpine container_name: portainer restart: unless-stopped ports: From 1ecf5697710096f7fd143b4354f228264f7286eb Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 20 Sep 2023 05:15:04 +0000 Subject: [PATCH 014/263] chore(deps): update ghost docker tag to v5.63.0 (#1247) --- apps/ghost/config.json | 4 ++-- apps/ghost/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/ghost/config.json b/apps/ghost/config.json index 8077e08c..107af9d7 100644 --- a/apps/ghost/config.json +++ b/apps/ghost/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "ghost", - "tipi_version": 45, - "version": "5.62.0", + "tipi_version": 46, + "version": "5.63.0", "categories": [ "social", "media" diff --git a/apps/ghost/docker-compose.yml b/apps/ghost/docker-compose.yml index d3c7d791..43d821e9 100644 --- a/apps/ghost/docker-compose.yml +++ b/apps/ghost/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.9" services: ghost: - image: ghost:5.62.0 + image: ghost:5.63.0 container_name: ghost depends_on: - ghostdb From a20f0c80a670c43e317879c3ad040dec0637a754 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 20 Sep 2023 10:57:59 +0000 Subject: [PATCH 015/263] chore(deps): update ghcr.io/ignisda/ryot docker tag to v2.17.6 (#1249) --- apps/ryot/config.json | 4 ++-- apps/ryot/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/ryot/config.json b/apps/ryot/config.json index e09068e9..bc93c897 100644 --- a/apps/ryot/config.json +++ b/apps/ryot/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "ryot", - "tipi_version": 3, - "version": "2.17.5", + "tipi_version": 4, + "version": "2.17.6", "categories": [ "media" ], diff --git a/apps/ryot/docker-compose.yml b/apps/ryot/docker-compose.yml index 975b9595..165c4fad 100644 --- a/apps/ryot/docker-compose.yml +++ b/apps/ryot/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: ryot: - image: ghcr.io/ignisda/ryot:v2.17.5 + image: ghcr.io/ignisda/ryot:v2.17.6 container_name: ryot environment: - DATABASE_URL=postgres://tipi:${RYOT_DB_PASSWORD}@ryot-db:5432/ryot From 6c0bf03012ffd812b72a1a7ba43ad421383eb614 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 20 Sep 2023 10:58:06 +0000 Subject: [PATCH 016/263] chore(deps): update 1dev/server docker tag to v9.1.13 (#1248) --- apps/onedev/config.json | 4 ++-- apps/onedev/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/onedev/config.json b/apps/onedev/config.json index 1f041c51..ca826564 100644 --- a/apps/onedev/config.json +++ b/apps/onedev/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "onedev", - "tipi_version": 49, - "version": "9.1.12", + "tipi_version": 50, + "version": "9.1.13", "categories": [ "development" ], diff --git a/apps/onedev/docker-compose.yml b/apps/onedev/docker-compose.yml index 87eae3d8..6763809b 100644 --- a/apps/onedev/docker-compose.yml +++ b/apps/onedev/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: onedev: - image: 1dev/server:9.1.12 + image: 1dev/server:9.1.13 container_name: onedev environment: - hibernate_dialect=io.onedev.server.persistence.PostgreSQLDialect From 83ec7eb2cfdd4f1e3ab74d32f3db8919a962edbd Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 20 Sep 2023 12:34:25 +0000 Subject: [PATCH 017/263] chore(deps): update tooljet/tooljet-server-ce docker tag to v2.17.3 (#1250) --- apps/tooljet/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/tooljet/docker-compose.yml b/apps/tooljet/docker-compose.yml index c69773db..9d9ba6a0 100644 --- a/apps/tooljet/docker-compose.yml +++ b/apps/tooljet/docker-compose.yml @@ -44,7 +44,7 @@ services: tooljet-server: container_name: tooljet-server - image: tooljet/tooljet-server-ce:v2.17.2 + image: tooljet/tooljet-server-ce:v2.17.3 tty: true stdin_open: true restart: always From cf55d2fb3b82602773c4f72d8a79b9bd2628cb77 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 20 Sep 2023 16:54:29 +0000 Subject: [PATCH 018/263] chore(deps): update budibase/budibase docker tag to v2.10.12 (#1251) --- apps/budibase/config.json | 4 ++-- apps/budibase/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/budibase/config.json b/apps/budibase/config.json index 9bc1c6bc..77bf394e 100644 --- a/apps/budibase/config.json +++ b/apps/budibase/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "budibase", - "tipi_version": 10, - "version": "2.10.11", + "tipi_version": 11, + "version": "2.10.12", "categories": [ "development" ], diff --git a/apps/budibase/docker-compose.yml b/apps/budibase/docker-compose.yml index 109a0a40..6aa8f3ec 100644 --- a/apps/budibase/docker-compose.yml +++ b/apps/budibase/docker-compose.yml @@ -1,7 +1,7 @@ version: '3.7' services: budibase: - image: budibase/budibase:2.10.11 + image: budibase/budibase:2.10.12 restart: unless-stopped container_name: budibase ports: From d0f3b728c30b0f33a616a840bd746747a8a35ad9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 20 Sep 2023 16:54:36 +0000 Subject: [PATCH 019/263] chore(deps): update lscr.io/linuxserver/mastodon docker tag to v4.1.9 (#1252) --- apps/mastodon/config.json | 4 ++-- apps/mastodon/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/mastodon/config.json b/apps/mastodon/config.json index b1877463..60c1a299 100644 --- a/apps/mastodon/config.json +++ b/apps/mastodon/config.json @@ -7,8 +7,8 @@ "force_expose": true, "generate_vapid_keys": true, "id": "mastodon", - "tipi_version": 8, - "version": "4.1.8", + "tipi_version": 9, + "version": "4.1.9", "categories": [ "social" ], diff --git a/apps/mastodon/docker-compose.yml b/apps/mastodon/docker-compose.yml index 8c4c078e..b73ab73d 100644 --- a/apps/mastodon/docker-compose.yml +++ b/apps/mastodon/docker-compose.yml @@ -3,7 +3,7 @@ version: "3" services: mastodon: container_name: mastodon - image: lscr.io/linuxserver/mastodon:4.1.8 + image: lscr.io/linuxserver/mastodon:4.1.9 ports: - 8209:80 - ${APP_PORT}:443 From 84e4ff7cb3ba86da5050e2fad05acc4de11e3c81 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 20 Sep 2023 22:08:11 +0000 Subject: [PATCH 020/263] chore(deps): update florider89/joplin-server docker tag to v2.13.1 (#1253) --- apps/joplin/config.json | 4 ++-- apps/joplin/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/joplin/config.json b/apps/joplin/config.json index 1cffd4f6..a27ef055 100644 --- a/apps/joplin/config.json +++ b/apps/joplin/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 8099, "id": "joplin", - "tipi_version": 8, - "version": "2.12.1", + "tipi_version": 9, + "version": "2.13.1", "categories": [ "utilities" ], diff --git a/apps/joplin/docker-compose.yml b/apps/joplin/docker-compose.yml index 33cc0144..a56a3cc5 100644 --- a/apps/joplin/docker-compose.yml +++ b/apps/joplin/docker-compose.yml @@ -3,7 +3,7 @@ version: "3.7" services: joplin: container_name: joplin - image: florider89/joplin-server:2.12.1 + image: florider89/joplin-server:2.13.1 restart: unless-stopped depends_on: - db-joplin From 6e650c19e50fcb2dc25d38f8b69a87c743485e1b Mon Sep 17 00:00:00 2001 From: npty Date: Thu, 14 Sep 2023 14:36:43 +0700 Subject: [PATCH 021/263] chore: done --- apps/ntfy/config.json | 18 +++++++++++++ apps/ntfy/docker-compose.yml | 43 ++++++++++++++++++++++++++++++ apps/ntfy/metadata/description.md | 10 +++++++ apps/ntfy/metadata/logo.jpg | Bin 0 -> 19716 bytes 4 files changed, 71 insertions(+) create mode 100644 apps/ntfy/config.json create mode 100644 apps/ntfy/docker-compose.yml create mode 100644 apps/ntfy/metadata/description.md create mode 100644 apps/ntfy/metadata/logo.jpg diff --git a/apps/ntfy/config.json b/apps/ntfy/config.json new file mode 100644 index 00000000..63c85cfa --- /dev/null +++ b/apps/ntfy/config.json @@ -0,0 +1,18 @@ +{ + "$schema": "../schema.json", + "name": "Ntfy", + "available": true, + "exposable": true, + "port": 8166, + "id": "ntfy", + "tipi_version": 5, + "version": "latest", + "categories": [ + "utilities" + ], + "description": "Send push notifications to any devices using a simple HTTP PUT or POST request.", + "short_desc": "Ntfy, a simple server for sending and receiving notification messages.", + "author": "npty", + "source": "https://github.com/binwiederhier/ntfy", + "website": "https://ntfy.sh/" +} diff --git a/apps/ntfy/docker-compose.yml b/apps/ntfy/docker-compose.yml new file mode 100644 index 00000000..4f78ae7d --- /dev/null +++ b/apps/ntfy/docker-compose.yml @@ -0,0 +1,43 @@ +version: '3.7' + +services: + ntfy: + container_name: ntfy + image: binwiederhier/ntfy + environment: + - NTFY_BASE_URL=${APP_PROTOCOL}://${APP_DOMAIN} + - NTFY_UPSTREAM_BASE_URL=https://ntfy.sh + command: serve + volumes: + - "${APP_DATA_DIR}/data/cache:/var/cache/ntfy" + - "${APP_DATA_DIR}/data/config:/etc/ntfy" + ports: + - ${APP_PORT}:80 + networks: + - tipi_main_network + labels: + # Main + traefik.enable: true + traefik.http.middlewares.ntfy-web-redirect.redirectscheme.scheme: https + traefik.http.services.ntfy.loadbalancer.passhostheader: true + traefik.http.services.ntfy.loadbalancer.server.port: 80 + # Web + traefik.http.routers.ntfy-insecure.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.ntfy-insecure.entrypoints: web + traefik.http.routers.ntfy-insecure.service: ntfy + traefik.http.routers.ntfy-insecure.middlewares: ntfy-web-redirect + # Websecure + traefik.http.routers.ntfy.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.ntfy.entrypoints: websecure + traefik.http.routers.ntfy.service: ntfy + traefik.http.routers.ntfy.tls.certresolver: myresolver + # Local domain + traefik.http.routers.ntfy-local-insecure.rule: Host(`ntfy.${LOCAL_DOMAIN}`) + traefik.http.routers.ntfy-local-insecure.entrypoints: web + traefik.http.routers.ntfy-local-insecure.service: ntfy + traefik.http.routers.ntfy-local-insecure.middlewares: ntfy-web-redirect + # Local domain secure + traefik.http.routers.ntfy-local.rule: Host(`ntfy.${LOCAL_DOMAIN}`) + traefik.http.routers.ntfy-local.entrypoints: websecure + traefik.http.routers.ntfy-local.service: ntfy + traefik.http.routers.ntfy-local.tls: true diff --git a/apps/ntfy/metadata/description.md b/apps/ntfy/metadata/description.md new file mode 100644 index 00000000..330f14d3 --- /dev/null +++ b/apps/ntfy/metadata/description.md @@ -0,0 +1,10 @@ +# Selfhosted notification service + +We wanted a simple server for sending and receiving messages (in real time per WebSocket). For this, not many open source projects existed and most of the existing ones were abandoned. Also, a requirement was that it can be self-hosted. We know there are many free and commercial push services out there. + +At the heart of this project. (gotify/server)[https://hub.docker.com/r/gotify/server] features a WebUI and functionality for: + +- sending messages via a REST-API +- subscribing/receiving messages via a web socket connection +- managing users, clients and applications + diff --git a/apps/ntfy/metadata/logo.jpg b/apps/ntfy/metadata/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d9003a1959d28c7aea6d6c2fd726866c5ffe9d0f GIT binary patch literal 19716 zcmdpei93{k+xLYeDk>y|7LkOcQnpc2WSNkJB>AC;scd5%Z4{y?M2t!)LPElfQ9>n4 z_9ZhS%h)cm3^QitJ*VIO+{g32f5KZwM`f=0Zs-2_oY(j6Nz3DFMPx(}1X*ipa?~0@ z_~D=Y$f}j_*Bri$34g8dIBankK?>tnFS`iB|F^iBSX&@Suo8kq+(HoEBN3wr;=cz$ z#?B*%P6~oZU3pS&r3W9ZykK_xD8l9a&Ln3i!cT;+nArOwh%%S=hc72x${T(tQzGspg^g+({F_-1^_3Ke3lP`uFzEtVmmfmnovZPS@ z^JA;4hTgp)?H!er5TcKFSZKISsW)r<YQtFNqG4%T?#=SHufgSCl{Nv2qehwttHt9SOSxAG%;F~aJ=b)%=@x!blO|lX zAiHRwOjk`uOUvzga5X?ZG0?cBby4<937{3+)j?BL2`5=DbX~ z^_z-bP5k3v)hlc$Vaz(g43Aw$z5nnFs~t*-d}w_c#k@_si>6NeUdA zUrv@n?ubeleB|%`DA?e8qh{?RZ1mmEXpyilPOnAIvn<58JL!&Y!*E6?5Bns} znYwru6q={BPM0Dz#7OWcP&$AV}N89SKyA*dVO}x%dA3Z^?_a-E^bL2~e>rfs99f zshY!idI25paeS94zi@FoIj~0c&5HE=ozVeJt{#)iGX2~KbMylXFiXFz){een_PKKN zVmJPE#y>iDu$?DISHnoY)a(q&d2@+yF<6(vsir__-JUBaVW=a&xSF-giC$Npibw2> zUPzvMmGxuNU>AIn(W*w@?fQLE{o`#oR@Pl1MLDOI>#)!1blZfu1GOYi*)zZO5$?8V z41yRwh<)HkuBWZt`44a6?gUQG#B*?}>yRQvcDnb;DG@j;{T=#SFJ0(94!&l~x^l(z zi?Kobybaf@B3$*qW9ZWF`wcB9PrcmM3EEw-90p^+Le_1GGG)5=)Rw74Oa`(sO7yCC z@$h5A%*zRWuQZ2;vLb`>kx(-U0*HLCv=UwDlFaZs-YO27YM98_E_{JC8!F4XPQ`oO z?-Z#j{i{{4L@-?(JG^5;kRYrqOi^D$Wj;L$hCO-EL)z8Ht3)$iGJ+ym1D2KP8LI2! z`ce|kr`9akSYKO?H+u=bKyx_5UG^Q!ZTolboIf-N?an_J>TN3zv8p4HDO-JU26#zQjld+FE0(xef|@dWm=n(cTYnn54p@8qkVOY zUj;wkAgxL_3Ul_eMWo#CKpcu#xaLBWdLjX0j5kfSU%1%Q@P5jNOm<1{@S$eq^_CZ3 z9Z#Bcyv9m9u^`c0Qiv}R9V{I0$hvfD{a&TE_rBTpLf-sDzZhI?T^<^9Nq1zeY%R_H zD4@F!-*0$tlipF+NYT#z>jJ$=X1BX`UwWeH&W@9ML)dO5VUhT7(JnHye?HKT{?RU@ zbr7fCuBA$C`%{8?ItB(3Pg{t(- z*|f#&5=Iin&X4ABZt>4{9`N^R_r|KVpc!XhjZhtunD@LG@A|Tyx*6pPN6@7*bo@tz zBaCOz_A=AXH-NxKRAycz@4}{ z)h)@Tro9Ub?wxr~tic%k@Ra0oWM|bmn)+Gt*C;>U=Pf!acU{SeJh>dAZ9`9vvUH*R z@ngaj4KHlDNlR~r%kp=)D_Hc%Ye}@de{*uEWR6IpPg;!6rw5f@G8#D@R2923`k3iP zo=cB3)5)CpUi7C`i2Ei;Lyb<^IwF3cg3)BX>_m&OCsBHvMbtR-g(oWN+!&wAvf*^+ zWrNuy%q9MwLH4Y)IhjPD)@6!PG3vwj=Dp@_9_MsziS>&4u^_b6{RY|mPj}@tJ@WEe zr}-~o?D)uf**&)7+tevbza4Z@V)fJvM@3+ogC~sqgwgsc8#Zu{q~0BTUY|TBrhyr6 z4jMXm^quOc*0;uks~>D*qZK$hLlHA_dp`+7#n`T)VhmQIxb{^j(dJD>TiKtxQN=#v z!)p%N-3Z%JAzW4I=JDh4oRYX$-JuIC$=25}y0n+;fm^!*O>sm)G|5 zX)j398xBaxsb2HdhksAWL~PNO$r~&dNwTveY~&aPsBO}%}h!Ldv=eL&sDQL8YEF1*@m~ysGpmK9&CzYV7UXejd`go zrkSX)ZRAWs--`30-O?4;(A7OdKxw5Wo-m%yTjOh2&);mPXo}g5vd_cH{)+Uc z+Rk4;L|IEKcUvH}N$G{E@#=m1ZK_!)emxowi>xdC%#unlT}vit$vZB+EPvh;u5#rJ z8x%^a02bH3cR-sc8TI~=O zx2yU}ny{f7SLV~$J=tO(vnIO((;R!>yjKidIhI7YVAxBhjN_*{aW_q3t67eeF0a|~ z@y>&aXQU&0V8Vy#d8>6}2p7yqgypztPKRy{OK6-u8H1rxQo2IP1m^>n`x0j5d%vBB zS&nyim%n|HD~?iTjd|x~HiNs#X!5S9Jc|+oH&baZh|6RGt-_`wC_XDY_iI6I4#lY#Xt9 zrQ8%HK|BE)O_BH{Vz{O(gphoYC!%%+r^8DEPaqK}!+37aFZPP6tnzmQY;Rw$o;Mq6 z6j0||j3zJodpB_s#V8(hZ!Mmy_~|5KQN_xR`N+y1`^ZNktS@u#^g>@-qKCQ&4JG>yR6014`=$}q(!Tne4GCrH)i`Q$%vc~ZfFdJ)jT%E zZk;^HQ>NYp`y2+gTbWAfK1QN6ttA(Z*O3TG1M!T~P5Y>{L#2yS z*D921BTqZOE{-ugjmYc_rDOVv#Zfc?tlZ65E69T{g!`mpVusW0TXN3DqAQkxReB?A z=tv@5!{7;NykP4DerU1x);}vz;`^rWw_lzIZxwihQShF@IDep@%zuS)_ZXi0^K~I3 zu-is0iPIOE#Juy1-KV&ZO6dWW9MHJ^p8viG7?Tg4dn)9W@k~=ED;ulhWWEHdf-9{q z*3743>Y3K_k4{M6()_F8t{0{`ms}lqu3E8p`#U%@@Q9@G_jp45@Cp}m#M%m++0xQl zI1g0v5e|adgi$R^*}IA*b)CUL&UAJK1aU9Zu)N414Y3mRZCM>G!nB{AyHXWNI5ER% z?EA&e3rro`0Sn{D6Y36U#lX`imvakFeTx(}yhr9{S%n<*%V-9Trr^QG9A|6s1h?`C z2JSAS$;Ghjc$LQOq>Rv!~5R zzzCAHg1PU{ZHA5UWZ8R%QEEwR9ndJ`Z#II-3PZ4+O$Pq2IUKe^M_1pmtk@Gh38Z!d zo6-*sctY|S5}_uEGsybLsu%_@yq6D)fGZb>{o%YB{~@2USTH}-jkZp2HJT{;GP&(8 z1N&VPbuQ#7La$5DCK91t*pL6D21-0|?PA>)C;Z&q@?Xyi#y&l_Y|FeZ&^p8m_6#qX zR}5^J&M&t2wfRm~XUM?1{!V0kgzYV@@0U`k#|kT7xIt-=7LuppH1J%5f_}E|_h*VP z28xq^ci_2mbbDM5nNbiplYGO8?_>#?!uobWLn&@^9z~bE*=b>>Y3$Wk8=DC+)cO0S z(z*e5U*qJFBu=7oJf6_`^T;%3UV~$OMLZ%E&z%gZ_aX?z6SD~HX=7%xuX=N(Yn_ML zCXjaN&#!BxvF=?zW$F<-+rg^1 zTmw$p^+JyQvcMc?KWqyTsbU9A28VEqV`cW5JEzW{a|-$BOn+h&*McN2Y)YQotRO$+h0a;6J z=+u2L0STllhl&Y8V1PNTjok7kfg33Zeu&-cS1YIMRz4g$;mf2789XB&o60ca$8)># zc#h6|4KFjHuASzvh5HNmhH2$8RLY{()jI8!mKos@K0%&O^Pga_}-1_d$XVyrX*UK~UNu0o{6`2npx433Wu`-IJn<Y%p1>m>I$J zgZ`A_yHW{ZR4QeaT;exPM?YJLOi7O8_wZbI*%^*0YcmNTxhK1u(yuoM^+)mfm5^XVUUFeiE%V?I2|Ct@Ajf<7W4n(-RPIJ0HvOJVq ztHXJNBtWp-(lP&w?d#DTab1VizkNPtw(`|%+`+>)g#!B7MZ>%`pg-?0u%3o9*m#C` z#Be`5#{KvGr_5Y?w7q16VCta|nzeF`iHs10A5{{?%jdrdEzWlbnV_#xX1U@ZIOEd9 ztJTNH(y}w2s$w`nWRKdzbfH)nJv&bLBda$slF=kTUfyUYwak^tG`jlwCZnMDwYGP> z{(K*Un5&Qxlp)&XdtupR*EqX(#5=ITW(Jb!c}Sci``N3{F$;PnKODNAhb;bLkB5%Q z=?A5%vqpC?r&vwiOZTq(xvE#QdWTcg>`0VqOJ4obCU=X@mMvV`XxK1Q&0<}-AY+O? zzIxv>BOt=Z`OgQ?JG)$M@5_e_NtDU|B3jHZ#^-FWV1Svwh2(ohV~-PNLbKBCcJ z(Znf)n(X&gQ`zfF=Dt}ghy)mz;`p<_A+JI)#cVefGv7iH>b%UAjG)ibZn=}4-@Iio z`hWL+e0%t&KYWv(iVe5&P-vUhUYQVSe|c{L0aH=i_}-n5&vk%Fc`zkaqbGk zKTWKVYk%h5ntpAcZ?NGU!Sr(OUEf0{R3;uL5n|L}fpy|348|x^wsysq>&qe*SeRbc zCQu<4&EUAOS%;+PZ-s4A6$EkrPX&V0qEb@v1TjPFLji}f9nn{7skElqw<=MVDQ^h+ zBS+ZP^byZLuk<&^^MSDKgQ&F1#X)w=-5OTZ`#H+Zh)Tg`1rlLiGl8l#Xqc|&P3W8X zDPDfLSg^I6eWtj>E@CQ?ciA zG~@$Q17!Cd+{%wCaJNCFN(7HVnKvA}$q>nu#B+o9UT!|0PWUWb&J=fUwil9ndR<_H zr3;BL%!^gRHLQ>kwtnTN5DI_u#64>Qiq1$sPAIIn*Q|}@tae)Z(KM#tDmGChi4w6s zctV9C#C4A67+b%VC2Z(ChO(;nsS{N%O;%RUTri^J#;ntn+nH!np2k7HOL-h zL^0xN5e&xN^O9AT)0}fxzATzDF&<8t+?kK@p6HK|;=+*wLEKxAiK)GZLI8|O0({;B zJXZ~A9pi5skSx{jt?9;HFaA#TaF)|{E1$wo2|JZchv%J`zXy2+O$qX*lO#fk53_#5 zAccWb+$4B%Ew8|m|04ZZK(|tJItC8PEM9m2FIfRRmsk0wRV_#mV#wKX)vS?j4}IYa z{3jtGypyiMNJR#$X<5?3HaB57g6Vy8vI6qK+*mCq5<$0iv{{@NC=eH_KmOsd)E~Wa=pU&7~%ZQVkE-!W<6dY`93>`^$0zpwa`^W3m_4s zc^RC4=;p!Yc}{*v3EG;Sd+m$}f{Lx(taT|zoi&|3udN(*(lt<4T^Mz442ojldc>)e zYg9_7MCVO2KSUML&Ht1UL=dyA+_mRQ6_W1XZ_XYVbZ&l8R~zPvK#0RZRf)Yb`Sq^u|U)Aw2U z;#2GxE1Q`6x+2~}64G=YY!Zk%AB7@=B`6;8vaOoMWy@*PdyK^{nc3N;#hHD0@}a4c zNiQS*2&9I*SBl-#PFhdJB=b8Sohe|p5a8co17LBhFfkN~Z~Dlk*AE!l2^~J&Z|dba zMd}}>l*{RNm&PWj9Uaw@GPRr14@@HLiS5awu-_lkAB|)VEU>oLh&pnf&*$>t3H6ZV zzPSRck$U_*gjg92)weUBiBqH3Z#F9<1&2G6O(1jCo&5UTn0>7=?Q%;PJJrOkayR{` zzu>49xTHqiW&GN)(WP3$|EKsApkfM@<3|uG7IO3LsDe~sXrBzbzp{6}%$a?PL7Ka) zStk;(*YnFBr{D>da^`bltG&?Xt%JpJs*+>uS<`HKEfk`iTfsuL``O|Gdg`1FBAM5N z@!WkO;X&;u*ws#yA9g;K4l&7UYP(mDx-3syF>CLlorEVr*W=9p6)VMG+qC-K*Ih4# zA?5$Xh4Sbv|NTX!+{cVk`*$IpHL}bewa!tT57|U`#iLzu`+D=WK?J?x!c9x!86-d|1}?Wxf-e|7Pg zsC16TX5Z*=&V#10?*gJIgXi4_wzL=zu(hr;#9|O7By1J0lIglES`<+4&YPdvR)Xm$ ziBYf~IUuieN^vkUzD?Vm;_Ta4W}tPu zN`sdA8f5*KwlhYb$*Omv8NXbP7;AYm^yg_%Uw-$I?xVo7Fj z8k^X!M8SCX>Ap6adBf$>5K4 zSXc*ZfAHv@nEscToG1UOtx_Z?-D?EFxusuypSDK=q0)lr3$G<{qh6)wa&a8aO8utl zTOu!9s|?eFs(zJ^{WP07GFBsy_ynXigA7Ay3*ES54Txe~^ zodLYZ$rpl;{(Tae(3dR$IhU}HTq=s_OU+nVf$a?=iSFzbWPaS?a zNeR?vvwUWN2AKOQuIK#F3C`PQE^=BIvm~VeXt$=-_7Fl0l6Pzd1AG(QLrU z?R@BBYpIyme4uohh$4wF7T!X>YWK!Dmyi*dZNMET(le5ivlNi5XUqRnH`}4ae1K*a zVncUvHmD+aZptR9+2${*xwH=%QUJHKDKRqb*J^60 zt#jql2$M?m0XujMRsZG;PuMnrDgaQ@^XC&QP6(jHKQDIUeok&(tN9=+#QEGamUGxS zkIh#;82Gl`m8s}m#Y$fZ8#Y*nDmZK9zBo0_8Tv)$zbHbb7#{!WQLJ_$z`%U8R@JX& zxy+%|t;p!eRwzRLH?AQ@rD=Rh1BvtwuwVG0FVvjU%NGix{C?c?^#g%;nb~Dq9KSE~ zcMDKJ&TvYU`$LekWJ0)^nf(BWPVEegJN%uP8x!t-+b1ZXu)Ms&SN`cpKilgxC`^!8 z)+FFV-Paka2)R=5{_GolZ}U;exL?K2HP)_W{tyTpA8>Yh>X@w8SbeJ{0z9+!<@Y)p zcGw;w5%&LUwgfsAb08o4J$l{?iVAL~27AF%f3C+&^sdm63XpNDFp5j`f`@9T)0{k= zJnp`&YXrghJ!F*rsSxk##rh9qi3L!Z-vdr8}Yux?sKAa#N?hH4psC#vDJ)g@58KS)hS9_LqHC?AQu3&@;b}csSn%RKySYlb5Ix~Jwk_*HMX&Ohz>dDTShxhrA?P!AXW%yM2^@3EFJW)7M)jZ*EBMq}Axt=aKU|ZVr96&cO=SMT%L0_A*kQSiP@X$kE%A61)Kw?IwMfUa?A$wi>8X8L|G0Nc@w=K z=od|;I(K^}?tM}1D?3`)aT;ahwA1Wjwe+8YU0|Y{NCayEU?`FXP{!^p69s$&Y%i4U z7+9jZ&^(hkx8!Qs@m<(vf?;cI;S z8;L-ydS!jz?Iwb@fH+`kl7(9A!Jz zcD)R-0OT_&j)8Xmbes-ESZzubbn+%s4O&pH4 zePwl4ESf=v!z3~xhb*+6;T$*r>F9iLK|*e?k4EpU<&}W#oG(}f$j5FfO$^uxUGS{* zA`vQqTPXfl+*cE`4^4Do0eTUNU|@Cqcyx!n8XK)*Nk%wSiQY26eFGJoliw|4u-@d<#6}4D=Q|2#0lW<^aS`FybMyQ9qB^GiirY#F1p}%pp;uIgV~hWnD)3;+Jk6Z{~Hu z1%5nt<5nK#SO8h?X`pvnmVu8^5!e9DaQeZq>UtNFs1)?$UQ7Osd$03AspzY8<$1#k z+on0T+ewlLi7;ix9gK=^Gd|wf5w$R~)nHNpbvED4!|6m_ED%5iHgb9O;f=@2)9Z)_ zraL12gI(soO>#f6wAX$F7+3C^?>Q#p{HK1lZODkVU%jt9imPvqJIwsTvyi{vx?xZ8 zkMY5KR{ETKcgC^Q8@6t2qQ>(iK>al3ok!8bGs*lPgto}@=wl=Ex(GfUS8lc6*B{C= z>xeh#W7L<9M1nPUe$fc>ceC+GJXZ!>XxTjOq$=?Hg@Ap=Lx@b6=6nOVW^k)P@}G6Y zPj{c0_&SFi#yI&=k_w!AJ#t5=n4&v1tcu!=W9)S6JbDY>g!gqx&Gq(1LN;~Iy8t5 z%~w1Kn;~%=9NaWgzzFOEW;6Us_}Lv~BC^T#+D;B9n9IW>d7jTmXmg`csEE6nU2=HE zZ_U2xw&e_6mhZYW;7jIs>XrR*KKNslis4BHQmknB*S5kuhp#e6pVnPm1v`7VGkRYj zeRcVTA8d!h!A8zzB_Jy=m(}=u0>P)p9VV~({VkqBJKSUx8rLCs{7L37*xr?m>LC`% z8c%YQ?I`5&nj`2CI9%mlf3E5pLke3uTP_OBT+nq$!u66Lj7_k?9kxjefpP^D{!W)H zzwnD4e7R;^R6!36PnQR4LnYo_@4_ZgG-{khocLDsvjg=$kHpla=aBJtu)p4Py|uK% zEM!iF)9vfDV{;jSl-=#0SQT@38Ms6SR-rXS2+w`TV^4ReQ!#Z#MRHVbimA=~kT~^u zSY2!&#`1o2iQ|Fs+H9%O&L(y1k@r*S1-(uo?|^PR7AC`^<4>=Z<)7x1?D#2cXm+iV zUa$hC&8{Qb_%9xnAF$cySYGZon^05E`MT88TxP6>$sIm6H$rcZPDA*=YqMrYbb`O^XzJ$ zb>b1}_+fUPn8NFr_yMr#3tx5X_j~-()2|%3r{o9>&>%Yv@MR!>%Szf=ouoyxrxu8V zH5TPgGSc&^mCV%_nj_9RS2)*Za#Y1sM*n(lVT~@~2KWO+Xt&kA0k3X;R2lGfiJ0#7F}@07RB8MgpTZt`y-e zo3@-gKvjr#g=QI^emXHeKkw-(DakwslGm3EZB^hUP{sBKLF{h)%?Wz}Fbr^+9sQZR zx%Zh*-_obna%Q1WiDzqVhLp`YVL;fFsy}Z;iN!Whk^G$IOs#l|q$U}fCeoVl6G8k=P&zZcO3 z%5O0vhtAF;DDxb&#j2A)vKYBH3|o{h+&%7BpHNq#HWtt&0En|LmqaiSo`AD$%5bFC z(9}wq&W~@N;oDPdVg+gShlvkG+#Y55A1@mlJJ!x{_VX4&655ai=6_Q`YG{iRl2^rI zVR=|b2uGMbFcVemKC4tl2!@Ka$DU7{UDg)Fl7JE?XNs*RHP>3YyPd`IwGzDujz;WW z)H#AZ<}smwdX_P@VD~P_QTy-tPe4`zM6Umzl%Fb8%5MHLp{jjY%3tKabY^t1wpBIx zQsbwx;6HiVzB+O9GaOxD_W|u}f4dby(GtLQ??@tv(({W0y<8~d zPs?pGd$$-n`hd}-S~?d6*>M{Jkl0|bd_NTBcZ3bMLo*USWH6Yw6@S)hY>w`jJza$Y zp!{S&%7K-r0_2Jr4&^_Br`WQ>NBQOeua2>BN@up)toEx;oGp1#;WaY8B*EPcu-DM|%j;U1OaY8&fKvgJj#ZbMnPNWKpqKmb8Dlti9 zUKANy3Z#w&Zc1H#buIcojSo=#B@H;ML4Qi1rCQ%bxkd#AKkrRo-x)#NE79CsuhaCg znu@6jGz7l3lL4(buvwaoG?g}Q@=ux`bj|pWJzy{Z=WSe3^&U#~Q>T5-7I?`M&Xi&( z#lG8jV>UZ0qGY5wfQS^rtBm=ZTfyYa|J4p98p zDWjCS=03kEJ}sw;!Zo`_k2bLf&nM0KZh8*wPOphCylCxY94TcRbT$yjpAl(Lmu!K~ z4duRU?q>+$O-Jn*2YBYl>>gm1xX%uMu5SK){E^La^&d{i8o8I)&3+G!M*6plsX5DF z`0lqsBi027tN0sd_%2SKaKZr%aFc<{8foN=_|<$0a(M4^?{bol>ImD0Xc-XZL2#qq4E5~5aiGA{(NT%n0#V&u8=U~zs>6hh;OX4 zqlO*FI32`_kvZ0==F5X?Hs;yv`^>7V!~3-yX1$%`EJ+f^^|Rtk=EL*10^ORjujnX= z@axUbxB0Lbsm)X1!;**Dd=n~z%RuFAfHi32xdBB!_3nMszeCx>kBxhJ`X(B~A)5t~ z{+00IATEai zk+1#i$ukvhMd3@oL;L2wAMy9;?a;wMR(#Y40TU*wumf&w1ohYVPGcU|=$ zWS9=Jb0^uk*R~z00vq49Tkw7&Y7sqOxOm(ui*+vST(U+=uH<;9(g?59Lf~?p8H#?C z-Tg!o85y#w5DlH<@OF%qC);V{o$KD$O(GM<25^PSBtjA28Tm)i#O#w6q&ZFoNeaw1 zrLF#Xx54!?V_lus2hQG0CXvtbhObMabnH#rMj}9Z4VYqur8YJ{w0Yw$lr2y}FVHw_ zjsTi5%b7cUdd3-0(tL-x2*@euE73&uy)-2yJrt@xgQ{{6C%PZ2EYB`pwTQ$Kjp;6zzT_CL)MBi@`?rS$m8$X| z(ZhK?#ZQev3m2il;*)`PzNk#VR0&e6X=ih|p>y(N5_2*IP?3MhYNJj6I5$+Yq>f)v zMJiUcvM@#09`o>~Iy+KEvlt*r53anfzt^ug&J@{v<_fdfzPb?ObG-M1F{+sCR<^~jJ+5yHtr%d6oj8Vim7_QzJ^-y!A8$i6OPFxE-%fWLEpJ5u52)gQJT zu>|;%j|T>yb(qK5H*C8N8CYFwu7ZRBm2!Y5o3ID9tUBnQ#5_~?~=_#S$ZdQ zXASQwZ1CP+Q23&HsVI2-<;$=E_V{5q{0!%Ppj0oRe^vzYy6gcG_hr6igY!%(`=DcL z;%@DGGIayA;6Ewli;f!a$~F>&9(gQn{Zsa77NzzvJ77y7WB4`XD zDJ2ym-!Pv`--qF~0y^6~g zz<84OC?Sws>6h-3Aat%i$g3#?N5#jtyO2vST=PS1#(%Ew8R_XH`INJGQ6)T}SG=zl#PYJwCpQAYjn_6C>g$J!qeSm&4wl>gN<+rG=1*H@hP47|QQ zWLFsfBk~*n#>fjiRN`LmyfBaK-WyDadCFTy7--7{C%4rV(v;HpR*5tqa z6FlC+1NQ4|a6KOw1y=1t=l@bhb#PGpD5}NBD>TBi;oXXc{Th(U|65s5#zj@3!5d?| z>L335bs8c-Nns%@-s1#uLpOA_gHGv}l49WH5WtBrNy0Zi2%VRLt_q94#1F5vSQfT_ zz3mgrBV52?_@eZ6M#0AGZxE9qXzQTVWI`ioSqq_}lYv!}|VoDf32Ap41rz$QMUe0=wB46+DIbw z7-&hQ-XK%1h7S&~iVHH6R3Cn7dUiF02FgXc{oM=CaCCEjSmoW zw4r6}7PyeZa?li>)mro4QyLs&7roK2HGAF9PPZ}B?)eEVK$+8=p!J_uRCVpHel)+`dF^_T55qe;lVT`w2Qq2nHLTJmmLu2m4?FAR&SbT`S?84tH1q&mL z9Q!Xb0(fS84h6t$KfL2Ll{*cGcOq#QpomUN8{D#C5Z-ptSm-_bfzkA<{H#8lB%nOy zhZ{&-#C6}LQY%rR?7e3!5YLctqnyX9sgzGtnk4k>AK#`h)W(1|vCfZ^!Jw9AgVd{P z7Z&6W9Wz=f>SsdQ;CI5IUc|5b;KRJ#Cp)q!zpLI&y_wEtCMNIQFFRp*OlWeED7kS`P*;kj=fjRUUhd*1f}oMM|=Q`nTmNT3^ds{#rmjCif z&~b_{51%<45<~IE+ygK^P8M30nVYr#Nm1`Xzr6o#yT?qiLfBCHhN{%FN}K-*rNz=0 zmir&N!-JOyD}Np)&0(6?G}gIC4}+%|`2>X!N_pHk z_Cpk3?P!dUTy~DUk7rC2r z^F|(>?5CKp#}$K7SCpXZn8a7o+#Bo`O74N^Zg6S}`!C)xI5c=A z-QZH>%7YCY)dnTg_=&~iTNn^{X1|nJLkE{j5U={wyo%>OArnH^P$>*d-CDVPxDuhD zRk@*g4`yl(S4+I7=@_ugGr8FKcem#H{{qrg=P0zwLYKMMNk3XF@zv&-*VwvaU6Xok= zFEW0)+E8mKcMfm#%uN3z*U__=Oes?6{F%)0#cr!>C*2q;c(CtcmEl_HgC{G*q+iY$ z9lwaKf4-08dPP(2bfSqla$&lPg_Y5CD0*q$DV&%+J}sQsuDRt-wm#gBpeH8ndd@5K zx^RS`?Huogfvtl|^jlwB_j`Twvyjt&NfLlp&TWTMD>YVJ6+gc#&t^M{DR#Xd_vAyV zyG2HRcSuvSyis8N%tbyV!o$zBybz6n;8`-w5kD5&q8T#zyxYcoG=;oiRTpvHZL?>q;GCZ4-}(4koz9F34(G7QOu5{6?j4vqi!%(y^|0j2-3Y zH~Q)>>te@4c_Kz>W(saah&Yq+U~a@+_6%Q_=^-lN=k$Zr{XymKlln%-EmNKy7O>~t z+wgPof#yrP(Bc(kwrhQwekTU39{~ z?c+UJXOWuYa`Q&;fCSuwP@k5d9`D5iZT2q(bAg0x7q)rnweV0{=bxYF_Hr>+Na6 zRder-KfL>d#C^5Z$p80e^8OH1I#u5-GEz+5df^K!QfBF;rn}?cM=RapzdVj52!s_p zcwUOR?-A*4nes`Y3j~#OjjTBww{NYD1>AHYv+I&|_w#Ez=wCy^oTV?W9G$+K2-08E zKn;lmevdq{6^2zTJl3M!dcd-Re~**3H)g@7tK6T3%}eG#wnqNhpc1xqg3M?KLe%qf z|5LZ@wFq*)T02$~_tN`G0RPF}A@00m>FDIW@wPXM*v*;_b(THHixx7Tx++@?iA}(b z08V8Mn`X7rB8tT$q}}4bKjLvGv%<$f9X}2(^aKge+WP8}(&1tX!_(9Rzt`UPfj$`; z?;L&jTIk{eRm<Kko=E#RpCMoX;ax#gUWpHAih>B!Clt1Cl zIiEyKJ=|0{*5$%TJr};)em*aYvago((Es=)C8UJSyZ1ja=kRy&v~z&#Qws9g4APl%~jul@3i-@;YlLvp;6 zD6m(hn~mB3ai&f+CQ3ltE&N*YEy^m8c1=opWLRIocg$+vnU-Uw0`(_E;Zh8(a|v?< zSyvxb-3JE+_xyW_gWef6I`@&^MM-!cumCy3fm=1c)CQY!x6%|EV1!Bb})DO2yn zPYC>7)`H&&W>J}N; z7V?EK-265Ul1EolGc z57Xy_!L=7|$}nGe^JV@Bu15T^c&?D^_tbadphp-N{*&tU?X!NbD|WD{n`VQ%h2g%O zO~uy8$u;BcvnHl`2B3Z-sz^=C4!Y*#u0@87t4_ToTE*-hWl&q?iWpFOW+S>*k z0r4Ae7!#>FVamAJDb6^jqPrEo9I)Zriu2F2gl^S=a@}v^dPR6C-rJ@7dh;kN%5PZ4 z_5H)Y!`XI~@h&mR$O)Xm{hxjLQ4UUh0zhj*Gea0kqyN=ILtFxww&#MxV^>^eNoZce zepLPv&@U%^rUDx`NP+u+xfeLDWW&7R;^Y4ZB{na6(*kr|&5}2w4NoUMTebYb{k)#a zwQrb#K`y}bb{@l;>0c&%_yJV1G)YAhc&O2<%80&`+jiHLcvkuB=K8ny*o3^NB3WRd~b4Wjc)Y>pr#A6WrZ7bPXC97FtA*7yV(phx}hRQjp4P5?V4Es zJJA8(6o5((^trKK=<=QPE*uyY@t2&B%~-cd7#J`N<+Ii@lz2xiiIuCLXP8!evlFP_ zq3+ELpy030Dz1OPmdol>emp>xWPk;m{``0QvS~y7y{t_@?W!fN5hW>!C8<`)MX5lF z!N|bKSl7T**T^Kq(9+7t$jaDE+rYrez+i#B)@KwAx%nxXX_dG&Tuhqe57ZzDvLQG> zt)x7$D3zhSyj(9cFS|H7u^?41zbJk7I~!na$`D=^5>XPASgue|l%JNFld4csS&*ub zSx}M;EYIgW{=~yk7^b0d%K!8k&!<5Q%*xz)$=t%q!rqfbn1vNw8cYtSFe`5kQ8<0$ o%84Uqj>sHgKi%N5z)O$emAGKZCnwXXKr0wLUHx3vIVCg!0GAXkDF6Tf literal 0 HcmV?d00001 From 6bd243b6cbc663769e4e5a8d3be505e50ec7d666 Mon Sep 17 00:00:00 2001 From: npty Date: Tue, 19 Sep 2023 11:33:32 +0700 Subject: [PATCH 022/263] chore: update metadata --- apps/ntfy/config.json | 2 +- apps/ntfy/metadata/description.md | 11 ++--------- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/apps/ntfy/config.json b/apps/ntfy/config.json index 63c85cfa..f9e213d2 100644 --- a/apps/ntfy/config.json +++ b/apps/ntfy/config.json @@ -12,7 +12,7 @@ ], "description": "Send push notifications to any devices using a simple HTTP PUT or POST request.", "short_desc": "Ntfy, a simple server for sending and receiving notification messages.", - "author": "npty", + "author": "https://github.com/binwiederhier", "source": "https://github.com/binwiederhier/ntfy", "website": "https://ntfy.sh/" } diff --git a/apps/ntfy/metadata/description.md b/apps/ntfy/metadata/description.md index 330f14d3..35853ce2 100644 --- a/apps/ntfy/metadata/description.md +++ b/apps/ntfy/metadata/description.md @@ -1,10 +1,3 @@ -# Selfhosted notification service - -We wanted a simple server for sending and receiving messages (in real time per WebSocket). For this, not many open source projects existed and most of the existing ones were abandoned. Also, a requirement was that it can be self-hosted. We know there are many free and commercial push services out there. - -At the heart of this project. (gotify/server)[https://hub.docker.com/r/gotify/server] features a WebUI and functionality for: - -- sending messages via a REST-API -- subscribing/receiving messages via a web socket connection -- managing users, clients and applications +# Ntfy: HTTP-Based Notification Service +ntfy (pronounced as 'notify') is a straightforward pub-sub notification service that operates over HTTP. It facilitates the seamless transmission of notifications to your phone or desktop through scripts from any machine, completely free of charge and without the requirement of registration. Furthermore, its open-source nature (as evidenced here) allows you the option to host your own instance. From 50393669c656152edef63da5155057489fa4d614 Mon Sep 17 00:00:00 2001 From: npty Date: Wed, 20 Sep 2023 08:31:02 +0700 Subject: [PATCH 023/263] chore: change tipi_version to 1 --- apps/ntfy/config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/ntfy/config.json b/apps/ntfy/config.json index f9e213d2..728c8a01 100644 --- a/apps/ntfy/config.json +++ b/apps/ntfy/config.json @@ -5,7 +5,7 @@ "exposable": true, "port": 8166, "id": "ntfy", - "tipi_version": 5, + "tipi_version": 1, "version": "latest", "categories": [ "utilities" From 190e35435f6824b0644cabf444042d073ca1cfe5 Mon Sep 17 00:00:00 2001 From: npty Date: Wed, 20 Sep 2023 08:31:40 +0700 Subject: [PATCH 024/263] chore: use specific version --- apps/ntfy/config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/ntfy/config.json b/apps/ntfy/config.json index 728c8a01..747192c4 100644 --- a/apps/ntfy/config.json +++ b/apps/ntfy/config.json @@ -6,7 +6,7 @@ "port": 8166, "id": "ntfy", "tipi_version": 1, - "version": "latest", + "version": "2.7.0", "categories": [ "utilities" ], From 4829125a7fa29e84f17f29fb5ba649c188037cdf Mon Sep 17 00:00:00 2001 From: npty Date: Wed, 20 Sep 2023 08:34:08 +0700 Subject: [PATCH 025/263] chore: fix logo --- apps/ntfy/metadata/logo.jpg | Bin 19716 -> 20202 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/apps/ntfy/metadata/logo.jpg b/apps/ntfy/metadata/logo.jpg index d9003a1959d28c7aea6d6c2fd726866c5ffe9d0f..f099f14aea4a12ddfe991038dadc0a86d2fbcb35 100644 GIT binary patch literal 20202 zcmeHvcT|&G({B_76#)?qN>xx0X(CO!g@7I@qSBjyQl&}nDk6ah96&&7G*Li$Z=t9V zklv;D-mCO-_mf~d@A>Zf?ppWHH?EbF^_*R2&;HHKZ{}gQeYYQW>@S&HGO&I7_QUMK zKiKX7OdsKBVhDrD%fl|hV6a25gZqxdNWias;2&%s9qb_CHw^aIKKh@(@9w*>*9NrQ zPxGriXbXM7$WU+Me|NiJH((_Dp%3&;0zL;w4?v$oq@)K)4<9;mSjg`>FSlQ19C?bEbe2|n3 zYO`-YHOT?+oA278Q^(ILspvhi4SwC!OmhOx!Y{0>YMq(IepyIH-{x6J#!12JvUgb# z2G4`i&)vKKFz_Ab3mB7uFc~!E-h|MY2M&^vkRAg6SArUPPC{~sj126T&;~4k@4#85 zgQV0a;P(O>kJDThylef8<(l5R^v?tQK^fFV`!4r$ z{Qv&=uLS-p0p`+Vvk0L&llFq*l7ta~Y5xPdG<*@|aa5G(oP^l6c^h@^9%k|G>B3jE zOcosHHm5x8v9aajS>mRPojmZ=R8_gIp3C`;Up|K~q#H(*yt;R3qb5pKbE-_kKhOP(X5-MSDXtLsNLIV839CE(6? zTAwb4l*zSS7t0Nl?=EFCp{jPS9$r%uZ@0C^c444Ddwiin$0G;TiZ#*o@gLn$le{N>G#z>8 z_IuM22i0;X>gMX}=*6j@tK!;QRq6GOg8E(9C2WfXVlX*v-YKp-K||j7)zW#H zH?fA$l2KbhIfws=I%#v-6RIaJdt& zjy%=mrUcj|;oQQtYZqdqZHF4hwun4sX7-|G<6|%jVkRNo zea!t+_;=g7Mn#eVO3p=t(OFfqmI3qW&E7ZAi-aK|xe=#fbQDlb+*$=9f;MhO?ED$y zraJ~Y-C%F>c-}v9MRY<&($L$qknzKt`#n7`6_ZXB(;KBw@&IYS_wWx!0W_LXON7t`Yxfq9MG0T$@Hxhf<&7Tk?mQv@_ zO9^$QQu@_Z^xV$du|K9bKb4Ac@FesFr%LRLoJhqeP7*qkXZ{*62h|IA00TmbLTuQUOO;x>W_92d+mS-qH_rQ5S=tG8ZdI(+wNn6u%

R=uOa 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 From a7afe712d1def89f634e67b1ac252657ef430620 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 21 Sep 2023 07:39:12 +0000 Subject: [PATCH 026/263] chore(deps): update tooljet/tooljet-server-ce docker tag to v2.17.4 (#1254) --- apps/tooljet/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/tooljet/docker-compose.yml b/apps/tooljet/docker-compose.yml index 9d9ba6a0..a863599d 100644 --- a/apps/tooljet/docker-compose.yml +++ b/apps/tooljet/docker-compose.yml @@ -44,7 +44,7 @@ services: tooljet-server: container_name: tooljet-server - image: tooljet/tooljet-server-ce:v2.17.3 + image: tooljet/tooljet-server-ce:v2.17.4 tty: true stdin_open: true restart: always From ab9706f5d169e29e9eec25376c2270a0a135f8bb Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 21 Sep 2023 18:07:24 +0000 Subject: [PATCH 027/263] chore(deps): update altran1502/immich-machine-learning docker tag to v1.79.0 (#1256) --- apps/immich/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/immich/docker-compose.yml b/apps/immich/docker-compose.yml index bc5d287e..a4b645e8 100644 --- a/apps/immich/docker-compose.yml +++ b/apps/immich/docker-compose.yml @@ -93,7 +93,7 @@ services: immich-machine-learning: container_name: immich-machine-learning - image: altran1502/immich-machine-learning:v1.78.1 + image: altran1502/immich-machine-learning:v1.79.0 volumes: - ${ROOT_FOLDER_HOST}/media/data/images/immich:/usr/src/app/upload - ${APP_DATA_DIR}/data/immich-ml-cache:/cache From 014cfc84c6fda76e08447cfb772e4adf589bec17 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 21 Sep 2023 18:07:50 +0000 Subject: [PATCH 028/263] chore(deps): update svhd/logto docker tag to v1.9.1 (#1255) --- apps/logto/config.json | 4 ++-- apps/logto/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/logto/config.json b/apps/logto/config.json index 6d2b74a3..d662d1e4 100644 --- a/apps/logto/config.json +++ b/apps/logto/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "logto", - "tipi_version": 8, - "version": "1.9.0", + "tipi_version": 9, + "version": "1.9.1", "force_expose": true, "categories": [ "security" diff --git a/apps/logto/docker-compose.yml b/apps/logto/docker-compose.yml index 0c767287..e1bb63f2 100644 --- a/apps/logto/docker-compose.yml +++ b/apps/logto/docker-compose.yml @@ -4,7 +4,7 @@ services: depends_on: logto-db: condition: service_healthy - image: svhd/logto:1.9.0 + image: svhd/logto:1.9.1 container_name: logto entrypoint: ["sh", "-c", "npm run cli db seed -- --swe && npm start"] ports: From 6510addd653e3a3cdbd28ca8634647138181b515 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 21 Sep 2023 21:33:56 +0000 Subject: [PATCH 029/263] chore(deps): update altran1502/immich-server docker tag to v1.79.0 (#1258) --- apps/immich/docker-compose.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/immich/docker-compose.yml b/apps/immich/docker-compose.yml index a4b645e8..70635595 100644 --- a/apps/immich/docker-compose.yml +++ b/apps/immich/docker-compose.yml @@ -43,7 +43,7 @@ services: immich-server: container_name: immich-server - image: altran1502/immich-server:v1.78.1 + image: altran1502/immich-server:v1.79.0 command: ["start-server.sh"] volumes: - ${ROOT_FOLDER_HOST}/media/data/images/immich:/usr/src/app/upload @@ -68,7 +68,7 @@ services: immich-microservices: container_name: immich-microservices - image: altran1502/immich-server:v1.78.1 + image: altran1502/immich-server:v1.79.0 command: ["start-microservices.sh"] volumes: - ${ROOT_FOLDER_HOST}/media/data/images/immich:/usr/src/app/upload From 5bbc0ee2d4975835ffef4944b4bed18c2d5baf7b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 21 Sep 2023 21:34:33 +0000 Subject: [PATCH 030/263] chore(deps): update altran1502/immich-proxy docker tag to v1.79.0 (#1257) --- apps/immich/config.json | 4 ++-- apps/immich/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/immich/config.json b/apps/immich/config.json index a0307e45..48e1d120 100644 --- a/apps/immich/config.json +++ b/apps/immich/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 8128, "id": "immich", - "tipi_version": 43, - "version": "1.78.1", + "tipi_version": 44, + "version": "1.79.0", "categories": [ "data", "photography" diff --git a/apps/immich/docker-compose.yml b/apps/immich/docker-compose.yml index 70635595..a3ff2c1a 100644 --- a/apps/immich/docker-compose.yml +++ b/apps/immich/docker-compose.yml @@ -3,7 +3,7 @@ version: "3.7" services: immich: container_name: immich - image: altran1502/immich-proxy:v1.78.1 + image: altran1502/immich-proxy:v1.79.0 ports: - ${APP_PORT}:8080 depends_on: From a8bfac52e78bf554ec08fef409978872e2f06318 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 22 Sep 2023 01:35:42 +0000 Subject: [PATCH 031/263] chore(deps): update ghcr.io/zadam/trilium docker tag to v0.61.7 (#1259) --- apps/trilium/config.json | 4 ++-- apps/trilium/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/trilium/config.json b/apps/trilium/config.json index 4dfc045c..f4827fe8 100644 --- a/apps/trilium/config.json +++ b/apps/trilium/config.json @@ -5,8 +5,8 @@ "exposable": true, "id": "trilium", "description": "Trilium Notes is a hierarchical note taking application with focus on building large personal knowledge bases. ", - "tipi_version": 2, - "version": "0.61.6-beta", + "tipi_version": 3, + "version": "0.61.7-beta", "categories": [ "utilities" ], diff --git a/apps/trilium/docker-compose.yml b/apps/trilium/docker-compose.yml index 04e0c62f..51a0292b 100644 --- a/apps/trilium/docker-compose.yml +++ b/apps/trilium/docker-compose.yml @@ -2,7 +2,7 @@ version: '3.7' services: trilium: - image: ghcr.io/zadam/trilium:0.61.6-beta + image: ghcr.io/zadam/trilium:0.61.7-beta container_name: trilium ports: - ${APP_PORT}:8080 From 1ad32af283e10aaab0764ae6ae9eb9c42628883d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 22 Sep 2023 01:35:51 +0000 Subject: [PATCH 032/263] chore(deps): update nextcloud docker tag to v25.0.12 (#1260) --- apps/nextcloud/config.json | 4 ++-- apps/nextcloud/docker-compose.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/nextcloud/config.json b/apps/nextcloud/config.json index 56924ee1..aa509382 100644 --- a/apps/nextcloud/config.json +++ b/apps/nextcloud/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 8083, "id": "nextcloud", - "tipi_version": 16, - "version": "25.0.11-apache", + "tipi_version": 17, + "version": "25.0.12-apache", "categories": [ "data" ], diff --git a/apps/nextcloud/docker-compose.yml b/apps/nextcloud/docker-compose.yml index 2e3d4124..0f45510a 100644 --- a/apps/nextcloud/docker-compose.yml +++ b/apps/nextcloud/docker-compose.yml @@ -3,7 +3,7 @@ version: "3.7" services: nextcloud: container_name: nextcloud - image: nextcloud:25.0.11-apache + image: nextcloud:25.0.12-apache restart: unless-stopped ports: - ${APP_PORT}:80 @@ -69,7 +69,7 @@ services: - tipi_main_network cron: - image: nextcloud:25.0.11-apache + image: nextcloud:25.0.12-apache restart: on-failure volumes: - ${APP_DATA_DIR}/data/nextcloud:/var/www/html From b83274c985bdfac6d520199d8f92d5aaa97d8960 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 22 Sep 2023 03:28:37 +0000 Subject: [PATCH 033/263] chore(deps): update altran1502/immich-machine-learning docker tag to v1.79.1 (#1261) --- apps/immich/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/immich/docker-compose.yml b/apps/immich/docker-compose.yml index a3ff2c1a..6f3c53ee 100644 --- a/apps/immich/docker-compose.yml +++ b/apps/immich/docker-compose.yml @@ -93,7 +93,7 @@ services: immich-machine-learning: container_name: immich-machine-learning - image: altran1502/immich-machine-learning:v1.79.0 + image: altran1502/immich-machine-learning:v1.79.1 volumes: - ${ROOT_FOLDER_HOST}/media/data/images/immich:/usr/src/app/upload - ${APP_DATA_DIR}/data/immich-ml-cache:/cache From a15a9f1aa73150c3713adecc6509b062c8c9172e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 22 Sep 2023 03:29:10 +0000 Subject: [PATCH 034/263] chore(deps): update altran1502/immich-proxy docker tag to v1.79.1 (#1262) --- apps/immich/config.json | 4 ++-- apps/immich/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/immich/config.json b/apps/immich/config.json index 48e1d120..ef49a9eb 100644 --- a/apps/immich/config.json +++ b/apps/immich/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 8128, "id": "immich", - "tipi_version": 44, - "version": "1.79.0", + "tipi_version": 45, + "version": "1.79.1", "categories": [ "data", "photography" diff --git a/apps/immich/docker-compose.yml b/apps/immich/docker-compose.yml index 6f3c53ee..fbc6970d 100644 --- a/apps/immich/docker-compose.yml +++ b/apps/immich/docker-compose.yml @@ -3,7 +3,7 @@ version: "3.7" services: immich: container_name: immich - image: altran1502/immich-proxy:v1.79.0 + image: altran1502/immich-proxy:v1.79.1 ports: - ${APP_PORT}:8080 depends_on: From d063a05c2772aa19806b2a93c8f43ac5f644b0d2 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 22 Sep 2023 06:22:07 +0000 Subject: [PATCH 035/263] chore(deps): update altran1502/immich-web docker tag to v1.79.1 (#1264) --- apps/immich/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/immich/docker-compose.yml b/apps/immich/docker-compose.yml index fbc6970d..1752abda 100644 --- a/apps/immich/docker-compose.yml +++ b/apps/immich/docker-compose.yml @@ -114,7 +114,7 @@ services: immich-web: container_name: immich-web - image: altran1502/immich-web:v1.78.1 + image: altran1502/immich-web:v1.79.1 restart: unless-stopped networks: - tipi_main_network From 74b4f22664c3678a2aee9f0a51612be671793e1a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 22 Sep 2023 06:22:12 +0000 Subject: [PATCH 036/263] chore(deps): update altran1502/immich-server docker tag to v1.79.1 (#1263) --- apps/immich/docker-compose.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/immich/docker-compose.yml b/apps/immich/docker-compose.yml index 1752abda..5e9726ea 100644 --- a/apps/immich/docker-compose.yml +++ b/apps/immich/docker-compose.yml @@ -43,7 +43,7 @@ services: immich-server: container_name: immich-server - image: altran1502/immich-server:v1.79.0 + image: altran1502/immich-server:v1.79.1 command: ["start-server.sh"] volumes: - ${ROOT_FOLDER_HOST}/media/data/images/immich:/usr/src/app/upload @@ -68,7 +68,7 @@ services: immich-microservices: container_name: immich-microservices - image: altran1502/immich-server:v1.79.0 + image: altran1502/immich-server:v1.79.1 command: ["start-microservices.sh"] volumes: - ${ROOT_FOLDER_HOST}/media/data/images/immich:/usr/src/app/upload From d832cab76f8d22c38e5de804902926155e0e5f02 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 22 Sep 2023 10:26:17 +0000 Subject: [PATCH 037/263] chore(deps): update ghcr.io/ignisda/ryot docker tag to v2.18.1 (#1265) --- apps/ryot/config.json | 4 ++-- apps/ryot/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/ryot/config.json b/apps/ryot/config.json index bc93c897..dc9efa85 100644 --- a/apps/ryot/config.json +++ b/apps/ryot/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "ryot", - "tipi_version": 4, - "version": "2.17.6", + "tipi_version": 5, + "version": "2.18.1", "categories": [ "media" ], diff --git a/apps/ryot/docker-compose.yml b/apps/ryot/docker-compose.yml index 165c4fad..b3c3146a 100644 --- a/apps/ryot/docker-compose.yml +++ b/apps/ryot/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: ryot: - image: ghcr.io/ignisda/ryot:v2.17.6 + image: ghcr.io/ignisda/ryot:v2.18.1 container_name: ryot environment: - DATABASE_URL=postgres://tipi:${RYOT_DB_PASSWORD}@ryot-db:5432/ryot From 69054c4b3b6ea93f33ed879c9b034e66669cd830 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 22 Sep 2023 10:26:27 +0000 Subject: [PATCH 038/263] chore(deps): update ghost docker tag to v5.64.0 (#1266) --- apps/ghost/config.json | 4 ++-- apps/ghost/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/ghost/config.json b/apps/ghost/config.json index 107af9d7..d2eb82df 100644 --- a/apps/ghost/config.json +++ b/apps/ghost/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "ghost", - "tipi_version": 46, - "version": "5.63.0", + "tipi_version": 47, + "version": "5.64.0", "categories": [ "social", "media" diff --git a/apps/ghost/docker-compose.yml b/apps/ghost/docker-compose.yml index 43d821e9..387a9467 100644 --- a/apps/ghost/docker-compose.yml +++ b/apps/ghost/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.9" services: ghost: - image: ghost:5.63.0 + image: ghost:5.64.0 container_name: ghost depends_on: - ghostdb From fa4ff09fe1e3dc41abe5f39317be3a5578e0d8c8 Mon Sep 17 00:00:00 2001 From: npty Date: Fri, 22 Sep 2023 19:04:14 +0700 Subject: [PATCH 039/263] chore: add ntfy in the root readme --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index db5527d9..f1a68190 100644 --- a/README.md +++ b/README.md @@ -96,6 +96,7 @@ This is the official repository for the Tipi App Store. It contains all the apps - [Nitter](https://github.com/zedeus/nitter) - Alternative Twitter front-end - [NocoDB](https://github.com/nocodb/nocodb) - Open Source Airtable Alternative - [Node-RED](https://github.com/node-red/node-red) - Low-code programming for event-driven applications +- [Ntfy](https://github.com/binwiederhier/ntfy) - A Straightforward Notification service that operates over HTTP - [Obsidian LiveSync](https://github.com/vrtmrz/self-hosted-livesync-server) - LiveSync couchdb backend for Obsidian - [OneDev](https://code.onedev.io/onedev/server) - Self-hosted Git Server with Kanban and CI/CD - [Openbooks](https://github.com/evan-buss/openbooks) - Search and Download eBooks From 8ac6881a15b6b864d0aa714a71b6ce7beb53cc53 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 22 Sep 2023 12:52:32 +0000 Subject: [PATCH 040/263] chore(deps): update lscr.io/linuxserver/mastodon docker tag to v4.2.0 (#1267) --- apps/mastodon/config.json | 4 ++-- apps/mastodon/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/mastodon/config.json b/apps/mastodon/config.json index 60c1a299..f0c9d3f5 100644 --- a/apps/mastodon/config.json +++ b/apps/mastodon/config.json @@ -7,8 +7,8 @@ "force_expose": true, "generate_vapid_keys": true, "id": "mastodon", - "tipi_version": 9, - "version": "4.1.9", + "tipi_version": 10, + "version": "4.2.0", "categories": [ "social" ], diff --git a/apps/mastodon/docker-compose.yml b/apps/mastodon/docker-compose.yml index b73ab73d..9e2f8430 100644 --- a/apps/mastodon/docker-compose.yml +++ b/apps/mastodon/docker-compose.yml @@ -3,7 +3,7 @@ version: "3" services: mastodon: container_name: mastodon - image: lscr.io/linuxserver/mastodon:4.1.9 + image: lscr.io/linuxserver/mastodon:4.2.0 ports: - 8209:80 - ${APP_PORT}:443 From 33a44cdb34c20cf49d5265cc21c4138070fc2af1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 22 Sep 2023 16:24:53 +0000 Subject: [PATCH 041/263] chore(deps): update tooljet/tooljet-server-ce docker tag to v2.17.5 (#1268) --- apps/tooljet/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/tooljet/docker-compose.yml b/apps/tooljet/docker-compose.yml index a863599d..5828c4da 100644 --- a/apps/tooljet/docker-compose.yml +++ b/apps/tooljet/docker-compose.yml @@ -44,7 +44,7 @@ services: tooljet-server: container_name: tooljet-server - image: tooljet/tooljet-server-ce:v2.17.4 + image: tooljet/tooljet-server-ce:v2.17.5 tty: true stdin_open: true restart: always From 7eb3188e095242e6e1dcaa832344a34dd9ced26d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 22 Sep 2023 18:33:44 +0000 Subject: [PATCH 042/263] chore(deps): update halohub/halo docker tag to v2.9.2 (#1269) --- apps/halo/config.json | 4 ++-- apps/halo/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/halo/config.json b/apps/halo/config.json index b4005d63..eea11c08 100644 --- a/apps/halo/config.json +++ b/apps/halo/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 8092, "id": "halo", - "tipi_version": 8, - "version": "2.9.1", + "tipi_version": 9, + "version": "2.9.2", "description": "Halo is a powerful and easy-to-use open source website building tool.", "short_desc": "Halo - Open source website building tool.", "categories": [ diff --git a/apps/halo/docker-compose.yml b/apps/halo/docker-compose.yml index 48771e16..5df027e4 100644 --- a/apps/halo/docker-compose.yml +++ b/apps/halo/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: halo: - image: halohub/halo:2.9.1 + image: halohub/halo:2.9.2 container_name: halo restart: unless-stopped depends_on: From 5286069be9c9ef9d2ebf8931745c068ae5f63d94 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 22 Sep 2023 21:34:19 +0000 Subject: [PATCH 043/263] chore(deps): update ghcr.io/autobrr/autobrr docker tag to v1.30.0 (#1270) --- apps/autobrr/config.json | 4 ++-- apps/autobrr/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/autobrr/config.json b/apps/autobrr/config.json index 10693570..05b979ad 100644 --- a/apps/autobrr/config.json +++ b/apps/autobrr/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "autobrr", - "tipi_version": 9, - "version": "1.29.0", + "tipi_version": 10, + "version": "1.30.0", "categories": [ "media" ], diff --git a/apps/autobrr/docker-compose.yml b/apps/autobrr/docker-compose.yml index 854585b7..d39e5e8f 100644 --- a/apps/autobrr/docker-compose.yml +++ b/apps/autobrr/docker-compose.yml @@ -3,7 +3,7 @@ version: "3" services: autobrr: container_name: autobrr - image: ghcr.io/autobrr/autobrr:v1.29.0 + image: ghcr.io/autobrr/autobrr:v1.30.0 restart: unless-stopped ports: - ${APP_PORT}:7474 From d76b218da70e6ea78112b146fd0329085b50ab2b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 23 Sep 2023 02:11:31 +0000 Subject: [PATCH 044/263] chore(deps): update ghcr.io/ignisda/ryot docker tag to v2.18.3 (#1271) --- apps/ryot/config.json | 4 ++-- apps/ryot/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/ryot/config.json b/apps/ryot/config.json index dc9efa85..f7b14286 100644 --- a/apps/ryot/config.json +++ b/apps/ryot/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "ryot", - "tipi_version": 5, - "version": "2.18.1", + "tipi_version": 6, + "version": "2.18.3", "categories": [ "media" ], diff --git a/apps/ryot/docker-compose.yml b/apps/ryot/docker-compose.yml index b3c3146a..8dc58b70 100644 --- a/apps/ryot/docker-compose.yml +++ b/apps/ryot/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: ryot: - image: ghcr.io/ignisda/ryot:v2.18.1 + image: ghcr.io/ignisda/ryot:v2.18.3 container_name: ryot environment: - DATABASE_URL=postgres://tipi:${RYOT_DB_PASSWORD}@ryot-db:5432/ryot From ccbd1fd0e71f16eb46ff8c53cd13b72a9746da24 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 23 Sep 2023 02:11:35 +0000 Subject: [PATCH 045/263] chore(deps): update ghost docker tag to v5.65.0 (#1272) --- apps/ghost/config.json | 4 ++-- apps/ghost/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/ghost/config.json b/apps/ghost/config.json index d2eb82df..ca39cc3b 100644 --- a/apps/ghost/config.json +++ b/apps/ghost/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "ghost", - "tipi_version": 47, - "version": "5.64.0", + "tipi_version": 48, + "version": "5.65.0", "categories": [ "social", "media" diff --git a/apps/ghost/docker-compose.yml b/apps/ghost/docker-compose.yml index 387a9467..1619ca16 100644 --- a/apps/ghost/docker-compose.yml +++ b/apps/ghost/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.9" services: ghost: - image: ghost:5.64.0 + image: ghost:5.65.0 container_name: ghost depends_on: - ghostdb From 186fb74d40f701c098c677eb9f9345409ba6c921 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 23 Sep 2023 04:57:06 +0000 Subject: [PATCH 046/263] chore(deps): update lscr.io/linuxserver/code-server docker tag to v4.17.0 (#1273) --- apps/code-server/config.json | 4 ++-- apps/code-server/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/code-server/config.json b/apps/code-server/config.json index 78234539..81fb41c1 100644 --- a/apps/code-server/config.json +++ b/apps/code-server/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 8138, "id": "code-server", - "tipi_version": 14, - "version": "4.16.1", + "tipi_version": 15, + "version": "4.17.0", "categories": [ "development" ], diff --git a/apps/code-server/docker-compose.yml b/apps/code-server/docker-compose.yml index 8354de24..2c56189b 100644 --- a/apps/code-server/docker-compose.yml +++ b/apps/code-server/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.7" services: code-server: - image: lscr.io/linuxserver/code-server:4.16.1 + image: lscr.io/linuxserver/code-server:4.17.0 container_name: code-server environment: - PUID=1000 From d9ff05971c850c26d0459dea91b25281aeaab924 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 23 Sep 2023 06:21:29 +0000 Subject: [PATCH 047/263] chore(deps): update ghcr.io/ignisda/ryot docker tag to v2.18.4 (#1274) --- apps/ryot/config.json | 4 ++-- apps/ryot/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/ryot/config.json b/apps/ryot/config.json index f7b14286..9e81cf23 100644 --- a/apps/ryot/config.json +++ b/apps/ryot/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "ryot", - "tipi_version": 6, - "version": "2.18.3", + "tipi_version": 7, + "version": "2.18.4", "categories": [ "media" ], diff --git a/apps/ryot/docker-compose.yml b/apps/ryot/docker-compose.yml index 8dc58b70..49a558fd 100644 --- a/apps/ryot/docker-compose.yml +++ b/apps/ryot/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: ryot: - image: ghcr.io/ignisda/ryot:v2.18.3 + image: ghcr.io/ignisda/ryot:v2.18.4 container_name: ryot environment: - DATABASE_URL=postgres://tipi:${RYOT_DB_PASSWORD}@ryot-db:5432/ryot From cdc05b19421b83037a400c338c8095f3316bd5f3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 23 Sep 2023 16:31:17 +0000 Subject: [PATCH 048/263] chore(deps): update 1dev/server docker tag to v9.1.14 (#1275) --- apps/onedev/config.json | 4 ++-- apps/onedev/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/onedev/config.json b/apps/onedev/config.json index ca826564..2df6326b 100644 --- a/apps/onedev/config.json +++ b/apps/onedev/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "onedev", - "tipi_version": 50, - "version": "9.1.13", + "tipi_version": 51, + "version": "9.1.14", "categories": [ "development" ], diff --git a/apps/onedev/docker-compose.yml b/apps/onedev/docker-compose.yml index 6763809b..84002e06 100644 --- a/apps/onedev/docker-compose.yml +++ b/apps/onedev/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: onedev: - image: 1dev/server:9.1.13 + image: 1dev/server:9.1.14 container_name: onedev environment: - hibernate_dialect=io.onedev.server.persistence.PostgreSQLDialect From 805ee126c17a005e4e64a4c2470b831f4e9916ce Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 23 Sep 2023 16:31:32 +0000 Subject: [PATCH 049/263] chore(deps): update neosmemo/memos docker tag to v0.15.2 (#1276) --- apps/memos/config.json | 4 ++-- apps/memos/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/memos/config.json b/apps/memos/config.json index 829e1d6f..0d2626d2 100644 --- a/apps/memos/config.json +++ b/apps/memos/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 5230, "id": "memos", - "tipi_version": 15, - "version": "0.15.1", + "tipi_version": 16, + "version": "0.15.2", "categories": [ "utilities" ], diff --git a/apps/memos/docker-compose.yml b/apps/memos/docker-compose.yml index d3771002..30a56787 100644 --- a/apps/memos/docker-compose.yml +++ b/apps/memos/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.7" services: memos: - image: neosmemo/memos:0.15.1 + image: neosmemo/memos:0.15.2 container_name: memos volumes: - ${APP_DATA_DIR}/memos:/var/opt/memos From 928e3fc4533657312ac7cdd32a4c2550e296e134 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 24 Sep 2023 21:55:21 +0000 Subject: [PATCH 050/263] chore(deps): update ghcr.io/frooodle/s-pdf docker tag to v0.14.3 (#1278) --- apps/stirling-pdf/config.json | 4 ++-- apps/stirling-pdf/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/stirling-pdf/config.json b/apps/stirling-pdf/config.json index 8ab94d30..f0098c51 100644 --- a/apps/stirling-pdf/config.json +++ b/apps/stirling-pdf/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "stirling-pdf", - "tipi_version": 4, - "version": "0.14.2", + "tipi_version": 5, + "version": "0.14.3", "categories": [ "data", "utilities" diff --git a/apps/stirling-pdf/docker-compose.yml b/apps/stirling-pdf/docker-compose.yml index a3dab4e6..f7b03cd4 100644 --- a/apps/stirling-pdf/docker-compose.yml +++ b/apps/stirling-pdf/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.7" services: stirling-pdf: - image: ghcr.io/frooodle/s-pdf:0.14.2 + image: ghcr.io/frooodle/s-pdf:0.14.3 restart: unless-stopped container_name: stirling-pdf privileged: true From a371a2c27e0a6e4d1b4b2ab1ee65f236f87c5f0d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 25 Sep 2023 01:57:01 +0000 Subject: [PATCH 051/263] chore(deps): update lscr.io/linuxserver/pairdrop docker tag to v1.8.2 (#1279) --- apps/pairdrop/config.json | 4 ++-- apps/pairdrop/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/pairdrop/config.json b/apps/pairdrop/config.json index e846dfb8..4e6bd6f1 100644 --- a/apps/pairdrop/config.json +++ b/apps/pairdrop/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "pairdrop", - "tipi_version": 12, - "version": "1.8.1", + "tipi_version": 13, + "version": "1.8.2", "categories": [ "media", "data", diff --git a/apps/pairdrop/docker-compose.yml b/apps/pairdrop/docker-compose.yml index 75f46aee..1bf84b3d 100644 --- a/apps/pairdrop/docker-compose.yml +++ b/apps/pairdrop/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: pairdrop: - image: lscr.io/linuxserver/pairdrop:1.8.1 + image: lscr.io/linuxserver/pairdrop:1.8.2 container_name: pairdrop environment: - PUID=1000 From 7db2851ac3341954100a693ddca150830763995f Mon Sep 17 00:00:00 2001 From: DrMxrcy <58747968+DrMxrcy@users.noreply.github.com> Date: Mon, 25 Sep 2023 12:39:50 -0400 Subject: [PATCH 052/263] Add Jellyfin Vue (#1243) * Add Jellyfin Vue * Update Read me --- README.md | 1 + apps/jellyfin-vue/config.json | 17 ++++++++++ apps/jellyfin-vue/docker-compose.yml | 36 ++++++++++++++++++++++ apps/jellyfin-vue/metadata/description.md | 15 +++++++++ apps/jellyfin-vue/metadata/logo.jpg | Bin 0 -> 88628 bytes 5 files changed, 69 insertions(+) create mode 100644 apps/jellyfin-vue/config.json create mode 100644 apps/jellyfin-vue/docker-compose.yml create mode 100644 apps/jellyfin-vue/metadata/description.md create mode 100644 apps/jellyfin-vue/metadata/logo.jpg diff --git a/README.md b/README.md index db5527d9..a7b0415f 100644 --- a/README.md +++ b/README.md @@ -61,6 +61,7 @@ This is the official repository for the Tipi App Store. It contains all the apps - [Invidious](https://github.com/iv-org/invidious) - An alternative front-end to YouTube - [Jackett](https://github.com/Jackett/Jackett) - API Support for your favorite torrent trackers - [Jellyfin](https://github.com/jellyfin/jellyfin) - A media server for your home collection +- [Jellyfin Vue (Beta)](https://github.com/jellyfin/jellyfin-vue) - A modern web client for Jellyfin based on Vue - [Jellyseerr](https://github.com/Fallenbagel/jellyseerr) - Fork of overseerr for Jellyfin support - [Joplin](https://github.com/laurent22/joplin) - Privacy focused note-taking app - [Kanboard](https://github.com/kanboard/kanboard) - Kanboard is a free and open source Kanban project management software. diff --git a/apps/jellyfin-vue/config.json b/apps/jellyfin-vue/config.json new file mode 100644 index 00000000..e4e655d7 --- /dev/null +++ b/apps/jellyfin-vue/config.json @@ -0,0 +1,17 @@ +{ + "$schema": "../schema.json", + "name": "Jellyfin Vue (Beta)", + "port": 8202, + "available": true, + "exposable": true, + "id": "jellyfin-vue", + "tipi_version": 1, + "version": "unstable.2023-09-18.fe0f640", + "categories": ["media"], + "description": "A modern web client for Jellyfin based on Vue", + "short_desc": "A modern web client for Jellyfin based on Vue", + "author": "Jellyfin", + "source": "https://github.com/jellyfin/jellyfin-vue", + "form_fields": [ + ] +} \ No newline at end of file diff --git a/apps/jellyfin-vue/docker-compose.yml b/apps/jellyfin-vue/docker-compose.yml new file mode 100644 index 00000000..23ff1b0b --- /dev/null +++ b/apps/jellyfin-vue/docker-compose.yml @@ -0,0 +1,36 @@ +version: "3" + +services: + jellyfin-vue: + container_name: jellyfin-vue + image: ghcr.io/jellyfin/jellyfin-vue:unstable.2023-09-18.fe0f640 + ports: + - ${APP_PORT}:80 + restart: unless-stopped + networks: + - tipi_main_network + labels: + # Main + traefik.enable: true + traefik.http.middlewares.jellyfin-vue-web-redirect.redirectscheme.scheme: https + traefik.http.services.jellyfin-vue.loadbalancer.server.port: 80 + # Web + traefik.http.routers.jellyfin-vue-insecure.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.jellyfin-vue-insecure.entrypoints: web + traefik.http.routers.jellyfin-vue-insecure.service: jellyfin-vue + traefik.http.routers.jellyfin-vue-insecure.middlewares: jellyfin-vue-web-redirect + # Websecure + traefik.http.routers.jellyfin-vue.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.jellyfin-vue.entrypoints: websecure + traefik.http.routers.jellyfin-vue.service: jellyfin-vue + traefik.http.routers.jellyfin-vue.tls.certresolver: myresolver + # Local domain + traefik.http.routers.jellyfin-vue-local-insecure.rule: Host(`jellyfin-vue.${LOCAL_DOMAIN}`) + traefik.http.routers.jellyfin-vue-local-insecure.entrypoints: web + traefik.http.routers.jellyfin-vue-local-insecure.service: jellyfin-vue + traefik.http.routers.jellyfin-vue-local-insecure.middlewares: jellyfin-vue-web-redirect + # Local domain secure + traefik.http.routers.jellyfin-vue-local.rule: Host(`jellyfin-vue.${LOCAL_DOMAIN}`) + traefik.http.routers.jellyfin-vue-local.entrypoints: websecure + traefik.http.routers.jellyfin-vue-local.service: jellyfin-vue + traefik.http.routers.jellyfin-vue-local.tls: true diff --git a/apps/jellyfin-vue/metadata/description.md b/apps/jellyfin-vue/metadata/description.md new file mode 100644 index 00000000..e88e6cb1 --- /dev/null +++ b/apps/jellyfin-vue/metadata/description.md @@ -0,0 +1,15 @@ +# Important Info + +- This is a beta build of the new Jellyfin Vue UI. You still need an exisiting Jellyfin server. T +- This will have bugs and Issues, as its a Beta, Unstable Build. + + +# Jellyfin Vue + +### Part of the [Jellyfin Project](https://jellyfin.org) + +___ + +[![Logo Banner](https://raw.githubusercontent.com/jellyfin/jellyfin-ux/master/branding/SVG/banner-logo-solid.svg?sanitize=true)](https://raw.githubusercontent.com/jellyfin/jellyfin-ux/master/branding/SVG/banner-logo-solid.svg?sanitize=true) + +This is an alternative client for Jellyfin based on Vue.js. It might not be feature complete and it's constantly evolving. \ No newline at end of file diff --git a/apps/jellyfin-vue/metadata/logo.jpg b/apps/jellyfin-vue/metadata/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7459ec7a4ed3c371dcc417fbae8a0f08de4968a1 GIT binary patch literal 88628 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%0D0q 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 EPp<{avH$=8 literal 0 HcmV?d00001 From bbbf3c0e5dc332338157370a44be27976de35780 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 25 Sep 2023 16:42:03 +0000 Subject: [PATCH 053/263] chore(deps): update ghcr.io/ignisda/ryot docker tag to v2.18.5 (#1282) --- apps/ryot/config.json | 4 ++-- apps/ryot/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/ryot/config.json b/apps/ryot/config.json index 9e81cf23..8f468dc4 100644 --- a/apps/ryot/config.json +++ b/apps/ryot/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "ryot", - "tipi_version": 7, - "version": "2.18.4", + "tipi_version": 8, + "version": "2.18.5", "categories": [ "media" ], diff --git a/apps/ryot/docker-compose.yml b/apps/ryot/docker-compose.yml index 49a558fd..9b04fbb4 100644 --- a/apps/ryot/docker-compose.yml +++ b/apps/ryot/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: ryot: - image: ghcr.io/ignisda/ryot:v2.18.4 + image: ghcr.io/ignisda/ryot:v2.18.5 container_name: ryot environment: - DATABASE_URL=postgres://tipi:${RYOT_DB_PASSWORD}@ryot-db:5432/ryot From 7e99e191d4ffd48c8cacad3d0232b81995f38726 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 25 Sep 2023 16:42:08 +0000 Subject: [PATCH 054/263] chore(deps): update 1dev/server docker tag to v9.1.15 (#1281) --- apps/onedev/config.json | 4 ++-- apps/onedev/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/onedev/config.json b/apps/onedev/config.json index 2df6326b..7aef2056 100644 --- a/apps/onedev/config.json +++ b/apps/onedev/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "onedev", - "tipi_version": 51, - "version": "9.1.14", + "tipi_version": 52, + "version": "9.1.15", "categories": [ "development" ], diff --git a/apps/onedev/docker-compose.yml b/apps/onedev/docker-compose.yml index 84002e06..d878b3d9 100644 --- a/apps/onedev/docker-compose.yml +++ b/apps/onedev/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: onedev: - image: 1dev/server:9.1.14 + image: 1dev/server:9.1.15 container_name: onedev environment: - hibernate_dialect=io.onedev.server.persistence.PostgreSQLDialect From d065dd193f1e2317f4248b718f17240b435396ab Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 25 Sep 2023 20:00:25 +0000 Subject: [PATCH 055/263] chore(deps): update ghcr.io/ignisda/ryot docker tag to v2.18.6 (#1284) --- apps/ryot/config.json | 4 ++-- apps/ryot/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/ryot/config.json b/apps/ryot/config.json index 8f468dc4..3550f95f 100644 --- a/apps/ryot/config.json +++ b/apps/ryot/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "ryot", - "tipi_version": 8, - "version": "2.18.5", + "tipi_version": 9, + "version": "2.18.6", "categories": [ "media" ], diff --git a/apps/ryot/docker-compose.yml b/apps/ryot/docker-compose.yml index 9b04fbb4..11abbbde 100644 --- a/apps/ryot/docker-compose.yml +++ b/apps/ryot/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: ryot: - image: ghcr.io/ignisda/ryot:v2.18.5 + image: ghcr.io/ignisda/ryot:v2.18.6 container_name: ryot environment: - DATABASE_URL=postgres://tipi:${RYOT_DB_PASSWORD}@ryot-db:5432/ryot From 475af79341f9a5bd12b7da5babb9c85839bdda2c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 25 Sep 2023 23:07:10 +0000 Subject: [PATCH 056/263] chore(deps): update tailscale/tailscale docker tag to v1.50.0 (#1285) --- apps/tailscale/config.json | 4 ++-- apps/tailscale/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/tailscale/config.json b/apps/tailscale/config.json index d8729dba..aebf3d8a 100644 --- a/apps/tailscale/config.json +++ b/apps/tailscale/config.json @@ -4,8 +4,8 @@ "available": true, "port": 8093, "id": "tailscale", - "tipi_version": 13, - "version": "1.48.2", + "tipi_version": 14, + "version": "1.50.0", "categories": [ "network", "security" diff --git a/apps/tailscale/docker-compose.yml b/apps/tailscale/docker-compose.yml index e72803f4..e2147be8 100644 --- a/apps/tailscale/docker-compose.yml +++ b/apps/tailscale/docker-compose.yml @@ -4,7 +4,7 @@ services: tailscale: container_name: tailscale network_mode: "host" # TODO: Find a way to remove this - image: tailscale/tailscale:v1.48.2 + image: tailscale/tailscale:v1.50.0 privileged: true restart: on-failure stop_grace_period: 1m From 9077bae3e3bd4d324e69c0b9fe8883424d823e0a Mon Sep 17 00:00:00 2001 From: npty Date: Tue, 26 Sep 2023 09:07:04 +0700 Subject: [PATCH 057/263] chore: use image tag version --- apps/ntfy/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/ntfy/docker-compose.yml b/apps/ntfy/docker-compose.yml index 4f78ae7d..3013bd07 100644 --- a/apps/ntfy/docker-compose.yml +++ b/apps/ntfy/docker-compose.yml @@ -3,7 +3,7 @@ version: '3.7' services: ntfy: container_name: ntfy - image: binwiederhier/ntfy + image: binwiederhier/ntfy:v2.7.0 environment: - NTFY_BASE_URL=${APP_PROTOCOL}://${APP_DOMAIN} - NTFY_UPSTREAM_BASE_URL=https://ntfy.sh From 68fc27ccba488821228ac99df7aeea68d5f995b1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 26 Sep 2023 03:49:12 +0000 Subject: [PATCH 058/263] chore(deps): update ghcr.io/ignisda/ryot docker tag to v2.18.7 (#1286) --- apps/ryot/config.json | 4 ++-- apps/ryot/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/ryot/config.json b/apps/ryot/config.json index 3550f95f..d711ea02 100644 --- a/apps/ryot/config.json +++ b/apps/ryot/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "ryot", - "tipi_version": 9, - "version": "2.18.6", + "tipi_version": 10, + "version": "2.18.7", "categories": [ "media" ], diff --git a/apps/ryot/docker-compose.yml b/apps/ryot/docker-compose.yml index 11abbbde..db5d6660 100644 --- a/apps/ryot/docker-compose.yml +++ b/apps/ryot/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: ryot: - image: ghcr.io/ignisda/ryot:v2.18.6 + image: ghcr.io/ignisda/ryot:v2.18.7 container_name: ryot environment: - DATABASE_URL=postgres://tipi:${RYOT_DB_PASSWORD}@ryot-db:5432/ryot From 64e02d4bc782847c21f29e130a0a0174c8f97e4d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 26 Sep 2023 07:19:31 +0000 Subject: [PATCH 059/263] chore(deps): update ghcr.io/ignisda/ryot docker tag to v2.18.8 (#1287) --- apps/ryot/config.json | 4 ++-- apps/ryot/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/ryot/config.json b/apps/ryot/config.json index d711ea02..22afbfda 100644 --- a/apps/ryot/config.json +++ b/apps/ryot/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "ryot", - "tipi_version": 10, - "version": "2.18.7", + "tipi_version": 11, + "version": "2.18.8", "categories": [ "media" ], diff --git a/apps/ryot/docker-compose.yml b/apps/ryot/docker-compose.yml index db5d6660..c39ec47c 100644 --- a/apps/ryot/docker-compose.yml +++ b/apps/ryot/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: ryot: - image: ghcr.io/ignisda/ryot:v2.18.7 + image: ghcr.io/ignisda/ryot:v2.18.8 container_name: ryot environment: - DATABASE_URL=postgres://tipi:${RYOT_DB_PASSWORD}@ryot-db:5432/ryot From 7c8103c8d4e5c35cbde929b4acecaeadaf6b049e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 26 Sep 2023 10:59:45 +0000 Subject: [PATCH 060/263] chore(deps): update 2fauth/2fauth docker tag to v4.2.3 (#1288) --- apps/2fauth/config.json | 4 ++-- apps/2fauth/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/2fauth/config.json b/apps/2fauth/config.json index ce941f72..410c3785 100644 --- a/apps/2fauth/config.json +++ b/apps/2fauth/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "2fauth", - "tipi_version": 5, - "version": "4.2.2", + "tipi_version": 6, + "version": "4.2.3", "categories": [ "security" ], diff --git a/apps/2fauth/docker-compose.yml b/apps/2fauth/docker-compose.yml index 19dcb2ff..6bc0af10 100644 --- a/apps/2fauth/docker-compose.yml +++ b/apps/2fauth/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.7" services: 2fauth: - image: 2fauth/2fauth:4.2.2 + image: 2fauth/2fauth:4.2.3 container_name: 2fauth volumes: - ${APP_DATA_DIR}/data:/2fauth From a37cca8cda29dbfa131b0b4eabe2fc6a37aa1087 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 26 Sep 2023 12:45:23 +0000 Subject: [PATCH 061/263] chore(deps): update lscr.io/linuxserver/bazarr docker tag to v1.3.0 (#1289) --- apps/bazarr/config.json | 4 ++-- apps/bazarr/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/bazarr/config.json b/apps/bazarr/config.json index 55b914c6..f4173688 100644 --- a/apps/bazarr/config.json +++ b/apps/bazarr/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 6767, "id": "bazarr", - "tipi_version": 9, - "version": "1.2.4", + "tipi_version": 10, + "version": "1.3.0", "categories": [ "media", "utilities" diff --git a/apps/bazarr/docker-compose.yml b/apps/bazarr/docker-compose.yml index 77b377a7..25721bf2 100644 --- a/apps/bazarr/docker-compose.yml +++ b/apps/bazarr/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.7" services: bazarr: - image: lscr.io/linuxserver/bazarr:1.2.4 + image: lscr.io/linuxserver/bazarr:1.3.0 container_name: bazarr environment: - PUID=1000 From 0e83556cdc76071e2a091258df4b96d1d8608bc2 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 26 Sep 2023 17:07:29 +0000 Subject: [PATCH 062/263] chore(deps): update lscr.io/linuxserver/sabnzbd docker tag to v4.1.0 (#1291) --- apps/sabnzbd/config.json | 4 ++-- apps/sabnzbd/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/sabnzbd/config.json b/apps/sabnzbd/config.json index fea927e8..01303637 100644 --- a/apps/sabnzbd/config.json +++ b/apps/sabnzbd/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "sabnzbd", - "tipi_version": 7, - "version": "4.0.3", + "tipi_version": 8, + "version": "4.1.0", "categories": [ "media", "utilities" diff --git a/apps/sabnzbd/docker-compose.yml b/apps/sabnzbd/docker-compose.yml index e5f761be..f2b51981 100644 --- a/apps/sabnzbd/docker-compose.yml +++ b/apps/sabnzbd/docker-compose.yml @@ -2,7 +2,7 @@ version: '3' services: sabnzbd: - image: lscr.io/linuxserver/sabnzbd:4.0.3 + image: lscr.io/linuxserver/sabnzbd:4.1.0 container_name: sabnzbd ports: - ${APP_PORT}:8080 From 4f00c901d9cd41f1c9d488e4562f18e5fdf26bf6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 26 Sep 2023 17:07:36 +0000 Subject: [PATCH 063/263] chore(deps): update libretranslate/libretranslate docker tag to v1.3.12 (#1290) --- apps/libretranslate/config.json | 8 +++++--- apps/libretranslate/docker-compose.yml | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/apps/libretranslate/config.json b/apps/libretranslate/config.json index 4ba63962..5c59c310 100644 --- a/apps/libretranslate/config.json +++ b/apps/libretranslate/config.json @@ -5,9 +5,11 @@ "exposable": true, "port": 8121, "id": "libretranslate", - "tipi_version": 6, - "version": "1.3.11", - "categories": ["utilities"], + "tipi_version": 7, + "version": "1.3.12", + "categories": [ + "utilities" + ], "description": "Free and Open Source Machine Translation API, entirely self-hosted. Unlike other APIs, it doesn't rely on proprietary providers such as Google or Azure to perform translations. Instead, its translation engine is powered by the open source Argos Translate library.", "short_desc": "Free and Open Source Machine Translation API. 100% self-hosted, offline capable and easy to setup.", "author": "LibreTranslate", diff --git a/apps/libretranslate/docker-compose.yml b/apps/libretranslate/docker-compose.yml index c17fa3d3..7b381d90 100644 --- a/apps/libretranslate/docker-compose.yml +++ b/apps/libretranslate/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: libretranslate: container_name: libretranslate - image: libretranslate/libretranslate:v1.3.11 + image: libretranslate/libretranslate:v1.3.12 dns: - ${DNS_IP} ports: From f0f1ba81054c1fd28237bc49922e82d84aa5644a Mon Sep 17 00:00:00 2001 From: DrMxrcy <58747968+DrMxrcy@users.noreply.github.com> Date: Wed, 27 Sep 2023 01:53:48 -0400 Subject: [PATCH 064/263] Add Cloudflared (#1292) * Add Cloudflared * Update apps.test.ts * Update docker-compose.yml --- apps/__tests__/apps.test.ts | 1 + apps/cloudflared/config.json | 17 +++++++++++++ apps/cloudflared/docker-compose.yml | 10 ++++++++ apps/cloudflared/metadata/description.md | 31 +++++++++++++++++++++++ apps/cloudflared/metadata/logo.jpg | Bin 0 -> 30934 bytes 5 files changed, 59 insertions(+) create mode 100644 apps/cloudflared/config.json create mode 100644 apps/cloudflared/docker-compose.yml create mode 100644 apps/cloudflared/metadata/description.md create mode 100644 apps/cloudflared/metadata/logo.jpg diff --git a/apps/__tests__/apps.test.ts b/apps/__tests__/apps.test.ts index 98e154a7..9c68fa83 100644 --- a/apps/__tests__/apps.test.ts +++ b/apps/__tests__/apps.test.ts @@ -33,6 +33,7 @@ const networkExceptions = [ "gladys", "scrypted", "homebridge", + "cloudflared", ]; const getAppConfigs = (): AppConfig[] => { const apps: AppConfig[] = []; diff --git a/apps/cloudflared/config.json b/apps/cloudflared/config.json new file mode 100644 index 00000000..a3b0e264 --- /dev/null +++ b/apps/cloudflared/config.json @@ -0,0 +1,17 @@ +{ + "$schema": "../schema.json", + "name": "Cloudflared", + "port": 14333, + "available": true, + "exposable": false, + "id": "cloudflared", + "tipi_version": 1, + "version": "2023.8.2", + "categories": ["utilities"], + "description": "Cloudflared-web is a docker image that packages both cloudflared cli and a no-frills Web UI for easy starting/stopping of cloudflare tunnel.", + "short_desc": "Cloudflare Tunnels in a Web UI", + "author": "WisdomSky", + "source": "https://github.com/WisdomSky/Cloudflared-web", + "form_fields": [ + ] +} diff --git a/apps/cloudflared/docker-compose.yml b/apps/cloudflared/docker-compose.yml new file mode 100644 index 00000000..a539c8fd --- /dev/null +++ b/apps/cloudflared/docker-compose.yml @@ -0,0 +1,10 @@ +version: "3.9" + +services: + cloudflared: + image: wisdomsky/cloudflared-web:2023.8.2 + container_name: cloudflared + restart: unless-stopped + network_mode: host + volumes: + - ${APP_DATA_DIR}/data/cloudflared/config:/config \ No newline at end of file diff --git a/apps/cloudflared/metadata/description.md b/apps/cloudflared/metadata/description.md new file mode 100644 index 00000000..f44bc5e3 --- /dev/null +++ b/apps/cloudflared/metadata/description.md @@ -0,0 +1,31 @@ +_Cloudflared-web is a docker image that packages both cloudflared cli and a no-frills Web UI for easy starting/stopping of cloudflare tunnel._ + +___ + +## Why use `Cloudflared-web`? + +#### Pros + +✅ Only need to run a docker command once. No need to run docker commands everytime you want to start or stop the container or when updating the token. + +✅ Start and stop cloudflare tunnel anytime with a single click. + +#### Cons + +❌ Only supports Cloudflare Tunnel. + +❌ Can only update hostname policies through the [ZeroTrust](https://one.dash.cloudflare.com/) dashboard. + +___ + +The Web UI where you can setup the Cloudflared token can be accessed from port `14333`: + +``` +http://localhost:14333 +``` + +## [Screenshots](https://github.com/WisdomSky/Cloudflared-web#screenshots) + +[![Screenshot 1](https://raw.githubusercontent.com/WisdomSky/Cloudflared-web/main/screenshot-1.png)](https://raw.githubusercontent.com/WisdomSky/Cloudflared-web/main/screenshot-1.png) + +[![Screenshot 2](https://raw.githubusercontent.com/WisdomSky/Cloudflared-web/main/screenshot-2.png)](https://raw.githubusercontent.com/WisdomSky/Cloudflared-web/main/screenshot-2.png) diff --git a/apps/cloudflared/metadata/logo.jpg b/apps/cloudflared/metadata/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..585973c1a1a6b824bbcc4fd568b16bd4c0bb75df GIT binary patch literal 30934 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 Date: Wed, 27 Sep 2023 08:41:18 +0000 Subject: [PATCH 065/263] chore(deps): update ghcr.io/ignisda/ryot docker tag to v2.19.0 (#1294) --- apps/ryot/config.json | 4 ++-- apps/ryot/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/ryot/config.json b/apps/ryot/config.json index 22afbfda..c25a5cbd 100644 --- a/apps/ryot/config.json +++ b/apps/ryot/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "ryot", - "tipi_version": 11, - "version": "2.18.8", + "tipi_version": 12, + "version": "2.19.0", "categories": [ "media" ], diff --git a/apps/ryot/docker-compose.yml b/apps/ryot/docker-compose.yml index c39ec47c..59f8e7dd 100644 --- a/apps/ryot/docker-compose.yml +++ b/apps/ryot/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: ryot: - image: ghcr.io/ignisda/ryot:v2.18.8 + image: ghcr.io/ignisda/ryot:v2.19.0 container_name: ryot environment: - DATABASE_URL=postgres://tipi:${RYOT_DB_PASSWORD}@ryot-db:5432/ryot From 0fb6dde7a9abf017f0fc0807bd86710a070cfb5f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 27 Sep 2023 16:11:09 +0000 Subject: [PATCH 066/263] chore(deps): update ghcr.io/ignisda/ryot docker tag to v2.19.2 (#1295) --- apps/ryot/config.json | 4 ++-- apps/ryot/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/ryot/config.json b/apps/ryot/config.json index c25a5cbd..2eeb10a0 100644 --- a/apps/ryot/config.json +++ b/apps/ryot/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "ryot", - "tipi_version": 12, - "version": "2.19.0", + "tipi_version": 13, + "version": "2.19.2", "categories": [ "media" ], diff --git a/apps/ryot/docker-compose.yml b/apps/ryot/docker-compose.yml index 59f8e7dd..514b789e 100644 --- a/apps/ryot/docker-compose.yml +++ b/apps/ryot/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: ryot: - image: ghcr.io/ignisda/ryot:v2.19.0 + image: ghcr.io/ignisda/ryot:v2.19.2 container_name: ryot environment: - DATABASE_URL=postgres://tipi:${RYOT_DB_PASSWORD}@ryot-db:5432/ryot From a6eba4706d5c607dc0e4104db259fd34a5aa14fa Mon Sep 17 00:00:00 2001 From: Nicolas Meienberger Date: Wed, 27 Sep 2023 21:37:38 +0200 Subject: [PATCH 067/263] chore(ntfy): fix config and logo --- apps/ntfy/config.json | 7 +++---- apps/ntfy/docker-compose.yml | 6 +++--- apps/ntfy/metadata/logo.jpg | Bin 20202 -> 8939 bytes 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/apps/ntfy/config.json b/apps/ntfy/config.json index 747192c4..5d038ee8 100644 --- a/apps/ntfy/config.json +++ b/apps/ntfy/config.json @@ -7,12 +7,11 @@ "id": "ntfy", "tipi_version": 1, "version": "2.7.0", - "categories": [ - "utilities" - ], + "categories": ["utilities"], "description": "Send push notifications to any devices using a simple HTTP PUT or POST request.", "short_desc": "Ntfy, a simple server for sending and receiving notification messages.", "author": "https://github.com/binwiederhier", "source": "https://github.com/binwiederhier/ntfy", - "website": "https://ntfy.sh/" + "website": "https://ntfy.sh/", + "form_fields": [] } diff --git a/apps/ntfy/docker-compose.yml b/apps/ntfy/docker-compose.yml index 3013bd07..28345654 100644 --- a/apps/ntfy/docker-compose.yml +++ b/apps/ntfy/docker-compose.yml @@ -5,12 +5,12 @@ services: container_name: ntfy image: binwiederhier/ntfy:v2.7.0 environment: - - NTFY_BASE_URL=${APP_PROTOCOL}://${APP_DOMAIN} + - NTFY_BASE_URL=${APP_PROTOCOL:-http}://${APP_DOMAIN} - NTFY_UPSTREAM_BASE_URL=https://ntfy.sh command: serve volumes: - - "${APP_DATA_DIR}/data/cache:/var/cache/ntfy" - - "${APP_DATA_DIR}/data/config:/etc/ntfy" + - '${APP_DATA_DIR}/data/cache:/var/cache/ntfy' + - '${APP_DATA_DIR}/data/config:/etc/ntfy' ports: - ${APP_PORT}:80 networks: diff --git a/apps/ntfy/metadata/logo.jpg b/apps/ntfy/metadata/logo.jpg index f099f14aea4a12ddfe991038dadc0a86d2fbcb35..ea7b4917659f83cdb11bf0c2938bcaa484f35f24 100644 GIT binary patch literal 8939 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 literal 20202 zcmeHvcT|&G({B_76#)?qN>xx0X(CO!g@7I@qSBjyQl&}nDk6ah96&&7G*Li$Z=t9V zklv;D-mCO-_mf~d@A>Zf?ppWHH?EbF^_*R2&;HHKZ{}gQeYYQW>@S&HGO&I7_QUMK zKiKX7OdsKBVhDrD%fl|hV6a25gZqxdNWias;2&%s9qb_CHw^aIKKh@(@9w*>*9NrQ zPxGriXbXM7$WU+Me|NiJH((_Dp%3&;0zL;w4?v$oq@)K)4<9;mSjg`>FSlQ19C?bEbe2|n3 zYO`-YHOT?+oA278Q^(ILspvhi4SwC!OmhOx!Y{0>YMq(IepyIH-{x6J#!12JvUgb# z2G4`i&)vKKFz_Ab3mB7uFc~!E-h|MY2M&^vkRAg6SArUPPC{~sj126T&;~4k@4#85 zgQV0a;P(O>kJDThylef8<(l5R^v?tQK^fFV`!4r$ z{Qv&=uLS-p0p`+Vvk0L&llFq*l7ta~Y5xPdG<*@|aa5G(oP^l6c^h@^9%k|G>B3jE zOcosHHm5x8v9aajS>mRPojmZ=R8_gIp3C`;Up|K~q#H(*yt;R3qb5pKbE-_kKhOP(X5-MSDXtLsNLIV839CE(6? zTAwb4l*zSS7t0Nl?=EFCp{jPS9$r%uZ@0C^c444Ddwiin$0G;TiZ#*o@gLn$le{N>G#z>8 z_IuM22i0;X>gMX}=*6j@tK!;QRq6GOg8E(9C2WfXVlX*v-YKp-K||j7)zW#H zH?fA$l2KbhIfws=I%#v-6RIaJdt& zjy%=mrUcj|;oQQtYZqdqZHF4hwun4sX7-|G<6|%jVkRNo zea!t+_;=g7Mn#eVO3p=t(OFfqmI3qW&E7ZAi-aK|xe=#fbQDlb+*$=9f;MhO?ED$y zraJ~Y-C%F>c-}v9MRY<&($L$qknzKt`#n7`6_ZXB(;KBw@&IYS_wWx!0W_LXON7t`Yxfq9MG0T$@Hxhf<&7Tk?mQv@_ zO9^$QQu@_Z^xV$du|K9bKb4Ac@FesFr%LRLoJhqeP7*qkXZ{*62h|IA00TmbLTuQUOO;x>W_92d+mS-qH_rQ5S=tG8ZdI(+wNn6u%

R=uOa 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 Date: Wed, 27 Sep 2023 22:41:34 +0300 Subject: [PATCH 068/263] Add Notemark. (#1200) * Add notemark. * Fix error. * Fix nginx conf. * Update description.md --------- Co-authored-by: Nicolas Meienberger <47644445+meienberger@users.noreply.github.com> --- README.md | 1 + apps/notemark/config.json | 25 +++++++++++ apps/notemark/data/proxy/nginx.conf | 19 +++++++++ apps/notemark/docker-compose.yml | 58 ++++++++++++++++++++++++++ apps/notemark/metadata/description.md | 19 +++++++++ apps/notemark/metadata/logo.jpg | Bin 0 -> 17597 bytes 6 files changed, 122 insertions(+) create mode 100644 apps/notemark/config.json create mode 100644 apps/notemark/data/proxy/nginx.conf create mode 100644 apps/notemark/docker-compose.yml create mode 100644 apps/notemark/metadata/description.md create mode 100644 apps/notemark/metadata/logo.jpg diff --git a/README.md b/README.md index 2f42b025..931f4ddd 100644 --- a/README.md +++ b/README.md @@ -97,6 +97,7 @@ This is the official repository for the Tipi App Store. It contains all the apps - [Nitter](https://github.com/zedeus/nitter) - Alternative Twitter front-end - [NocoDB](https://github.com/nocodb/nocodb) - Open Source Airtable Alternative - [Node-RED](https://github.com/node-red/node-red) - Low-code programming for event-driven applications +- [NoteMark](https://github.com/enchant97/note-mark/) - Note Mark is a lighting fast and minimal web-based Markdown notes app. - [Ntfy](https://github.com/binwiederhier/ntfy) - A Straightforward Notification service that operates over HTTP - [Obsidian LiveSync](https://github.com/vrtmrz/self-hosted-livesync-server) - LiveSync couchdb backend for Obsidian - [OneDev](https://code.onedev.io/onedev/server) - Self-hosted Git Server with Kanban and CI/CD diff --git a/apps/notemark/config.json b/apps/notemark/config.json new file mode 100644 index 00000000..5155661e --- /dev/null +++ b/apps/notemark/config.json @@ -0,0 +1,25 @@ +{ + "$schema": "../schema.json", + "name": "Notemark", + "available": true, + "exposable": true, + "port": 8567, + "id": "notemark", + "tipi_version": 1, + "version": "0.7.0", + "categories": [ + "utilities" + ], + "description": "Note Mark is a lighting fast and minimal web-based Markdown notes app.", + "short_desc": "Lighting fast web-based Markdown notes app.", + "author": "enchant97", + "source": "https://github.com/enchant97/note-mark/", + "website": "https://notemark.docs.enchantedcode.co.uk/", + "form_fields": [ + { + "type": "random", + "label": "Notemark secret", + "env_variable": "NOTEMARK_SERVICE_SECRET" + } + ] +} diff --git a/apps/notemark/data/proxy/nginx.conf b/apps/notemark/data/proxy/nginx.conf new file mode 100644 index 00000000..f0a1a31a --- /dev/null +++ b/apps/notemark/data/proxy/nginx.conf @@ -0,0 +1,19 @@ +upstream notemark-backend { + server notemark-backend:8000; +} + +upstream notemark { + server notemark:8000; +} + +server { + listen 80; + + location / { + proxy_pass http://notemark; + } + + location /api { + proxy_pass http://notemark-backend/api; + } +} \ No newline at end of file diff --git a/apps/notemark/docker-compose.yml b/apps/notemark/docker-compose.yml new file mode 100644 index 00000000..bd9eae01 --- /dev/null +++ b/apps/notemark/docker-compose.yml @@ -0,0 +1,58 @@ +version: "3.7" +services: + notemark-proxy: + container_name: notemark-proxy + image: nginx:alpine + ports: + - ${APP_PORT}:80 + volumes: + - ${APP_DATA_DIR}/data/proxy/nginx.conf:/etc/nginx/conf.d/default.conf:ro + restart: unless-stopped + networks: + - tipi_main_network + labels: + # Main + traefik.enable: true + traefik.http.middlewares.notemark-web-redirect.redirectscheme.scheme: https + traefik.http.services.notemark.loadbalancer.server.port: 80 + # Web + traefik.http.routers.notemark-insecure.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.notemark-insecure.entrypoints: web + traefik.http.routers.notemark-insecure.service: notemark + traefik.http.routers.notemark-insecure.middlewares: notemark-web-redirect + # Websecure + traefik.http.routers.notemark.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.notemark.entrypoints: websecure + traefik.http.routers.notemark.service: notemark + traefik.http.routers.notemark.tls.certresolver: myresolver + # Local domain + traefik.http.routers.notemark-local-insecure.rule: Host(`notemark.${LOCAL_DOMAIN}`) + traefik.http.routers.notemark-local-insecure.entrypoints: web + traefik.http.routers.notemark-local-insecure.service: notemark + traefik.http.routers.notemark-local-insecure.middlewares: notemark-web-redirect + # Local domain secure + traefik.http.routers.notemark-local.rule: Host(`notemark.${LOCAL_DOMAIN}`) + traefik.http.routers.notemark-local.entrypoints: websecure + traefik.http.routers.notemark-local.service: notemark + traefik.http.routers.notemark-local.tls: true + + notemark-backend: + image: ghcr.io/enchant97/note-mark-backend:0.7.0 + container_name: notemark-backend + restart: unless-stopped + networks: + - tipi_main_network + volumes: + - ${APP_DATA_DIR}/data:/data + environment: + JWT_SECRET: "${NOTEMARK_SERVICE_SECRET}" + CORS_ORIGINS: "*" + + notemark: + image: ghcr.io/enchant97/note-mark-frontend:0.7.0 + container_name: notemark + restart: unless-stopped + networks: + - tipi_main_network + + diff --git a/apps/notemark/metadata/description.md b/apps/notemark/metadata/description.md new file mode 100644 index 00000000..018bc4b2 --- /dev/null +++ b/apps/notemark/metadata/description.md @@ -0,0 +1,19 @@ +# Note Mark + +Note Mark is a lighting fast and minimal; web-based Markdown notes app. Featuring a sleek and responsive web UI. + +## Features +- Markdown (GitHub Flavored Markdown, see spec [here](https://github.github.com/gfm/)) +- HTML sanitisation, minimizing XSS attacks +- Mobile Friendly +- Friendly "Slug" based URLs for cleaner links +- Dark & Light Theme +- Notebook Sharing +- Custom flat-file based storage system (easy to backup and synchronize) +- Multiple views for a note (rendered, plain) +- Editor with shortcuts + +## Docs +Documentation is available here: [notemark.docs.enchantedcode.co.uk](https://notemark.docs.enchantedcode.co.uk/). + +> Checkout [here](https://github.com/enchant97/note-mark/issues/47) for the roadmap. diff --git a/apps/notemark/metadata/logo.jpg b/apps/notemark/metadata/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..51ef97099345b5d6c3ac0a45711aae45687df570 GIT binary patch literal 17597 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 B9)17- literal 0 HcmV?d00001 From af963c80d7dd102df7dea728d906d3b0c790e244 Mon Sep 17 00:00:00 2001 From: Stavros Date: Wed, 27 Sep 2023 22:44:21 +0300 Subject: [PATCH 069/263] Add arm64 support to tubearchivist. (#1197) * Add arm64 support to tubearchivist. * Fix version error. * Update docker-compose.yml --- apps/tubearchivist/config.json | 4 ++-- apps/tubearchivist/docker-compose.yml | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/apps/tubearchivist/config.json b/apps/tubearchivist/config.json index 60fe6aca..0746e127 100644 --- a/apps/tubearchivist/config.json +++ b/apps/tubearchivist/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 8120, "id": "tubearchivist", - "tipi_version": 4, - "version": "latest", + "tipi_version": 5, + "version": "v0.4.1", "supported_architectures": [ "amd64", "arm64" diff --git a/apps/tubearchivist/docker-compose.yml b/apps/tubearchivist/docker-compose.yml index 3be92b7a..5be2e11e 100644 --- a/apps/tubearchivist/docker-compose.yml +++ b/apps/tubearchivist/docker-compose.yml @@ -4,7 +4,11 @@ services: tubearchivist: container_name: tubearchivist restart: unless-stopped - image: bbilly1/tubearchivist:latest + image: bbilly1/tubearchivist:v0.4.1 + ports: + - ${APP_PORT}:8000 + dns: + - ${DNS_IP} volumes: - ${ROOT_FOLDER_HOST}/media/data/youtube:/youtube - ${APP_DATA_DIR}/data/cache:/cache @@ -20,10 +24,6 @@ services: - tubearchivist-redis networks: - tipi_main_network - dns: - - ${DNS_IP} - ports: - - ${APP_PORT}:8000 labels: # Main traefik.enable: true @@ -62,7 +62,7 @@ services: - tubearchivist-es tubearchivist-es: - image: bbilly1/tubearchivist-es:latest + image: elasticsearch:8.9.0 container_name: tubearchivist-es restart: always environment: From eb4d0c814fa48f4ae58fe6e59e4efbcb5b1014da Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 27 Sep 2023 19:46:00 +0000 Subject: [PATCH 070/263] chore(deps): update elasticsearch docker tag to v8.10.2 (#1297) --- apps/tubearchivist/config.json | 4 ++-- apps/tubearchivist/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/tubearchivist/config.json b/apps/tubearchivist/config.json index 0746e127..26d07bab 100644 --- a/apps/tubearchivist/config.json +++ b/apps/tubearchivist/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 8120, "id": "tubearchivist", - "tipi_version": 5, - "version": "v0.4.1", + "tipi_version": 6, + "version": "0.4.1", "supported_architectures": [ "amd64", "arm64" diff --git a/apps/tubearchivist/docker-compose.yml b/apps/tubearchivist/docker-compose.yml index 5be2e11e..a5990a65 100644 --- a/apps/tubearchivist/docker-compose.yml +++ b/apps/tubearchivist/docker-compose.yml @@ -62,7 +62,7 @@ services: - tubearchivist-es tubearchivist-es: - image: elasticsearch:8.9.0 + image: elasticsearch:8.10.2 container_name: tubearchivist-es restart: always environment: From 98b92c79689485fbf14ca8dd54eb7480d31d80cc Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 28 Sep 2023 03:14:25 +0000 Subject: [PATCH 071/263] chore(deps): update ghost docker tag to v5.65.1 (#1299) --- apps/ghost/config.json | 4 ++-- apps/ghost/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/ghost/config.json b/apps/ghost/config.json index ca39cc3b..ce3cb078 100644 --- a/apps/ghost/config.json +++ b/apps/ghost/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "ghost", - "tipi_version": 48, - "version": "5.65.0", + "tipi_version": 49, + "version": "5.65.1", "categories": [ "social", "media" diff --git a/apps/ghost/docker-compose.yml b/apps/ghost/docker-compose.yml index 1619ca16..2a28fd9d 100644 --- a/apps/ghost/docker-compose.yml +++ b/apps/ghost/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.9" services: ghost: - image: ghost:5.65.0 + image: ghost:5.65.1 container_name: ghost depends_on: - ghostdb From febc722441215a6c1d07b1774d41dc573978b106 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 28 Sep 2023 07:37:53 +0000 Subject: [PATCH 072/263] chore(deps): update ghcr.io/ignisda/ryot docker tag to v2.19.3 (#1300) --- apps/ryot/config.json | 4 ++-- apps/ryot/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/ryot/config.json b/apps/ryot/config.json index 2eeb10a0..eea76586 100644 --- a/apps/ryot/config.json +++ b/apps/ryot/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "ryot", - "tipi_version": 13, - "version": "2.19.2", + "tipi_version": 14, + "version": "2.19.3", "categories": [ "media" ], diff --git a/apps/ryot/docker-compose.yml b/apps/ryot/docker-compose.yml index 514b789e..eab54451 100644 --- a/apps/ryot/docker-compose.yml +++ b/apps/ryot/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: ryot: - image: ghcr.io/ignisda/ryot:v2.19.2 + image: ghcr.io/ignisda/ryot:v2.19.3 container_name: ryot environment: - DATABASE_URL=postgres://tipi:${RYOT_DB_PASSWORD}@ryot-db:5432/ryot From ad71fdfd30f3928cfefb245689c2739644148d25 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 28 Sep 2023 11:17:53 +0000 Subject: [PATCH 073/263] chore(deps): update tooljet/tooljet-server-ce docker tag to v2.18.0 (#1301) --- apps/tooljet/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/tooljet/docker-compose.yml b/apps/tooljet/docker-compose.yml index 5828c4da..c2b9bbd0 100644 --- a/apps/tooljet/docker-compose.yml +++ b/apps/tooljet/docker-compose.yml @@ -44,7 +44,7 @@ services: tooljet-server: container_name: tooljet-server - image: tooljet/tooljet-server-ce:v2.17.5 + image: tooljet/tooljet-server-ce:v2.18.0 tty: true stdin_open: true restart: always From c8e1b1b4918f519aa7826b1fd90839d4098ccef6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 28 Sep 2023 14:03:35 +0000 Subject: [PATCH 074/263] chore(deps): update dullage/flatnotes docker tag to v3.3.0 (#1302) --- apps/flatnotes/config.json | 4 ++-- apps/flatnotes/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/flatnotes/config.json b/apps/flatnotes/config.json index 49002907..b44490fb 100644 --- a/apps/flatnotes/config.json +++ b/apps/flatnotes/config.json @@ -5,8 +5,8 @@ "exposable": true, "id": "flatnotes", "port": 8137, - "tipi_version": 12, - "version": "3.2.3", + "tipi_version": 13, + "version": "3.3.0", "categories": [ "utilities" ], diff --git a/apps/flatnotes/docker-compose.yml b/apps/flatnotes/docker-compose.yml index 8609c981..63eba7d3 100644 --- a/apps/flatnotes/docker-compose.yml +++ b/apps/flatnotes/docker-compose.yml @@ -3,7 +3,7 @@ version: "3" services: flatnotes: container_name: flatnotes - image: dullage/flatnotes:v3.2.3 + image: dullage/flatnotes:v3.3.0 environment: FLATNOTES_AUTH_TYPE: ${FLATNOTES_AUTH_TYPE} FLATNOTES_USERNAME: ${FLATNOTES_USERNAME} From 451955be5905f03bbcc94e92ccb6ff87ec2d5854 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 29 Sep 2023 00:54:17 +0000 Subject: [PATCH 075/263] chore(deps): update ghcr.io/zadam/trilium docker tag to v0.61.8 (#1304) --- apps/trilium/config.json | 4 ++-- apps/trilium/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/trilium/config.json b/apps/trilium/config.json index f4827fe8..9fae81b4 100644 --- a/apps/trilium/config.json +++ b/apps/trilium/config.json @@ -5,8 +5,8 @@ "exposable": true, "id": "trilium", "description": "Trilium Notes is a hierarchical note taking application with focus on building large personal knowledge bases. ", - "tipi_version": 3, - "version": "0.61.7-beta", + "tipi_version": 4, + "version": "0.61.8-beta", "categories": [ "utilities" ], diff --git a/apps/trilium/docker-compose.yml b/apps/trilium/docker-compose.yml index 51a0292b..42db1c8e 100644 --- a/apps/trilium/docker-compose.yml +++ b/apps/trilium/docker-compose.yml @@ -2,7 +2,7 @@ version: '3.7' services: trilium: - image: ghcr.io/zadam/trilium:0.61.7-beta + image: ghcr.io/zadam/trilium:0.61.8-beta container_name: trilium ports: - ${APP_PORT}:8080 From 1b135ccfb1a83234f3e9d217e49fa3f692ff53c5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 29 Sep 2023 00:54:23 +0000 Subject: [PATCH 076/263] chore(deps): update ghcr.io/ssddanbrown/rss docker tag to v1.4.1 (#1303) --- apps/rss/config.json | 4 ++-- apps/rss/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/rss/config.json b/apps/rss/config.json index 717e4dfc..454daff1 100644 --- a/apps/rss/config.json +++ b/apps/rss/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "rss", - "tipi_version": 4, - "version": "1.4.0", + "tipi_version": 5, + "version": "1.4.1", "categories": [ "utilities", "media" diff --git a/apps/rss/docker-compose.yml b/apps/rss/docker-compose.yml index 116bba82..2e9bfb72 100644 --- a/apps/rss/docker-compose.yml +++ b/apps/rss/docker-compose.yml @@ -2,7 +2,7 @@ version: '3.7' services: rss: - image: ghcr.io/ssddanbrown/rss:v1.4.0 + image: ghcr.io/ssddanbrown/rss:v1.4.1 container_name: rss environment: - APP_NAME=Tipi-RSS From 76408de4a5b0763e99f9d91f559f048ff83edd66 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 29 Sep 2023 03:48:52 +0000 Subject: [PATCH 077/263] chore(deps): update ghcr.io/ssddanbrown/rss docker tag to v1.4.2 (#1305) --- apps/rss/config.json | 4 ++-- apps/rss/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/rss/config.json b/apps/rss/config.json index 454daff1..be323619 100644 --- a/apps/rss/config.json +++ b/apps/rss/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "rss", - "tipi_version": 5, - "version": "1.4.1", + "tipi_version": 6, + "version": "1.4.2", "categories": [ "utilities", "media" diff --git a/apps/rss/docker-compose.yml b/apps/rss/docker-compose.yml index 2e9bfb72..b4c8b0a2 100644 --- a/apps/rss/docker-compose.yml +++ b/apps/rss/docker-compose.yml @@ -2,7 +2,7 @@ version: '3.7' services: rss: - image: ghcr.io/ssddanbrown/rss:v1.4.1 + image: ghcr.io/ssddanbrown/rss:v1.4.2 container_name: rss environment: - APP_NAME=Tipi-RSS From b8cb27731ee488c5e7d1c8e61d897981d55637d3 Mon Sep 17 00:00:00 2001 From: DireMunchkin <1665676+DireMunchkin@users.noreply.github.com> Date: Fri, 29 Sep 2023 05:58:18 +0000 Subject: [PATCH 078/263] Add Serge Chat (#1283) --- README.md | 1 + apps/serge/config.json | 16 ++++++ apps/serge/docker-compose.yml | 38 +++++++++++++ apps/serge/metadata/description.md | 82 +++++++++++++++++++++++++++++ apps/serge/metadata/logo.jpg | Bin 0 -> 12497 bytes 5 files changed, 137 insertions(+) create mode 100644 apps/serge/config.json create mode 100644 apps/serge/docker-compose.yml create mode 100644 apps/serge/metadata/description.md create mode 100644 apps/serge/metadata/logo.jpg diff --git a/README.md b/README.md index 931f4ddd..d79571cf 100644 --- a/README.md +++ b/README.md @@ -127,6 +127,7 @@ This is the official repository for the Tipi App Store. It contains all the apps - [Sabnzbd](https://github.com/sabnzbd/sabnzbd) - Sabnzbd makes Usenet as simple and streamlined as possible by automating everything we can" - [SearXNG](https://github.com/searxng/searxng) - SearXNG is a free internet metasearch engine which aggregates results from various search services and databases. Users are neither tracked nor profiled - [Send](https://gitlab.com/timvisee/send) - Simple, private file sharing +- [Serge](https://github.com/serge-chat/serge) - A web interface for chatting with Alpaca through llama.cpp. - [SimpleX SMP](https://github.com/simplex-chat/simplexmq) - A reference implementation of the SimpleX Messaging Protocol for simplex queues over public networks. - [Sonarr](https://github.com/Sonarr/Sonarr) - TV show manager for Usenet and BitTorrent - [Sshwifty](https://github.com/nirui/sshwifty/) - Web SSH & Telnet (WebSSH & WebTelnet client) diff --git a/apps/serge/config.json b/apps/serge/config.json new file mode 100644 index 00000000..1928e4bd --- /dev/null +++ b/apps/serge/config.json @@ -0,0 +1,16 @@ +{ + "$schema": "../schema.json", + "name": "Serge", + "available": true, + "exposable": true, + "port": 8008, + "id": "serge", + "tipi_version": 1, + "version": "0.4.1", + "categories": ["ai"], + "description": "", + "short_desc": "LLaMA made easy", + "author": "nsarrazin", + "source": "https://github.com/serge-chat/serge", + "form_fields": [] +} diff --git a/apps/serge/docker-compose.yml b/apps/serge/docker-compose.yml new file mode 100644 index 00000000..206073dd --- /dev/null +++ b/apps/serge/docker-compose.yml @@ -0,0 +1,38 @@ +version: "3.7" +services: + serge: + image: ghcr.io/serge-chat/serge:0.4.1 + container_name: serge + restart: unless-stopped + ports: + - ${APP_PORT}:8008 + networks: + - tipi_main_network + volumes: + - ${APP_DATA_DIR}/data/weights:/usr/src/app/weights + - ${APP_DATA_DIR}/data/db:/data/db/ + labels: + # Main + traefik.enable: true + traefik.http.middlewares.serge-web-redirect.redirectscheme.scheme: https + traefik.http.services.serge.loadbalancer.server.port: 8008 + # Web + traefik.http.routers.serge-insecure.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.serge-insecure.entrypoints: web + traefik.http.routers.serge-insecure.service: serge + traefik.http.routers.serge-insecure.middlewares: serge-web-redirect + # Websecure + traefik.http.routers.serge.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.serge.entrypoints: websecure + traefik.http.routers.serge.service: serge + traefik.http.routers.serge.tls.certresolver: myresolver + # Local domain + traefik.http.routers.serge-local-insecure.rule: Host(`serge.${LOCAL_DOMAIN}`) + traefik.http.routers.serge-local-insecure.entrypoints: web + traefik.http.routers.serge-local-insecure.service: serge + traefik.http.routers.serge-local-insecure.middlewares: serge-web-redirect + # Local domain secure + traefik.http.routers.serge-local.rule: Host(`serge.${LOCAL_DOMAIN}`) + traefik.http.routers.serge-local.entrypoints: websecure + traefik.http.routers.serge-local.service: serge + traefik.http.routers.serge-local.tls: true diff --git a/apps/serge/metadata/description.md b/apps/serge/metadata/description.md new file mode 100644 index 00000000..fd115f73 --- /dev/null +++ b/apps/serge/metadata/description.md @@ -0,0 +1,82 @@ +# Serge - LLaMA made easy 🦙 + +Serge is a chat interface crafted with [llama.cpp](https://github.com/ggerganov/llama.cpp) for running Alpaca models. No API keys, entirely self-hosted! + +- 🌐 **SvelteKit** frontend +- 💾 **[Redis](https://github.com/redis/redis)** for storing chat history & parameters +- ⚙️ **FastAPI + LangChain** for the API, wrapping calls to [llama.cpp](https://github.com/ggerganov/llama.cpp) using the [python bindings](https://github.com/abetlen/llama-cpp-python) + + +## 🧠 Supported Models + +| Category | Models | +|:-------------:|:-------| +| **Alpaca 🦙** | Alpaca-LoRA-65B, GPT4-Alpaca-LoRA-30B | +| **Chronos 🌑**| Chronos-13B, Chronos-33B, Chronos-Hermes-13B | +| **GPT4All 🌍**| GPT4All-13B | +| **Koala 🐨** | Koala-7B, Koala-13B | +| **LLaMA 🦙** | FinLLaMA-33B, LLaMA-Supercot-30B, LLaMA2 7B, LLaMA2 13B, LLaMA2 70B | +| **Lazarus 💀**| Lazarus-30B | +| **Nous 🧠** | Nous-Hermes-13B | +| **OpenAssistant 🎙️** | OpenAssistant-30B | +| **Orca 🐬** | Orca-Mini-v2-7B, Orca-Mini-v2-13B, OpenOrca-Preview1-13B | +| **Samantha 👩**| Samantha-7B, Samantha-13B, Samantha-33B | +| **Vicuna 🦙** | Stable-Vicuna-13B, Vicuna-CoT-7B, Vicuna-CoT-13B, Vicuna-v1.1-7B, Vicuna-v1.1-13B, VicUnlocked-30B, VicUnlocked-65B | +| **Wizard 🧙** | Wizard-Mega-13B, WizardLM-Uncensored-7B, WizardLM-Uncensored-13B, WizardLM-Uncensored-30B, WizardCoder-Python-13B-V1.0 | + +Additional weights can be added to the `serge_weights` volume using `docker cp`: + +```bash +docker cp ./my_weight.bin serge:/usr/src/app/weights/ +``` + +## ⚠️ Memory Usage + +LLaMA will crash if you don't have enough available memory for the model: + +| Model | Max RAM Required | +|-------------|------------------| +| 7B | 4.5GB | +| 7B-q2_K | 5.37GB | +| 7B-q3_K_L | 6.10GB | +| 7B-q4_1 | 6.71GB | +| 7B-q4_K_M | 6.58GB | +| 7B-q5_1 | 7.56GB | +| 7B-q5_K_M | 7.28GB | +| 7B-q6_K | 8.03GB | +| 7B-q8_0 | 9.66GB | +| 13B | 12GB | +| 13B-q2_K | 8.01GB | +| 13B-q3_K_L | 9.43GB | +| 13B-q4_1 | 10.64GB | +| 13B-q4_K_M | 10.37GB | +| 13B-q5_1 | 12.26GB | +| 13B-q5_K_M | 11.73GB | +| 13B-q6_K | 13.18GB | +| 13B-q8_0 | 16.33GB | +| 33B | 20GB | +| 33B-q2_K | 16.21GB | +| 33B-q3_K_L | 19.78GB | +| 33B-q4_1 | 22.83GB | +| 33B-q4_K_M | 22.12GB | +| 33B-q5_1 | 26.90GB | +| 33B-q5_K_M | 25.55GB | +| 33B-q6_K | 29.19GB | +| 33B-q8_0 | 37.06GB | +| 65B | 50GB | +| 65B-q2_K | 29.95GB | +| 65B-q3_K_L | 37.15GB | +| 65B-q4_1 | 43.31GB | +| 65B-q4_K_M | 41.85GB | +| 65B-q5_1 | 51.47GB | +| 65B-q5_K_M | 48.74GB | +| 65B-q6_K | 56.06GB | +| 65B-q8_0 | 71.87GB | + +## 🧾 License + +[Nathan Sarrazin](https://github.com/nsarrazin) and [Contributors](https://github.com/serge-chat/serge/graphs/contributors). `Serge` is free and open-source software licensed under the [MIT License](https://github.com/serge-chat/serge/blob/master/LICENSE). + +## 💬 Support + +Need help? Join our [Discord](https://discord.gg/62Hc6FEYQH) diff --git a/apps/serge/metadata/logo.jpg b/apps/serge/metadata/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3b3d5e87f9e241569f2607f987a6ed05e903d5b8 GIT binary patch literal 12497 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 literal 0 HcmV?d00001 From ae746e9fcffce9e1e297c63e00199f357ac58507 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 29 Sep 2023 17:08:17 +0000 Subject: [PATCH 079/263] chore(deps): update tooljet/tooljet-server-ce docker tag to v2.19.0 (#1307) --- apps/tooljet/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/tooljet/docker-compose.yml b/apps/tooljet/docker-compose.yml index c2b9bbd0..8af544a9 100644 --- a/apps/tooljet/docker-compose.yml +++ b/apps/tooljet/docker-compose.yml @@ -44,7 +44,7 @@ services: tooljet-server: container_name: tooljet-server - image: tooljet/tooljet-server-ce:v2.18.0 + image: tooljet/tooljet-server-ce:v2.19.0 tty: true stdin_open: true restart: always From ec0ab234c1be22fef92a19929b33fa28157ef7ff Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 29 Sep 2023 22:50:15 +0000 Subject: [PATCH 080/263] chore(deps): update grafana/grafana-oss docker tag to v10.1.4 (#1308) --- apps/grafana/config.json | 4 ++-- apps/grafana/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/grafana/config.json b/apps/grafana/config.json index 973abcb8..923c809f 100644 --- a/apps/grafana/config.json +++ b/apps/grafana/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "grafana", - "tipi_version": 15, - "version": "10.1.2", + "tipi_version": 16, + "version": "10.1.4", "categories": [ "data" ], diff --git a/apps/grafana/docker-compose.yml b/apps/grafana/docker-compose.yml index 886f354b..079b94c9 100644 --- a/apps/grafana/docker-compose.yml +++ b/apps/grafana/docker-compose.yml @@ -3,7 +3,7 @@ version: "3" services: grafana: container_name: grafana - image: grafana/grafana-oss:10.1.2 + image: grafana/grafana-oss:10.1.4 ports: - ${APP_PORT}:3000 volumes: From 1182873ec66a111b51edbd08b7afea6ad7aae4e7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 30 Sep 2023 01:47:42 +0000 Subject: [PATCH 081/263] chore(deps): update lscr.io/linuxserver/code-server docker tag to v4.17.1 (#1310) --- apps/code-server/config.json | 4 ++-- apps/code-server/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/code-server/config.json b/apps/code-server/config.json index 81fb41c1..a5680fa2 100644 --- a/apps/code-server/config.json +++ b/apps/code-server/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 8138, "id": "code-server", - "tipi_version": 15, - "version": "4.17.0", + "tipi_version": 16, + "version": "4.17.1", "categories": [ "development" ], diff --git a/apps/code-server/docker-compose.yml b/apps/code-server/docker-compose.yml index 2c56189b..07b5069a 100644 --- a/apps/code-server/docker-compose.yml +++ b/apps/code-server/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.7" services: code-server: - image: lscr.io/linuxserver/code-server:4.17.0 + image: lscr.io/linuxserver/code-server:4.17.1 container_name: code-server environment: - PUID=1000 From 3a1e2fe544c03fcef2cdcb1bcbcd4f0acc2dfade Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 30 Sep 2023 01:47:46 +0000 Subject: [PATCH 082/263] chore(deps): update ghcr.io/frooodle/s-pdf docker tag to v0.14.4 (#1309) --- apps/stirling-pdf/config.json | 4 ++-- apps/stirling-pdf/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/stirling-pdf/config.json b/apps/stirling-pdf/config.json index f0098c51..245987d1 100644 --- a/apps/stirling-pdf/config.json +++ b/apps/stirling-pdf/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "stirling-pdf", - "tipi_version": 5, - "version": "0.14.3", + "tipi_version": 6, + "version": "0.14.4", "categories": [ "data", "utilities" diff --git a/apps/stirling-pdf/docker-compose.yml b/apps/stirling-pdf/docker-compose.yml index f7b03cd4..9b094f8d 100644 --- a/apps/stirling-pdf/docker-compose.yml +++ b/apps/stirling-pdf/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.7" services: stirling-pdf: - image: ghcr.io/frooodle/s-pdf:0.14.3 + image: ghcr.io/frooodle/s-pdf:0.14.4 restart: unless-stopped container_name: stirling-pdf privileged: true From ec56b38d0fe4ed2d1b388cf0df4bf8b9d32b1341 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 30 Sep 2023 04:50:20 +0000 Subject: [PATCH 083/263] chore(deps): update ghost docker tag to v5.66.0 (#1312) --- apps/ghost/config.json | 4 ++-- apps/ghost/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/ghost/config.json b/apps/ghost/config.json index ce3cb078..8c13ed03 100644 --- a/apps/ghost/config.json +++ b/apps/ghost/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "ghost", - "tipi_version": 49, - "version": "5.65.1", + "tipi_version": 50, + "version": "5.66.0", "categories": [ "social", "media" diff --git a/apps/ghost/docker-compose.yml b/apps/ghost/docker-compose.yml index 2a28fd9d..fe384260 100644 --- a/apps/ghost/docker-compose.yml +++ b/apps/ghost/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.9" services: ghost: - image: ghost:5.65.1 + image: ghost:5.66.0 container_name: ghost depends_on: - ghostdb From 298cfcf28510ad5c145bdd4fed2d5787701ea714 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 30 Sep 2023 04:50:26 +0000 Subject: [PATCH 084/263] chore(deps): update ghcr.io/ignisda/ryot docker tag to v2.19.6 (#1311) --- apps/ryot/config.json | 4 ++-- apps/ryot/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/ryot/config.json b/apps/ryot/config.json index eea76586..37d62676 100644 --- a/apps/ryot/config.json +++ b/apps/ryot/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "ryot", - "tipi_version": 14, - "version": "2.19.3", + "tipi_version": 15, + "version": "2.19.6", "categories": [ "media" ], diff --git a/apps/ryot/docker-compose.yml b/apps/ryot/docker-compose.yml index eab54451..5a387a5d 100644 --- a/apps/ryot/docker-compose.yml +++ b/apps/ryot/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: ryot: - image: ghcr.io/ignisda/ryot:v2.19.3 + image: ghcr.io/ignisda/ryot:v2.19.6 container_name: ryot environment: - DATABASE_URL=postgres://tipi:${RYOT_DB_PASSWORD}@ryot-db:5432/ryot From ead9c04bbec58d87ada8f95f7b237d1fe5baab55 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 30 Sep 2023 09:13:13 +0000 Subject: [PATCH 085/263] chore(deps): update ghcr.io/ignisda/ryot docker tag to v2.19.7 (#1313) --- apps/ryot/config.json | 4 ++-- apps/ryot/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/ryot/config.json b/apps/ryot/config.json index 37d62676..9d28a245 100644 --- a/apps/ryot/config.json +++ b/apps/ryot/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "ryot", - "tipi_version": 15, - "version": "2.19.6", + "tipi_version": 16, + "version": "2.19.7", "categories": [ "media" ], diff --git a/apps/ryot/docker-compose.yml b/apps/ryot/docker-compose.yml index 5a387a5d..808538d8 100644 --- a/apps/ryot/docker-compose.yml +++ b/apps/ryot/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: ryot: - image: ghcr.io/ignisda/ryot:v2.19.6 + image: ghcr.io/ignisda/ryot:v2.19.7 container_name: ryot environment: - DATABASE_URL=postgres://tipi:${RYOT_DB_PASSWORD}@ryot-db:5432/ryot From f21c9b255fd9f1ccd21904ea99141b1c7094bcea Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 1 Oct 2023 00:21:40 +0000 Subject: [PATCH 086/263] chore(deps): update ghcr.io/advplyr/audiobookshelf docker tag to v2.4.4 (#1314) --- apps/audiobookshelf/config.json | 4 ++-- apps/audiobookshelf/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/audiobookshelf/config.json b/apps/audiobookshelf/config.json index d30bf35a..9ee2c437 100644 --- a/apps/audiobookshelf/config.json +++ b/apps/audiobookshelf/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 13378, "id": "audiobookshelf", - "tipi_version": 5, - "version": "2.4.3", + "tipi_version": 6, + "version": "2.4.4", "categories": [ "books", "media" diff --git a/apps/audiobookshelf/docker-compose.yml b/apps/audiobookshelf/docker-compose.yml index bc9ace59..d9185304 100644 --- a/apps/audiobookshelf/docker-compose.yml +++ b/apps/audiobookshelf/docker-compose.yml @@ -2,7 +2,7 @@ version: '3.7' services: audiobookshelf: container_name: audiobookshelf - image: ghcr.io/advplyr/audiobookshelf:2.4.3 + image: ghcr.io/advplyr/audiobookshelf:2.4.4 restart: unless-stopped ports: - ${APP_PORT}:80 From 442717e71a7d1032fd9859641efb27565f4bb73f Mon Sep 17 00:00:00 2001 From: Nicolas Meienberger <47644445+meienberger@users.noreply.github.com> Date: Sun, 1 Oct 2023 17:54:10 +0200 Subject: [PATCH 087/263] fix(forgejo): correct db password (#1318) --- apps/forgejo/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/forgejo/docker-compose.yml b/apps/forgejo/docker-compose.yml index b943706c..bb3f902a 100644 --- a/apps/forgejo/docker-compose.yml +++ b/apps/forgejo/docker-compose.yml @@ -11,7 +11,7 @@ services: - FORGEJO__database__HOST=forgejo-db:5432 - FORGEJO__database__NAME=forgejo - FORGEJO__database__USER=forgejo - - FORGEJO__database__PASSWD=forgejo + - FORGEJO__database__PASSWD=${FORGEJO_DB_PASSWORD} restart: unless-stopped volumes: - ${APP_DATA_DIR}/data/forgejo:/data From bbcb22f9ff96b08003f87642eab47c461f0dbe20 Mon Sep 17 00:00:00 2001 From: Nicolas Meienberger Date: Sun, 1 Oct 2023 17:56:45 +0200 Subject: [PATCH 088/263] chore: bump forgejo version --- apps/forgejo/config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/forgejo/config.json b/apps/forgejo/config.json index 8c497848..6d2df1ca 100644 --- a/apps/forgejo/config.json +++ b/apps/forgejo/config.json @@ -5,7 +5,7 @@ "available": true, "exposable": true, "id": "forgejo", - "tipi_version": 6, + "tipi_version": 7, "version": "1.20.4-0", "categories": [ "development" From 42ada42cc169fa2eeebce7ae6cd9b8dd632c83e7 Mon Sep 17 00:00:00 2001 From: Stavros Date: Sun, 1 Oct 2023 19:59:10 +0300 Subject: [PATCH 089/263] Add changedetection.io (#1277) Co-authored-by: Nicolas Meienberger <47644445+meienberger@users.noreply.github.com> --- README.md | 1 + apps/changedetection/config.json | 18 +++++ apps/changedetection/docker-compose.yml | 49 +++++++++++++ apps/changedetection/metadata/description.md | 73 +++++++++++++++++++ apps/changedetection/metadata/logo.jpg | Bin 0 -> 27909 bytes 5 files changed, 141 insertions(+) create mode 100644 apps/changedetection/config.json create mode 100644 apps/changedetection/docker-compose.yml create mode 100644 apps/changedetection/metadata/description.md create mode 100644 apps/changedetection/metadata/logo.jpg diff --git a/README.md b/README.md index d79571cf..e060c142 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,7 @@ This is the official repository for the Tipi App Store. It contains all the apps - [Budibase](https://github.com/Budibase/budibase) - Low code platform for creating internal tools, workflows, and admin panels in minutes. Supports PostgreSQL, MySQL, MSSQL, MongoDB, Rest API, Docker, K8s, and more 🚀. Budibase, the low code platform you'll enjoy using ⚡ - [Bookstack](https://github.com/BookStackApp/BookStack) - Simple, easy-to-use platform for organising and storing information. - [Calibre-Web](https://github.com/janeczku/calibre-web) - Web Ebook Reader +- [ChangeDetection.io](https://github.com/dgtlmoon/changedetection.io) - The best and simplest free open source website change detection, restock monitor and notification service. - [Chatpad AI](https://github.com/deiucanta/chatpad) - Not just another ChatGPT user-interface! - [Code-Server](https://github.com/coder/code-server) - Web VS Code - [Codex.Docs](https://github.com/codex-team/codex.docst) - Free Docs app powered by Editor.js ecosystem. diff --git a/apps/changedetection/config.json b/apps/changedetection/config.json new file mode 100644 index 00000000..307abab1 --- /dev/null +++ b/apps/changedetection/config.json @@ -0,0 +1,18 @@ +{ + "name": "ChangeDetection", + "available": true, + "port": 8257, + "exposable": true, + "id": "changedetection", + "description": "The best and simplest free open source website change detection, restock monitor and notification service.", + "tipi_version": 1, + "version": "0.45.2", + "categories": [ + "utilities" + ], + "short_desc": "Website change detection.", + "author": "dgtlmoon", + "source": "https://github.com/dgtlmoon/changedetection.io", + "website": "https://changedetection.io/", + "form_fields": [] +} \ No newline at end of file diff --git a/apps/changedetection/docker-compose.yml b/apps/changedetection/docker-compose.yml new file mode 100644 index 00000000..f14fd078 --- /dev/null +++ b/apps/changedetection/docker-compose.yml @@ -0,0 +1,49 @@ +version: "3.7" +services: + changedetection: + image: ghcr.io/dgtlmoon/changedetection.io:0.45.2 + container_name: changedetection + hostname: changedetection + volumes: + - ${APP_DATA_DIR}/data:/datastore + ports: + - ${APP_PORT}:5000 + restart: unless-stopped + environment: + - PLAYWRIGHT_DRIVER_URL=ws://chnagedetection-chrome:3000/?stealth=1&--disable-web-security=true + networks: + - tipi_main_network + labels: + # Main + traefik.enable: true + traefik.http.middlewares.changedetection-web-web-redirect.redirectscheme.scheme: https + traefik.http.services.changedetection-web.loadbalancer.server.port: 5000 + # Web + traefik.http.routers.changedetection-web-insecure.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.changedetection-web-insecure.entrypoints: web + traefik.http.routers.changedetection-web-insecure.service: changedetection-web + traefik.http.routers.changedetection-web-insecure.middlewares: changedetection-web-web-redirect + # Websecure + traefik.http.routers.changedetection-web.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.changedetection-web.entrypoints: websecure + traefik.http.routers.changedetection-web.service: changedetection-web + traefik.http.routers.changedetection-web.tls.certresolver: myresolver + # Local domain + traefik.http.routers.changedetection-web-local-insecure.rule: Host(`changedetection-web.${LOCAL_DOMAIN}`) + traefik.http.routers.changedetection-web-local-insecure.entrypoints: web + traefik.http.routers.changedetection-web-local-insecure.service: changedetection-web + traefik.http.routers.changedetection-web-local-insecure.middlewares: changedetection-web-web-redirect + # Local domain secure + traefik.http.routers.changedetection-web-local.rule: Host(`changedetection-web.${LOCAL_DOMAIN}`) + traefik.http.routers.changedetection-web-local.entrypoints: websecure + traefik.http.routers.changedetection-web-local.service: changedetection-web + traefik.http.routers.changedetection-web-local.tls: true + + + chnagedetection-chrome: + hostname: chnagedetection-chrome + image: browserless/chrome:latest + restart: unless-stopped + container_name: chnagedetection-chrome + networks: + - tipi_main_network \ No newline at end of file diff --git a/apps/changedetection/metadata/description.md b/apps/changedetection/metadata/description.md new file mode 100644 index 00000000..28548e98 --- /dev/null +++ b/apps/changedetection/metadata/description.md @@ -0,0 +1,73 @@ +## Web Site Change Detection, Restock monitoring and notifications. + +**_Detect website content changes and perform meaningful actions - trigger notifications via Discord, Email, Slack, Telegram, API calls and many more._** + +_Live your data-life pro-actively._ + + +[Self-hosted web page change monitoring](https://changedetection.io?src=github) + + +### Target specific parts of the webpage using the Visual Selector tool. + +Available when connected to a playwright content fetcher (included as part of our subscription service) + +[Self-hosted web page change monitoring context difference ](https://changedetection.io?src=github) + +### Easily see what changed, examine by word, line, or individual character. + +[Self-hosted web page change monitoring context difference ](https://changedetection.io?src=github) + + +### Perform interactive browser steps + +Fill in text boxes, click buttons and more, setup your changedetection scenario. + +Using the **Browser Steps** configuration, add basic steps before performing change detection, such as logging into websites, adding a product to a cart, accept cookie logins, entering dates and refining searches. + +After **Browser Steps** have been run, then visit the **Visual Selector** tab to refine the content you're interested in. +Requires Playwright to be enabled. + + +### Example use cases + +- Products and services have a change in pricing +- _Out of stock notification_ and _Back In stock notification_ +- Monitor and track PDF file changes, know when a PDF file has text changes. +- Governmental department updates (changes are often only on their websites) +- New software releases, security advisories when you're not on their mailing list. +- Festivals with changes +- Discogs restock alerts and monitoring +- Realestate listing changes +- Know when your favourite whiskey is on sale, or other special deals are announced before anyone else +- COVID related news from government websites +- University/organisation news from their website +- Detect and monitor changes in JSON API responses +- JSON API monitoring and alerting +- Changes in legal and other documents +- Trigger API calls via notifications when text appears on a website +- Glue together APIs using the JSON filter and JSON notifications +- Create RSS feeds based on changes in web content +- Monitor HTML source code for unexpected changes, strengthen your PCI compliance +- You have a very sensitive list of URLs to watch and you do _not_ want to use the paid alternatives. (Remember, _you_ are the product) +- Get notified when certain keywords appear in Twitter search results +- Proactively search for jobs, get notified when companies update their careers page, search job portals for keywords. +- Get alerts when new job positions are open on Bamboo HR and other job platforms +- Website defacement monitoring +- Pokémon Card Restock Tracker / Pokémon TCG Tracker +- RegTech - stay ahead of regulatory changes, regulatory compliance + +_Need an actual Chrome runner with Javascript support? We support fetching via WebDriver and Playwright!_ + +#### Key Features + +- Lots of trigger filters, such as "Trigger on text", "Remove text by selector", "Ignore text", "Extract text", also using regular-expressions! +- Target elements with xPath(1.0) and CSS Selectors, Easily monitor complex JSON with JSONPath or jq +- Switch between fast non-JS and Chrome JS based "fetchers" +- Track changes in PDF files (Monitor text changed in the PDF, Also monitor PDF filesize and checksums) +- Easily specify how often a site should be checked +- Execute JS before extracting text (Good for logging in, see examples in the UI!) +- Override Request Headers, Specify `POST` or `GET` and other methods +- Use the "Visual Selector" to help target specific elements +- Configurable [proxy per watch](https://github.com/dgtlmoon/changedetection.io/wiki/Proxy-configuration) +- Send a screenshot with the notification when a change is detected in the web page diff --git a/apps/changedetection/metadata/logo.jpg b/apps/changedetection/metadata/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e0c8d25ef23a3a2bc0d79ead5755aab2ca491602 GIT binary patch literal 27909 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 C)HkRA literal 0 HcmV?d00001 From ed3fa1424ecb27cee0726d43f9c4cdc1664ed7b6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 1 Oct 2023 19:21:12 +0000 Subject: [PATCH 090/263] chore(deps): update ghcr.io/ignisda/ryot docker tag to v2.19.8 (#1319) --- apps/ryot/config.json | 4 ++-- apps/ryot/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/ryot/config.json b/apps/ryot/config.json index 9d28a245..b56badab 100644 --- a/apps/ryot/config.json +++ b/apps/ryot/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "ryot", - "tipi_version": 16, - "version": "2.19.7", + "tipi_version": 17, + "version": "2.19.8", "categories": [ "media" ], diff --git a/apps/ryot/docker-compose.yml b/apps/ryot/docker-compose.yml index 808538d8..5908af9d 100644 --- a/apps/ryot/docker-compose.yml +++ b/apps/ryot/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: ryot: - image: ghcr.io/ignisda/ryot:v2.19.7 + image: ghcr.io/ignisda/ryot:v2.19.8 container_name: ryot environment: - DATABASE_URL=postgres://tipi:${RYOT_DB_PASSWORD}@ryot-db:5432/ryot From 62ffdd52481100d6cde695c352c9821cd74524a4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 2 Oct 2023 06:02:49 +0000 Subject: [PATCH 091/263] chore(deps): update ghcr.io/ignisda/ryot docker tag to v2.19.9 (#1320) --- apps/ryot/config.json | 4 ++-- apps/ryot/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/ryot/config.json b/apps/ryot/config.json index b56badab..1efdff7a 100644 --- a/apps/ryot/config.json +++ b/apps/ryot/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "ryot", - "tipi_version": 17, - "version": "2.19.8", + "tipi_version": 18, + "version": "2.19.9", "categories": [ "media" ], diff --git a/apps/ryot/docker-compose.yml b/apps/ryot/docker-compose.yml index 5908af9d..37944c03 100644 --- a/apps/ryot/docker-compose.yml +++ b/apps/ryot/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: ryot: - image: ghcr.io/ignisda/ryot:v2.19.8 + image: ghcr.io/ignisda/ryot:v2.19.9 container_name: ryot environment: - DATABASE_URL=postgres://tipi:${RYOT_DB_PASSWORD}@ryot-db:5432/ryot From 4e77457830238f906732e34f8a2f0f35c8485ace Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 2 Oct 2023 14:11:28 +0000 Subject: [PATCH 092/263] chore(deps): update ghcr.io/ignisda/ryot docker tag to v2.19.13 (#1321) --- apps/ryot/config.json | 4 ++-- apps/ryot/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/ryot/config.json b/apps/ryot/config.json index 1efdff7a..4409d404 100644 --- a/apps/ryot/config.json +++ b/apps/ryot/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "ryot", - "tipi_version": 18, - "version": "2.19.9", + "tipi_version": 19, + "version": "2.19.13", "categories": [ "media" ], diff --git a/apps/ryot/docker-compose.yml b/apps/ryot/docker-compose.yml index 37944c03..cc2ee0a3 100644 --- a/apps/ryot/docker-compose.yml +++ b/apps/ryot/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: ryot: - image: ghcr.io/ignisda/ryot:v2.19.9 + image: ghcr.io/ignisda/ryot:v2.19.13 container_name: ryot environment: - DATABASE_URL=postgres://tipi:${RYOT_DB_PASSWORD}@ryot-db:5432/ryot From 709979d1cb89a00e4ff0f7a0bfe26a6b476763dd Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 2 Oct 2023 17:26:03 +0000 Subject: [PATCH 093/263] chore(deps): update altran1502/immich-machine-learning docker tag to v1.80.0 (#1322) --- apps/immich/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/immich/docker-compose.yml b/apps/immich/docker-compose.yml index 5e9726ea..ac885ff6 100644 --- a/apps/immich/docker-compose.yml +++ b/apps/immich/docker-compose.yml @@ -93,7 +93,7 @@ services: immich-machine-learning: container_name: immich-machine-learning - image: altran1502/immich-machine-learning:v1.79.1 + image: altran1502/immich-machine-learning:v1.80.0 volumes: - ${ROOT_FOLDER_HOST}/media/data/images/immich:/usr/src/app/upload - ${APP_DATA_DIR}/data/immich-ml-cache:/cache From d23a6d5e3cc969251e618c89383f09fd4c06086c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 2 Oct 2023 17:26:41 +0000 Subject: [PATCH 094/263] chore(deps): update altran1502/immich-proxy docker tag to v1.80.0 (#1323) --- apps/immich/config.json | 4 ++-- apps/immich/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/immich/config.json b/apps/immich/config.json index ef49a9eb..4f572f20 100644 --- a/apps/immich/config.json +++ b/apps/immich/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 8128, "id": "immich", - "tipi_version": 45, - "version": "1.79.1", + "tipi_version": 46, + "version": "1.80.0", "categories": [ "data", "photography" diff --git a/apps/immich/docker-compose.yml b/apps/immich/docker-compose.yml index ac885ff6..f2405bfd 100644 --- a/apps/immich/docker-compose.yml +++ b/apps/immich/docker-compose.yml @@ -3,7 +3,7 @@ version: "3.7" services: immich: container_name: immich - image: altran1502/immich-proxy:v1.79.1 + image: altran1502/immich-proxy:v1.80.0 ports: - ${APP_PORT}:8080 depends_on: From 1e6d2f8797bd0d965a793437a68928dafc00bf5d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 2 Oct 2023 18:03:40 +0000 Subject: [PATCH 095/263] chore(deps): update altran1502/immich-server docker tag to v1.80.0 (#1324) --- apps/immich/docker-compose.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/immich/docker-compose.yml b/apps/immich/docker-compose.yml index f2405bfd..bdf92b55 100644 --- a/apps/immich/docker-compose.yml +++ b/apps/immich/docker-compose.yml @@ -43,7 +43,7 @@ services: immich-server: container_name: immich-server - image: altran1502/immich-server:v1.79.1 + image: altran1502/immich-server:v1.80.0 command: ["start-server.sh"] volumes: - ${ROOT_FOLDER_HOST}/media/data/images/immich:/usr/src/app/upload @@ -68,7 +68,7 @@ services: immich-microservices: container_name: immich-microservices - image: altran1502/immich-server:v1.79.1 + image: altran1502/immich-server:v1.80.0 command: ["start-microservices.sh"] volumes: - ${ROOT_FOLDER_HOST}/media/data/images/immich:/usr/src/app/upload From 42dbdd693e005a6811aa4aa88c99503e6ab5bb9a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 2 Oct 2023 18:03:48 +0000 Subject: [PATCH 096/263] chore(deps): update altran1502/immich-web docker tag to v1.80.0 (#1325) --- apps/immich/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/immich/docker-compose.yml b/apps/immich/docker-compose.yml index bdf92b55..a4983600 100644 --- a/apps/immich/docker-compose.yml +++ b/apps/immich/docker-compose.yml @@ -114,7 +114,7 @@ services: immich-web: container_name: immich-web - image: altran1502/immich-web:v1.79.1 + image: altran1502/immich-web:v1.80.0 restart: unless-stopped networks: - tipi_main_network From ceee1dd16cd2d12a39fadb3a2cd8a5efdaf45d30 Mon Sep 17 00:00:00 2001 From: DrMxrcy <58747968+DrMxrcy@users.noreply.github.com> Date: Mon, 2 Oct 2023 17:00:25 -0400 Subject: [PATCH 097/263] Fix/revolt version fix (#1326) * Update config.json * Update config.json --- apps/revolt/config.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/revolt/config.json b/apps/revolt/config.json index f63ae3fa..e07ff4c4 100644 --- a/apps/revolt/config.json +++ b/apps/revolt/config.json @@ -8,8 +8,8 @@ "generate_vapid_keys": true, "supported_architectures": ["amd64"], "id": "revolt", - "tipi_version": 6, - "version": "1.1.10/20230611-3", + "tipi_version": 12, + "version": "20230810-3", "categories": ["media"], "description": "Open source user-first chat platform.", "short_desc": "Open source user-first chat platform.", From 46f19223fa2f7d192d4086734030e5318fb92df6 Mon Sep 17 00:00:00 2001 From: DrMxrcy <58747968+DrMxrcy@users.noreply.github.com> Date: Mon, 2 Oct 2023 17:02:05 -0400 Subject: [PATCH 098/263] Fix/revolt version fix (#1329) * Update config.json * Update config.json * Update config.json --- apps/revolt/config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/revolt/config.json b/apps/revolt/config.json index e07ff4c4..e7b7f298 100644 --- a/apps/revolt/config.json +++ b/apps/revolt/config.json @@ -8,7 +8,7 @@ "generate_vapid_keys": true, "supported_architectures": ["amd64"], "id": "revolt", - "tipi_version": 12, + "tipi_version": 13, "version": "20230810-3", "categories": ["media"], "description": "Open source user-first chat platform.", From 15ef10a9c2f84d3677790edbe1c460933d484873 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 2 Oct 2023 21:02:56 +0000 Subject: [PATCH 099/263] chore(deps): update budibase/budibase docker tag to v2.11.0 (#1327) --- apps/budibase/config.json | 4 ++-- apps/budibase/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/budibase/config.json b/apps/budibase/config.json index 77bf394e..99eed03e 100644 --- a/apps/budibase/config.json +++ b/apps/budibase/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "budibase", - "tipi_version": 11, - "version": "2.10.12", + "tipi_version": 12, + "version": "2.11.0", "categories": [ "development" ], diff --git a/apps/budibase/docker-compose.yml b/apps/budibase/docker-compose.yml index 6aa8f3ec..d0f68fe9 100644 --- a/apps/budibase/docker-compose.yml +++ b/apps/budibase/docker-compose.yml @@ -1,7 +1,7 @@ version: '3.7' services: budibase: - image: budibase/budibase:2.10.12 + image: budibase/budibase:2.11.0 restart: unless-stopped container_name: budibase ports: From d59833d8e4e63e4328b7635c2079c7e59cb6a26e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 2 Oct 2023 21:03:00 +0000 Subject: [PATCH 100/263] chore(deps): update ghcr.io/autobrr/autobrr docker tag to v1.31.0 (#1328) --- apps/autobrr/config.json | 4 ++-- apps/autobrr/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/autobrr/config.json b/apps/autobrr/config.json index 05b979ad..c0a33dab 100644 --- a/apps/autobrr/config.json +++ b/apps/autobrr/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "autobrr", - "tipi_version": 10, - "version": "1.30.0", + "tipi_version": 11, + "version": "1.31.0", "categories": [ "media" ], diff --git a/apps/autobrr/docker-compose.yml b/apps/autobrr/docker-compose.yml index d39e5e8f..4ba55ae9 100644 --- a/apps/autobrr/docker-compose.yml +++ b/apps/autobrr/docker-compose.yml @@ -3,7 +3,7 @@ version: "3" services: autobrr: container_name: autobrr - image: ghcr.io/autobrr/autobrr:v1.30.0 + image: ghcr.io/autobrr/autobrr:v1.31.0 restart: unless-stopped ports: - ${APP_PORT}:7474 From 91764c1767e756305d109d44c30850c54b479290 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 3 Oct 2023 01:27:36 +0000 Subject: [PATCH 101/263] chore(deps): update ghost docker tag to v5.66.1 (#1330) --- apps/ghost/config.json | 4 ++-- apps/ghost/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/ghost/config.json b/apps/ghost/config.json index 8c13ed03..b4015d8e 100644 --- a/apps/ghost/config.json +++ b/apps/ghost/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "ghost", - "tipi_version": 50, - "version": "5.66.0", + "tipi_version": 51, + "version": "5.66.1", "categories": [ "social", "media" diff --git a/apps/ghost/docker-compose.yml b/apps/ghost/docker-compose.yml index fe384260..8a29896c 100644 --- a/apps/ghost/docker-compose.yml +++ b/apps/ghost/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.9" services: ghost: - image: ghost:5.66.0 + image: ghost:5.66.1 container_name: ghost depends_on: - ghostdb From 4ff1b146210f732fd63cb0bb05619ec7efade3a6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 3 Oct 2023 07:25:49 +0000 Subject: [PATCH 102/263] chore(deps): update ghcr.io/ignisda/ryot docker tag to v2.20.1 (#1331) --- apps/ryot/config.json | 4 ++-- apps/ryot/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/ryot/config.json b/apps/ryot/config.json index 4409d404..c07d622f 100644 --- a/apps/ryot/config.json +++ b/apps/ryot/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "ryot", - "tipi_version": 19, - "version": "2.19.13", + "tipi_version": 20, + "version": "2.20.1", "categories": [ "media" ], diff --git a/apps/ryot/docker-compose.yml b/apps/ryot/docker-compose.yml index cc2ee0a3..bccf9ad9 100644 --- a/apps/ryot/docker-compose.yml +++ b/apps/ryot/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: ryot: - image: ghcr.io/ignisda/ryot:v2.19.13 + image: ghcr.io/ignisda/ryot:v2.20.1 container_name: ryot environment: - DATABASE_URL=postgres://tipi:${RYOT_DB_PASSWORD}@ryot-db:5432/ryot From 8705a0bdbbd5ea062e07cc57b1b2aa2b999b0c6d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 3 Oct 2023 12:13:43 +0000 Subject: [PATCH 103/263] chore(deps): update tooljet/tooljet-server-ce docker tag to v2.19.1 (#1332) --- apps/tooljet/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/tooljet/docker-compose.yml b/apps/tooljet/docker-compose.yml index 8af544a9..2a6ba2f7 100644 --- a/apps/tooljet/docker-compose.yml +++ b/apps/tooljet/docker-compose.yml @@ -44,7 +44,7 @@ services: tooljet-server: container_name: tooljet-server - image: tooljet/tooljet-server-ce:v2.19.0 + image: tooljet/tooljet-server-ce:v2.19.1 tty: true stdin_open: true restart: always From 6ff06f461ee45fe53419988bacb7964b5c9a4b16 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 3 Oct 2023 12:14:21 +0000 Subject: [PATCH 104/263] chore(deps): update syncthing/syncthing docker tag to v1.25 (#1333) --- apps/syncthing/config.json | 4 ++-- apps/syncthing/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/syncthing/config.json b/apps/syncthing/config.json index b6a2256c..b8e1e6ed 100644 --- a/apps/syncthing/config.json +++ b/apps/syncthing/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 8090, "id": "syncthing", - "tipi_version": 7, - "version": "1.24", + "tipi_version": 8, + "version": "1.25", "categories": [ "data", "utilities" diff --git a/apps/syncthing/docker-compose.yml b/apps/syncthing/docker-compose.yml index 79eab896..e88c972b 100644 --- a/apps/syncthing/docker-compose.yml +++ b/apps/syncthing/docker-compose.yml @@ -3,7 +3,7 @@ version: "3.7" services: syncthing: container_name: syncthing - image: syncthing/syncthing:1.24 + image: syncthing/syncthing:1.25 stop_grace_period: 1m hostname: tipi environment: From c2a1ac1379b727f3477fe89f86803a08f50389a3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 3 Oct 2023 16:21:20 +0000 Subject: [PATCH 105/263] chore(deps): update budibase/budibase docker tag to v2.11.5 (#1334) --- apps/budibase/config.json | 4 ++-- apps/budibase/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/budibase/config.json b/apps/budibase/config.json index 99eed03e..a7221b1a 100644 --- a/apps/budibase/config.json +++ b/apps/budibase/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "budibase", - "tipi_version": 12, - "version": "2.11.0", + "tipi_version": 13, + "version": "2.11.5", "categories": [ "development" ], diff --git a/apps/budibase/docker-compose.yml b/apps/budibase/docker-compose.yml index d0f68fe9..c516c7ee 100644 --- a/apps/budibase/docker-compose.yml +++ b/apps/budibase/docker-compose.yml @@ -1,7 +1,7 @@ version: '3.7' services: budibase: - image: budibase/budibase:2.11.0 + image: budibase/budibase:2.11.5 restart: unless-stopped container_name: budibase ports: From 47d21ec6af1ada8a8355cc5c92fd9563a98df3c8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 3 Oct 2023 19:40:25 +0000 Subject: [PATCH 106/263] chore(deps): update gitea/gitea docker tag to v1.20.5 (#1336) --- apps/gitea/config.json | 4 ++-- apps/gitea/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/gitea/config.json b/apps/gitea/config.json index d63c17e0..2bd3070d 100644 --- a/apps/gitea/config.json +++ b/apps/gitea/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "gitea", - "tipi_version": 14, - "version": "1.20.4", + "tipi_version": 15, + "version": "1.20.5", "categories": [ "development" ], diff --git a/apps/gitea/docker-compose.yml b/apps/gitea/docker-compose.yml index f0f6ebef..b89d2978 100644 --- a/apps/gitea/docker-compose.yml +++ b/apps/gitea/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: gitea: - image: gitea/gitea:1.20.4 + image: gitea/gitea:1.20.5 container_name: gitea environment: - USER_UID=1000 From d4074edf6f9adb106127a3c2e299fccf3d532dcc Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 3 Oct 2023 19:40:31 +0000 Subject: [PATCH 107/263] chore(deps): update budibase/budibase docker tag to v2.11.8 (#1335) --- apps/budibase/config.json | 4 ++-- apps/budibase/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/budibase/config.json b/apps/budibase/config.json index a7221b1a..15d94d8d 100644 --- a/apps/budibase/config.json +++ b/apps/budibase/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "budibase", - "tipi_version": 13, - "version": "2.11.5", + "tipi_version": 14, + "version": "2.11.8", "categories": [ "development" ], diff --git a/apps/budibase/docker-compose.yml b/apps/budibase/docker-compose.yml index c516c7ee..1f6b016b 100644 --- a/apps/budibase/docker-compose.yml +++ b/apps/budibase/docker-compose.yml @@ -1,7 +1,7 @@ version: '3.7' services: budibase: - image: budibase/budibase:2.11.5 + image: budibase/budibase:2.11.8 restart: unless-stopped container_name: budibase ports: From aff9826940ccfa08c458d63738b2a3a7c88e8eb3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 3 Oct 2023 22:22:55 +0000 Subject: [PATCH 108/263] chore(deps): update altran1502/immich-server docker tag to v1.81.0 (#1338) --- apps/immich/docker-compose.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/immich/docker-compose.yml b/apps/immich/docker-compose.yml index a4983600..f6130d0b 100644 --- a/apps/immich/docker-compose.yml +++ b/apps/immich/docker-compose.yml @@ -43,7 +43,7 @@ services: immich-server: container_name: immich-server - image: altran1502/immich-server:v1.80.0 + image: altran1502/immich-server:v1.81.0 command: ["start-server.sh"] volumes: - ${ROOT_FOLDER_HOST}/media/data/images/immich:/usr/src/app/upload @@ -68,7 +68,7 @@ services: immich-microservices: container_name: immich-microservices - image: altran1502/immich-server:v1.80.0 + image: altran1502/immich-server:v1.81.0 command: ["start-microservices.sh"] volumes: - ${ROOT_FOLDER_HOST}/media/data/images/immich:/usr/src/app/upload From 1a7b91236af92625c4c3c64c7e3d6edc78cc8da0 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 3 Oct 2023 22:23:01 +0000 Subject: [PATCH 109/263] chore(deps): update altran1502/immich-machine-learning docker tag to v1.81.0 (#1337) --- apps/immich/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/immich/docker-compose.yml b/apps/immich/docker-compose.yml index f6130d0b..992eb80e 100644 --- a/apps/immich/docker-compose.yml +++ b/apps/immich/docker-compose.yml @@ -93,7 +93,7 @@ services: immich-machine-learning: container_name: immich-machine-learning - image: altran1502/immich-machine-learning:v1.80.0 + image: altran1502/immich-machine-learning:v1.81.0 volumes: - ${ROOT_FOLDER_HOST}/media/data/images/immich:/usr/src/app/upload - ${APP_DATA_DIR}/data/immich-ml-cache:/cache From ba11433e227f498b7ab377ba282fb0f9f09cb0fa Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 4 Oct 2023 01:10:32 +0000 Subject: [PATCH 110/263] chore(deps): update altran1502/immich-web docker tag to v1.81.0 (#1340) --- apps/immich/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/immich/docker-compose.yml b/apps/immich/docker-compose.yml index 992eb80e..1a0fae59 100644 --- a/apps/immich/docker-compose.yml +++ b/apps/immich/docker-compose.yml @@ -114,7 +114,7 @@ services: immich-web: container_name: immich-web - image: altran1502/immich-web:v1.80.0 + image: altran1502/immich-web:v1.81.0 restart: unless-stopped networks: - tipi_main_network From fe358225c0d9f17c62befca813bf96cfaba1715c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 4 Oct 2023 01:11:09 +0000 Subject: [PATCH 111/263] chore(deps): update altran1502/immich-proxy docker tag to v1.81.0 (#1339) --- apps/immich/config.json | 4 ++-- apps/immich/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/immich/config.json b/apps/immich/config.json index 4f572f20..7ed0a481 100644 --- a/apps/immich/config.json +++ b/apps/immich/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 8128, "id": "immich", - "tipi_version": 46, - "version": "1.80.0", + "tipi_version": 47, + "version": "1.81.0", "categories": [ "data", "photography" diff --git a/apps/immich/docker-compose.yml b/apps/immich/docker-compose.yml index 1a0fae59..79c9262a 100644 --- a/apps/immich/docker-compose.yml +++ b/apps/immich/docker-compose.yml @@ -3,7 +3,7 @@ version: "3.7" services: immich: container_name: immich - image: altran1502/immich-proxy:v1.80.0 + image: altran1502/immich-proxy:v1.81.0 ports: - ${APP_PORT}:8080 depends_on: From b99d55a8e9c295baa30b92ec4f05cbed24eff29a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 4 Oct 2023 06:03:33 +0000 Subject: [PATCH 112/263] chore(deps): update ghcr.io/ignisda/ryot docker tag to v2.21.0 (#1342) --- apps/ryot/config.json | 4 ++-- apps/ryot/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/ryot/config.json b/apps/ryot/config.json index c07d622f..7bc1db52 100644 --- a/apps/ryot/config.json +++ b/apps/ryot/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "ryot", - "tipi_version": 20, - "version": "2.20.1", + "tipi_version": 21, + "version": "2.21.0", "categories": [ "media" ], diff --git a/apps/ryot/docker-compose.yml b/apps/ryot/docker-compose.yml index bccf9ad9..4c18ca24 100644 --- a/apps/ryot/docker-compose.yml +++ b/apps/ryot/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: ryot: - image: ghcr.io/ignisda/ryot:v2.20.1 + image: ghcr.io/ignisda/ryot:v2.21.0 container_name: ryot environment: - DATABASE_URL=postgres://tipi:${RYOT_DB_PASSWORD}@ryot-db:5432/ryot From 50c8d4aedc8284a345c397d72c2133d4368e997c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 4 Oct 2023 14:30:05 +0000 Subject: [PATCH 113/263] chore(deps): update gristlabs/grist docker tag to v1.1.5 (#1343) --- apps/grist/config.json | 4 ++-- apps/grist/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/grist/config.json b/apps/grist/config.json index 671f3c82..3d09fc36 100644 --- a/apps/grist/config.json +++ b/apps/grist/config.json @@ -5,8 +5,8 @@ "exposable": true, "id": "grist", "description": "Grist is a modern relational spreadsheet. It combines the flexibility of a spreadsheet with the robustness of a database to organize your data and make you more productive.", - "tipi_version": 3, - "version": "1.1.4", + "tipi_version": 4, + "version": "1.1.5", "categories": [ "utilities" ], diff --git a/apps/grist/docker-compose.yml b/apps/grist/docker-compose.yml index 7cdce377..9e815270 100644 --- a/apps/grist/docker-compose.yml +++ b/apps/grist/docker-compose.yml @@ -6,7 +6,7 @@ services: environment: - APP_HOME_URL=${APP_PROTOCOL:-http}://${APP_DOMAIN} - GRIST_SANDBOX_FLAVOR=${GRIST_SANDBOX_FLAVOR} - image: "gristlabs/grist:1.1.4" + image: "gristlabs/grist:1.1.5" ports: - "${APP_PORT}:8484" restart: always From 704f0af40d436ac2b7ad972f7d4c4e257172d9e8 Mon Sep 17 00:00:00 2001 From: DrMxrcy <58747968+DrMxrcy@users.noreply.github.com> Date: Wed, 4 Oct 2023 11:04:20 -0400 Subject: [PATCH 114/263] Add Speedtest Tracker (#1341) * Add Speedtest Tracker * Update docker-compose.yml * Update docker-compose.yml * Update Port and ENV * Update docker-compose.yml * Update docker-compose.yml * Fix ports --- README.md | 1 + apps/speedtest-tracker/config.json | 23 ++++++ apps/speedtest-tracker/docker-compose.yml | 66 ++++++++++++++++++ .../speedtest-tracker/metadata/description.md | 32 +++++++++ apps/speedtest-tracker/metadata/logo.jpg | Bin 0 -> 31109 bytes 5 files changed, 122 insertions(+) create mode 100644 apps/speedtest-tracker/config.json create mode 100644 apps/speedtest-tracker/docker-compose.yml create mode 100644 apps/speedtest-tracker/metadata/description.md create mode 100644 apps/speedtest-tracker/metadata/logo.jpg diff --git a/README.md b/README.md index e060c142..6a93225e 100644 --- a/README.md +++ b/README.md @@ -131,6 +131,7 @@ This is the official repository for the Tipi App Store. It contains all the apps - [Serge](https://github.com/serge-chat/serge) - A web interface for chatting with Alpaca through llama.cpp. - [SimpleX SMP](https://github.com/simplex-chat/simplexmq) - A reference implementation of the SimpleX Messaging Protocol for simplex queues over public networks. - [Sonarr](https://github.com/Sonarr/Sonarr) - TV show manager for Usenet and BitTorrent +- [Speedtest Tracker](https://github.com/alexjustesen/speedtest-tracker) - Internet performance tracking application. - [Sshwifty](https://github.com/nirui/sshwifty/) - Web SSH & Telnet (WebSSH & WebTelnet client) - [Stirling-PDF](https://github.com/Frooodle/Stirling-PDF) - Locally hosted web application that allows you to perform various operations on PDF files. - [Syncthing](https://github.com/syncthing/syncthing) - Continuous File Synchronization diff --git a/apps/speedtest-tracker/config.json b/apps/speedtest-tracker/config.json new file mode 100644 index 00000000..757c3119 --- /dev/null +++ b/apps/speedtest-tracker/config.json @@ -0,0 +1,23 @@ +{ + "$schema": "../schema.json", + "name": "Speedtest Tracker", + "port": 8211, + "available": true, + "exposable": true, + "id": "speedtest-tracker", + "tipi_version": 1, + "version": "v0.13.1", + "categories": ["utilities"], + "description": "Speedtest Tracker is a self-hosted internet performance tracking application that runs speedtest checks against Ookla's Speedtest service.", + "short_desc": "Internet performance tracking application.", + "author": "alexjustesen", + "source": "https://github.com/alexjustesen/speedtest-tracker", + "form_fields": [ + { + "type": "random", + "label": "SPEEDTEST_TRACKER_DB_PASSWORD", + "min": 32, + "env_variable": "SPEEDTEST_TRACKER_DB_PASSWORD" + } + ] +} diff --git a/apps/speedtest-tracker/docker-compose.yml b/apps/speedtest-tracker/docker-compose.yml new file mode 100644 index 00000000..7ae8b651 --- /dev/null +++ b/apps/speedtest-tracker/docker-compose.yml @@ -0,0 +1,66 @@ +version: "3.7" + +services: + speedtest-tracker: + image: ghcr.io/alexjustesen/speedtest-tracker:v0.13.1 + container_name: speedtest-tracker + environment: + - PUID=1000 + - PGID=1000 + - DB_CONNECTION=pgsql + - DB_HOST=speedtest-tracker-db + - DB_PORT=5432 + - DB_DATABASE=speedtest-tracker + - DB_USERNAME=tipi + - DB_PASSWORD=${SPEEDTEST_TRACKER_DB_PASSWORD} + - TZ=${TZ} + restart: unless-stopped + volumes: + - ${APP_DATA_DIR}/data/speedtest-tracker/config:/config + - /etc/localtime:/etc/localtime:ro + ports: + - ${APP_PORT}:80 + - 8212:443 + depends_on: + - speedtest-tracker-db + networks: + - tipi_main_network + labels: + # Main + traefik.enable: true + traefik.http.middlewares.speedtest-tracker-web-redirect.redirectscheme.scheme: https + traefik.http.services.speedtest-tracker.loadbalancer.server.port: 80 + #traefik.http.services.speedtest-tracker.loadbalancer.serverstransport: insecuretransport@file + # Web + traefik.http.routers.speedtest-tracker-insecure.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.speedtest-tracker-insecure.entrypoints: web + traefik.http.routers.speedtest-tracker-insecure.service: speedtest-tracker + traefik.http.routers.speedtest-tracker-insecure.middlewares: speedtest-tracker-web-redirect + # Websecure + traefik.http.routers.speedtest-tracker.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.speedtest-tracker.entrypoints: websecure + traefik.http.routers.speedtest-tracker.service: speedtest-tracker + traefik.http.routers.speedtest-tracker.tls.certresolver: myresolver + # Local domain + traefik.http.routers.speedtest-tracker-local-insecure.rule: Host(`speedtest-tracker.${LOCAL_DOMAIN}`) + traefik.http.routers.speedtest-tracker-local-insecure.entrypoints: web + traefik.http.routers.speedtest-tracker-local-insecure.service: speedtest-tracker + traefik.http.routers.speedtest-tracker-local-insecure.middlewares: speedtest-tracker-web-redirect + # Local domain secure + traefik.http.routers.speedtest-tracker-local.rule: Host(`speedtest-tracker.${LOCAL_DOMAIN}`) + traefik.http.routers.speedtest-tracker-local.entrypoints: websecure + traefik.http.routers.speedtest-tracker-local.service: speedtest-tracker + traefik.http.routers.speedtest-tracker-local.tls: true + + speedtest-tracker-db: + container_name: speedtest-tracker-db + image: postgres:15 + restart: unless-stopped + environment: + - POSTGRES_USER=tipi + - POSTGRES_PASSWORD=${SPEEDTEST_TRACKER_DB_PASSWORD} + - POSTGRES_DB=speedtest-tracker + volumes: + - ${APP_DATA_DIR}/data/postgres:/var/lib/postgresql/data + networks: + - tipi_main_network diff --git a/apps/speedtest-tracker/metadata/description.md b/apps/speedtest-tracker/metadata/description.md new file mode 100644 index 00000000..d4ee7463 --- /dev/null +++ b/apps/speedtest-tracker/metadata/description.md @@ -0,0 +1,32 @@ + +## Authentication + +Speedtest Tracker uses Filament for the admin panel. During the install process an admin account is created for you. + +Default User Account +| Username | Password | +| --- | --- | +| `admin@example.com`| `password` | + +--- + +## About + +A Docker image to check your internet speed using Ookla's Speedtest service. Build using Laravel and the Speedtest CLI. +These docs are up-to-date for version: `v0.12.1` + +![](https://834071469-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvtb3s6TB12XY9iIx8YyJ%2Fuploads%2FrOKoxV0cH35wwjkbAgvE%2Fdashboard_screenshot.jpg?alt=media&token=121f5175-4008-4b26-9655-bc67d1369710) + +### + +Introduction + +Speedtest Tracker is a self-hosted internet performance tracking application that runs speedtest checks against Ookla's Speedtest service. + +#### + +Why might I want this? + +The main use case for Speedtest Tracker is to build a history of your internet's performance so that you can be informed when you're not receiving your ISP's advertised rates. + +_...also some of us just like a lot of data._ \ No newline at end of file diff --git a/apps/speedtest-tracker/metadata/logo.jpg b/apps/speedtest-tracker/metadata/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9c34d46292730ebf2a574dca6a3d8c8a8c2cd728 GIT binary patch literal 31109 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 z Date: Wed, 4 Oct 2023 19:23:17 +0000 Subject: [PATCH 115/263] chore(deps): update altran1502/immich-machine-learning docker tag to v1.81.1 (#1344) --- apps/immich/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/immich/docker-compose.yml b/apps/immich/docker-compose.yml index 79c9262a..20568fd1 100644 --- a/apps/immich/docker-compose.yml +++ b/apps/immich/docker-compose.yml @@ -93,7 +93,7 @@ services: immich-machine-learning: container_name: immich-machine-learning - image: altran1502/immich-machine-learning:v1.81.0 + image: altran1502/immich-machine-learning:v1.81.1 volumes: - ${ROOT_FOLDER_HOST}/media/data/images/immich:/usr/src/app/upload - ${APP_DATA_DIR}/data/immich-ml-cache:/cache From dc5403303f1f036ab73cd84b73253750052f88a4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 4 Oct 2023 19:23:55 +0000 Subject: [PATCH 116/263] chore(deps): update altran1502/immich-proxy docker tag to v1.81.1 (#1345) --- apps/immich/config.json | 4 ++-- apps/immich/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/immich/config.json b/apps/immich/config.json index 7ed0a481..515eaf2f 100644 --- a/apps/immich/config.json +++ b/apps/immich/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 8128, "id": "immich", - "tipi_version": 47, - "version": "1.81.0", + "tipi_version": 48, + "version": "1.81.1", "categories": [ "data", "photography" diff --git a/apps/immich/docker-compose.yml b/apps/immich/docker-compose.yml index 20568fd1..bcc93e60 100644 --- a/apps/immich/docker-compose.yml +++ b/apps/immich/docker-compose.yml @@ -3,7 +3,7 @@ version: "3.7" services: immich: container_name: immich - image: altran1502/immich-proxy:v1.81.0 + image: altran1502/immich-proxy:v1.81.1 ports: - ${APP_PORT}:8080 depends_on: From b354bd0543187a78f1a025150c133b9dc7414975 Mon Sep 17 00:00:00 2001 From: "imgbot[bot]" <31301654+imgbot[bot]@users.noreply.github.com> Date: Wed, 4 Oct 2023 23:41:10 +0200 Subject: [PATCH 117/263] [ImgBot] Optimize images (#1306) --- apps/baikal/metadata/logo.jpg | Bin 49842 -> 46276 bytes apps/changedetection/metadata/logo.jpg | Bin 27909 -> 27292 bytes apps/cloudflared/metadata/logo.jpg | Bin 30934 -> 28294 bytes apps/glances/metadata/logo.jpg | Bin 11841 -> 9572 bytes apps/jellyfin-vue/metadata/logo.jpg | Bin 88628 -> 86714 bytes apps/notemark/metadata/logo.jpg | Bin 17597 -> 15387 bytes apps/serge/metadata/logo.jpg | Bin 12497 -> 11934 bytes apps/speedtest-tracker/metadata/logo.jpg | Bin 31109 -> 27695 bytes 8 files changed, 0 insertions(+), 0 deletions(-) diff --git a/apps/baikal/metadata/logo.jpg b/apps/baikal/metadata/logo.jpg index 63e3f1b47a5d4612e3436a8037c82aa823cd80a3..c2d71378f852a1407d2b9c86331b36468ca92e6c 100644 GIT binary patch literal 46276 zcmdSAWmp}{6FzuwcM0z9?h@SHT@UWTEhGeYcM0z95JHeZ(BQ!>xH|+$_7J-_xxfAI zv)^`$hv}-fWO}-5dU|^LeEalm6@V%$DI*C00|NlSK!1R53ji?y1o$I89w9&k2@Uy3 zu+Y#@&~UKu@NlqjaPWvIi0}x=2yk#nXh_H?sHkYD@QCOb=%^SV9`!K@*rO)|BrM1g z6#)(bg#N#zZ`}YiSO|L19~c?{91RQt4eVPlfDlwkP_-WG`-`AqAfdn^V8P%(Y66e~ z4C>!n05muRBoqu7?6-LUA_T}86#^A>t!KHv-2XpcLUb-``b8xhWFGA?zd#j_$Z4mh0Q(XI%gQAN~6&;7&tp?aom*ZD3sG|2YJN&kL%g zy`qH!TyAE%@21ej^fK7<-TC}9&*3Wr{!iX3#xh0oiV+R(7k`>TGcM9Ntb<|AcYEGR z{~tVu>ua*Dyv+l_m46w5RSisQ-F-DE8UFY))-TP!N^ptFWTgv1;m*j|-zd+Wys#s9 z&{69)vGs58Zw9U@A#b?h{Nx`TLLvjd%G@`ltexZ^@DC0mB}rT5sGMR}?&%|rJb3V| zs%t~yYZ-IEqdfE3#+H_w@O^vmqx3%r%v8#|Bf)?Xq=HD&?A(6ec5e2Z?ZPff3%(M- zZ~b@-2V^yCZew#RjJMMo`9GpPLJAF8*udhP08nLyv$O~so>T)- z*EAlR0*24g-4=M?$X?Z9UjhI?XRrzD$g~{)-?a!FQIn2oe_I#Gk-p`*hwpYi5c&2P z6ch0Gek)GQ^)GzT=O&Kd8>kz~^}&6#yV~w=KBB_kN-4DFAMK z*K8mdbSp)o;d5LKc}Uwt%&RxEoq`+CF9`%^$vwl3M~qcLI@it_%n0stU(bwVR_p7~dR?;^IiW0f=uB>=$t*_IC| zpcJJU0Ks#C>zMNt0D+SWZ@&6y#jEDg#yEdtb_jqV+M<+TT+^p(`tJSb0T=tMawo=f zbMq;HSEl7!(#{DiRv&85{?UpI2(7u@1!9ozX^C;hOaNed1Gf~#1Vq*$=8-~p10v^pEtxCeXVn8f}3I6^~D!MWt^5FI5K}gbf?W4s%1QkKJ zk1pt11AwZh-iQ|%xF|@^Ao-~#|I87YZia{({5b)GTqKD6EYY$i0Ge}H_NCFgfPX^# z;=q?euYKEfa>2+3W_+l$dOH7Y1F^PYRqPzSanJ=`oOJTwFIn-+?Vl1c!b=NM>M?0=)vPAgb`A<71TkACWX5G4D&su_|Rql69WcL@}(c(aLBz~2DGFza%y_I_ai z7~Y(??FSUv{{#g*KK1G~cmQC0BQakF72bDsv3G&2SP)OX|AU$WLIB{!#Xd*Uq6&J( znD5b*YN7u(Oas|NhI3da0Ic;*;32Og900&-{buE`(|_WJElht);_`4AD71hM`q8{C zZx`6>lxAU;!}r*4#@9u z!HZ^wO9+W2r*(&ufHs1pZ#O3yDsccdm0O;9q{{#Re4R?4n~wK?ZVd=wVr#oT{r~_# zke7TDJGh$y21W36QLkCDwka1yUbjJx6te>Xucc&`w(Ya=+5C$5dZ+6n(Gy0CE0u`&g$VW8sQ!bsJ%jq zQ60ENeKZH#_In~SCR}xr zv;9Gx({^yDs@KhKTSL}z_nfGY-wL3Ufm2*Uq5s3_{3xMdqRs0Qz&lxH;K28$1xMZJ zR9~)rUBwdsnB3g4xs?KC`(MP6x}v|bDhomdVcu-bD$c_S5y?clTWJ#Api~R0P=4kj za<%&I6Taaf5c1?ukYfh=>(};AbycKs8a1@`^2cN8O!1&myR1Sjf#^q1{renxwM54$ zwj7}0*wF`J&ZUzuNh7YJIc0l(6yAvb~yp*W5H-rECLHo4a z3##+<<73-^zM|_WvaEg;OHdf_qNJ01#3=25pW~4?*BfjhBisRT2tCgLZ@Kj!*20;2f~QS~Gqh*ab2H;~M$+rB0^5 zt_(B=!Uvq<76BkyE=~4GK;GCHooZ26IEvVh7YY{U0iT!R6aZrXpkJdZ2>d<{#7hmF zm-mAzSyLc8HGvQAYtUN)(!I+kA95aTh3fv%F~ytrPl&c?{)hws5bU7iJ8y4Ri51j`O+qyP~t*Lj9G*U8iG!aoN}zS4?s0I|ugA5iM% zF7ulez8ZEjqlE<2$_lo8^|OO}3i_ke5iLKBY+c;2q<+>+N+uag+)tz+tXipixNZI8Ut9M<|ZS=TQV2C0EM`Z_fLX34d= zj(_?$4k)A4moi8w{bl!~WMkaaM?=2&4GI~}Tn@IRmy-Z^``h{%?f&T^EjA_v!cTwA zK9H^;(+8t2SAY3KX@2>9Z@Z-#3jnCZ&0!xJ+1UmB(vdEBVv>7}{t|zb{~AiZ1IVo~ zOt2=fC=jsuXDGaPjemhW4z1q+gkz6$K!_v6 zlsfKNBF$eqGyUEY%6pt&;*auQL&hV(W53$rkva9q3hi%Z#VuF-Uh4qQNjcH?NzHxK z{U#=9kLL%!6AT$Y6^3y3$8agMD(gf3#z3L#r!AIUe#D;3h4F7!5CgU(Dba^=9Pksn zihgs=aoh0fhwRt8@+{h|x~cxB7Q8v`O!{j#!%y)?f!oA|y{Odo6B9D*S|i;QX6N`R zGg>~2zVz4jIr$+&`H^hKMP>5*)cz>g?d%v^a$J815YeOLJzm2ptN}k{uuc6&j3aM{ zfTGnOKy?8@9cz8a58>w#+CD0%8RID6yGYE&sn6XpyY=(Q3c|o*8n*LyeQPLkzZ+m( z1SU&zIjw#dejP??Yns;mK7JQ(pBwZzgMo5Du;7;(0Co*8GbH!1)#OK8!G94MBFE=( z`mKLt%;$%j*9BJ}S+9OB;eK1V+nVry#Q?p$I&*{G)EMEO# z1XYWDn0Cb#L|4gVdf)!)ZRKrT>1|TsZBl`T)gOkSSN!bSYf#;uJ2!m;*x7xZAJrZ5 z^4bJ)5|oFm8@~I)7|dkST|^`I5A3(FQ*lsZ3|2OvF_zIug{?Z})YuJ|^UVZu_$S(oBuIOt~`7h~bSyS>Mb~f@a@P`P^`DD+g z;{LkpPpxC=8`Ej?Ke3+@Y!>%xES0c`U(!mAcV(^`I z{e^xPIU3A0r~h6R0bAPCtY7{H_`4^+dq7z$ED8SAP5=M~Je!5v#{W74o-UiM&1t}2 zDu|ryc|(KIvVR^*{}?!*m9-CEUh4jX{NTVk@~QgE34aeL|I))ob(ClfEB_1m!77#v zB+f?v2L?dbWi+NVI9>gDcRbp;dl{r{j%58FR{!zk>!_+dd*i41^dIOa2My$ASn(aa z3iw+C5tBXZZ!oU$Ke`vJG4CNkqjTjyZ48tBj&>m8f94Q`qrw95ypLb*U*`e2biBbT z>-r1+E^$qgjg{C2l|r(%i8?#JV{0{Kc(TfLf~3%bH^p?zsdaD0svt1ty0H*`^M>AMogpnTEX%8SIaWLWO|xHq|Nkr>Ki#mP0sv6o zKPdhBLId{rX$AnT3`4?#hW->40~3pt!x)>CjGT=#AQtq!2KM{c9Pn>|PaksIa-~b5 z;4?AKXHTz_?)^5O6MIPp_<~({;jv4Jqs*v?Sc1QT$e&PV_#ne>6N4T~(nt^cPF8bS znbw_Y!M|i4cO%>$b_AaG>FZVA2#c-Et`@~;u_DLGw4PR1Bs1NH(-fP)y!IE$i6oT7 z6B!%^bDzXXW(VEhwNJc>bQ!uxy>TN{rJ-2N)(*g-Am#fQkoa68G8j4A_m!#=nD}Ve zH-IPr15sa@6WOKcb@`m`o1~HtC59dqs=gV)dyQHbI3+bU1jgVTBv4hWRi{{Kz~rWVXjgV1o6t?=028g+6r0Dv`DgTb@)dQf`fHEwnpOd;=6IF3Cd~lu`kcB*=23 z(agi!=!(oW=6F&GgB1ZUHTCRY2}!)`w0USW4mxUKr-^PJytJ(%pP|-Z#1&BxpP{Ch zzO#9Uu;gT+Lg<*ZH>)pIp;)HN_A))JLgAW^m}vFW!OL>}OdI12!X|XTYo@uoaJqRj zHyi!KUi+rYC4RedOQUfuQ(yLLOpS*3dsD3op$qo=ZSHfLqi^%7dasR2uk_os638-WE+xm z@ofw^LE-lGlBcpP6JsO=Yn%8Ak`7b06|)SR67wkp(`@4zS>9q|VIp~Gepny3@=!Pw zommnl?>gyTLFOYdoWUy+sWePkjL3Wgv^TBGgXu?giagP4IC*GBsmdF{L!N4KE%SEC zZ8)2GfppH*0D0@6fam^+!&_v*em;W3ieGhZqI7rg<>ZhqB=_+AM~ux@4(kQu@m(1E zrajWTD#H5D7;FOz9|B0*K4{Igf_mKIP?4S0!Xx7!jv45;pJ5kooR1hO1I6?3aa4$+ z>AcM*HgS{3)09M+{(T5HBBT^GJhy#op``D9@r)%2_?(%Knl4cHwe;a*T?})< z$$?$z*xcEh!EghGaT;x%HL*ujpYd}O)CJv$jOOjT%8bjjuU=u!pY#rtV~|V_GV6Iu zzpqcSWiFnG94=7LqXOEF3FABT+oC>)-e|y8Qo9pfjbSyTh_-4+w!eM-8s}ZprRyfP zLScbMa_pMFh{6#k=pMZH_7eVN2mN~NIwRbTh5W#d7V?b1y2MqzaeFd5dM&{dZM@t@ zW2Zdy(7X+A%D+*hT7i>j$P>(cJ`dS(fwx3>MoyzMN0B}>a3QK$4NNN@-DDX5W*53H@`k8U;ha}`n-!e^?-^_bR(TIO$qZxWVozHC z{j;zapUjM5DS<<_i{*Mp>8&Cg{s`wv3kG4bJs-OH=ELcEG~Z23<1=>e4k9irJ)xV0 zsFE_r!rL%YgZy-^_e3leYEICWWZ|VKn~+XNQ{=+Y?sB+N5qbV~06ZSED~;6>x^diV zdry4N4rar~82e{S$dnnnPd!ozl(&yv<4PbK?@bujp>eT`dU!ttXDC60;$2ZnEzp1rL$v zSBDKhj%#qc$&R7~35l>X7<8n96ESFvbE2ut$A8c@V|_wFpj1S*Au6S+L#f&;F&h!6NyJ# z*?vaPNj|e#_EDr#B-^O4$b6-I0VUOG`~@b%sfc7712UEHI#uXx1fpTVwp92| z>1cFk7JftlILJuf7XF1(587`!tWc{R=V|HRyEGF z1&=lyba`l7N$`K#)>507LUAm8n41d{Y{KzOdQ&{N@WM_+-V~P-Ouarn!e`7GHR7(4 z-9Zz22R1aC4EH&3%fZh-Z2hTt-keLT7{^2Zpj-G0xAbJU)AaRm^&PtK0t1HL{OZJg zT*zZqy5sex_p$HghZmFPan*3(QL+&FadwJV(CjJ}jy?{E311^5#CmE<$gq&A;Av`Ee1UfAt~HAhGck#~l#D8a zym>`+dsmH8r^@=HrOX||KX$=k;QkwkXJsU#uniPfixSwAl zhVQPAq2!n_<=cpKGs(PQ4aoiC_ysmB{t0ywDbWDnHgBN z$D`#lp{kQ3ALNERG$Wr8tdzz{pkra8g)EJEvomE6x zC9d`z1_>Fu*lhsUE)zWO|dz|@+Q_#&t9qp#MX6xpEZNFM+t*{ z11z(ns<4W|1y8-6g3H&iu{m>^_;6g~iH?L*TF)&}{!YpItSRSHSjcFU9Swe4TFqg(s>-G%_Rw*IBD-cl2D}02ALpZ%R9@=C(5QdUSy2GWU%L5EytB zIIdXkZoA_v(tJrcm#6Tsr$UAtL8b9mj^5MPp9GjsIYN@&iE8UulSDQdRTFdEQwV5e z@_|=OfGtR;7czuit15fPWaTRtC`h^*A?^s5=y+H)Es4g(d+vbQiHRfeys!1xl<`wf zl{`!4;rIs76x6<)lkrmx2;Ai1k#Jj|-nK`5)fD>*0kFe*>21XF#;R6V&G}4lbwa4H zkKN`qRxpRDkRf?pbi)S1>XHnMNc)*@S-GTqfV1x_f?{Ul^ZK%RIdc}aPBq#_Bi4=w z{)+vb@wywGmn>w;So@^!Y1vC1*@s^6h>7%9qn#Y*eJq+%t~DW!-<)Vk%g-cWv!8H5 zUeVksNH6b^vvXV4%LaS{D5brX$fC2PdX+)d-}gn5PoeBUzc{%{RmkM6qbbdji&p3=>3c7wL6P=6KDZBVgN zv!T(hi5ZyoFQcFkAI9((-+3_9y+F?4FOO6ZaU)1^-90?-FB=pWYlq(ju9=2><{(w1 zAqAhX*0Pxg=8B6iAAbWFRV6HPWcv*y>vHkb@GBsW!kT#rwuJQS9-Js zLvk`ce9B~h*XoQD9aF49zDk_jsU3<<_{OY!MtDHOp(@PAFOS4;_ZxtDR^|xTerw6A z#dWPMH*VIAZ2wgo(bl2PUSGvgQyk|q?NF*6b<=q}kf=gU`h{t>;H+I;bmxIcx0{4i z#X_GA?G>}NxjQ;dpIN%tT{Xsn|Gb!1XyS8EJNmj~K2gnESBX*dz}YRv)4C{uh20+O zr_trNtsRAF?F1OvC%vx3jO2cak+0mrF2&v)Q=dVpm+!*KcT*UhL=jJKR!d|~y?+Kn zPwZcQf#~0EO>97B__>=JVEx{=>1zBYBrhrWEIh`DuUGD4Sr1Txx-1rJf-+lP*Xezx z)DVzzGL<*?F32c%<8p39sX$>AuR(vc*Mq1s{hco6d^k1(xv+*c^*pnWT+h)*XKOxw zX!df2%waoUf!0oJQcV=?QqC$gG$Rj~0mYn%-KDB<6_svHp_fURnG_oZWi8^O4~v$J zeEy`{D^;=1C+E;N+HSgnW?Qy)G4py?S1`2XNi!T*QCR_&bNa0x3S><(h9Y*9^AMWcvo7 z9D|tKY)-2gdPDjFd?tq=-x)!y?(%QcgVyLRu#1a0j>(ds-&tj^iiC{0C~y%Hgv39y_)>sp9!Uws3-JH}lv?eekfVl>?Mt-8G z+Zedd&1JUmLJ@rZk`#r9+3B#Gp~(T-uI!uXMGsF<-No(L*2a2a&jdf6H?-k@TEjP^ zd)hR@>+3lgx>CQI89E5HRJ11V6@x`_`qoN>8!a*7PNF}GKlq9_u+sD`RiNhy?*!DV z-afAGQ`)Dt0^X;%rh2c4OAheQ8Koi{nM8@FxCj?*K6mS;nZ$&V94%$hCD6Is1cABO zQ)^^MZ_HTb*rc_%P$!h{I{?dBg@)K2MO*p4HaVA1@xHSlK_baP<=U1F?@}8RP6Tj* zK5a)f22W^KB)WC)4TZmV9IoWi)pq9TyAbUOLr^qibTsCtR~_pXIj#41Eww9cb=D2( z$ddy0SP59~cOW)yK9@OdXCKH~E37F0A{Df#lRy_5=vIIrBLmSiyh~y%HiY~1*8XAk zctdk~bugJDu9Lpercc`PI5?=+v_W1;%UiNzV^89+OY-+VClRE|Egm zr|RumzUJ3Bm)p|W*fgTKRFG?Ah>U8uy+Gpt!YI6LdRX*6yniEHVW(+XDm*m(WwiIS zd=iYA?W-#6H0T@3rplaZK7sqtOS@wVoto4Ac&Eaq9p&LmP9C-e*OJrnd^#6>?6{*6 zj5*JFNtcpg$R570s^y$0*UtN5z7(a)azyLy{E;)uwiBcT0@S9Z{1zW z8A{XCWVAcaE8+!s&Z+$JkY*YR4z|#c&tFbaWbe^ZLiZtuf^oy+SWYm~@U^Dd3XMTe z>Y{Tw*N)F5_k>#y8-Mbtk7NhON@U5D0oZI&p?>{fR`qnK z??bm{!t?v*u%Vh{lP|x3hZs=1iM^EZH(JhNW(p!LD~pj1jcCP%R{Kl~2ZjWmiQ@|S zW%8czU^1a2uuXhpSU(Ysq?o)k*%dbe@T6Yr;w?efzUI|qZS6feD0CM zYKW_9hVMQUZg&j1&|nFl-sNr??2nny{+wMu_e~z85NqxYe)JKgzPT_5kZ#i9wZjpo zqd70VYRqH)J%3s<`~rTXRkmVEsKe&-fCKQA5Jg~v!}`=GX3H1MnYKdUYj0Dl8KA^C zzABe<#$0W~hY!9aa*c=z)Mz>+7#5=qvzD($4@wLV(I+1?@tm;x$_D!ai4E9iU2m{( zGyR@~lacYh7wN7IN-`8GM0*ga?P%$JDwzOe5V2-vXr=$RmspxR=3m(?Sa zKgLAb$G64)9KBGkW=Y+p??a3G=E=fvZw*NuY;4{FQ-?{ctX}Zg zE@4O9F^Egx-KM4)CfbR)oY^j|vMl}cNQheW&P%B_cKHCm+?{?GkF3Qd7h_KL9%6Kn zrFL!&D)obDcXAz?MGNOIC6Mi)6dDH-(kfpPu-7{R#qEjB2MWX8zzn?SO zt^G+l8sI7uc9gqL&DLIcxBB_mCIIRA<+erqOi|5dh);B&^e1j(A_f6wLN0iuPuGEn z5hIi?Glj})!R@07qncL`b&U-76od=sZgN0{q3}e(O>}-He39+qI>~LsrDuU?i{2%7 z$f7MeuG+6BKA8*@Logz!Ta(3eQ(N3E@{F!cj}Ggoi{n?4=*mhHHd*WTHyo~FD~m6++WWI!fkA*KNrq8Nrm@sZ3f zV}r!cn28@=Zz8QW9urv7Ugqa&&ZtjK+bFkcqLq#0ZVk3{n^Hx-*0q1gTUvrABP=Nz zQlgqlSELK9nQ4a@RE*3Yvxg=53 z^_+Q=B+BS&B#AJIjsq0PO4IExk|tdYuvhgmc;J1ALFvC)h#08;C0;K z1d~v^HNL8mV-jo!Y3`zLlPaAKF4V(X9hYt2NcRvq`SbQB#Sza^C{?3pN!T4|xrV+? z6X0SHjBgTM8ZySJMk9nwSke1qs}pk;{14_d)703CRBQdVbtpVtQ_~3Am{0KtXYKN* z>A;=`7gG1nwDGEF3L_nw?OBy2u;3&nEc=$CX|1p2;RhL{%Jum{DW>hLB;x?f6H51F=@HPGZ}#A%oc_s0`p zx4tz!Z%a1J?yfjt>9RAH)jB#@TvUj3(iR^sBwgUuZu2#Q$5tshoxkazGUF!1BC`-g z(Tq;a+zCAGb&}KZm*?;atPM<1e)-RX7`JW~eRuTK74PMtc9aB&PEXV{}#hxqGMVgXWX!KsR;|}@OC%9!LEXjq| z+BacBTn@YD0gN0K7;2o6^hzxm3EL~Z!J#f_pF3wbCXDbF-{Z0(ZC+Z+g_*E2R0f$U zlN;Ium?(d&tgEn=#tV_FJdd%o{iG{UXtqaekZDuOa|Ih?;d=ID)xV|9{4z*vI9s&S z)NNS++3JM}E2~0Hg{(5(m|XgBMpDm{#UnfgGBSd2HzhuMm5piZ*?B}C{^Db_b&lJM zwtps0>2wkB-d0H{uQ1juCMPnT5p!GCYT%WM;WK*Id?A+b?`}h-i;c784ziUCs?4Wm z2!vKVKYD9;n@AKH4Zz`@+VSS))g%d=-#&#fdhph;&bhOB6OD5Q&0cVeY$M0*qJq|q zFyS1dV~v8ks3x+dP%22(T$2K{(YcWp;&L3pVol;?>=s53BZBadspJgrGA2dY;}3q& z-!#afQ{9F>UZW@0GRi`2Xp3#Y7uiKSD5Ju9uM#Cgu04W|je)`lgu4|1J-~OdlI!jS zYn&{T5_k3pefXW9HM-Q&=~i2YzRCY;REXNp5?hb~av!F`qkWGSMn|qPe9(~UJ~6>c zq0QeWXj+Mb-TgG;ZhmfVQ!-0z2bs$rCVxgVet7zGzCv3Ub?=sy zq+l5-qMijBgid`vqqRMyEf<)~gSEOw%}2>zAg@yFj;hZ2StEodIxG=t6?m~Vj5gAtmq#{K(>=lorO>@Qu_>%9k-R+m%>lyD}J5+W06{@jIO<( z*3OX38_V!C-FaTvk8D@jNer11gGsjV?UJ&xgORSVfd#))F!xD2y$Tv zA`L{qe$)x4WIN38O7sDvQ&Ur*M^B^9*mIXLuA zY`RT=pm%w<3D%4}bZkyyX83>B5omh#(8S<^g4~I0>MNNPvT6AQ(4j38`dCVRxEOp& zho%*A-=?a~;}N6IN=S8+FT3&eJ>gH`j=I=y1`<@N7JUQsHrEi-@f)lr+*qkhagXnv z-QHsd9CF>Nk~Juh3HQD`Xy2DIawl2i%gdj!9|=<3Kk9@Crl=$Sgl~ zcU=W*7tNxx6^v4LN1`$<7s0+SAJcVGy_ElGex|yo>q4SuO!2JDXjB1MH$C=>j(>yh zP&mCNd#0YV0zDk`7rs|>-P{o-ml3>N(WrA$Sv{YNmvG)#^FGUvTb;JXjxlVvYA{}A zwS+7v`9!mx@DgA0jZmGXrU4uj0(M}9TZ|^5I3rYjMgScbJgv1gRKc<$dy6AqRex4& ztp#|k_vNfaZax=4-42t2gGDWdc9A>l(|L~~*ub-;xfwwtDf}*Oe96qI#H0);%mR)~ z?5Khb{@`x_2Cv;>9`-@($ov_@Hrj+2-T6y%3+;+l_DTHqsln`d5zah3NYTr0b=mjS zmF+R#$zA7dTAiH>#TOt=Rh`nUgObOEWYLw9tL7tBftmb$Hlqj^io2 z&1K|`-l7xa859hvfS2rG{SntSP7fR>-2G`m{_7>Z)Is!i;2&;{w*Q8SobYWfo2 zUB*o7oIF3C5!SGL_YLq?8#|xkI%bOU?a)J)Um+e8%G-8DzThBDYh>N1;#f_BhGi`# z)aIpUY5EjAO}9v-*bzI&+7cBx%c%~)lvb>x{Fw+wV^)^Syz>@BNDMW#kM%s~yac2f zDvicls7X-a#f!HQB29wi7$_s{tiw*b>0Wl}xf3{z=oN(BV36uQ$>%#MSUO>8mv46! z;r3F~T=c(?8M?JbLc=Vkm5VTZ(d$#*2zOo9sn$k95|^DtGn=sL2t2m^&80HLEiNsIaoUcCAL?*yVE5hNIiE0d! zs>(BSbRQIrkrwb;2t@0fNUI`Y^0-XGCmXCG@uVnYXTIrbphj}1`SJ~*&jmDio+!qp zXWch!LL&=>&Qm6;N%I;-$G#ll(-43b!(u z;fR=LYuL^f!xV3XCyrZEokN9_-EL*t96fn*JIhImh)xK$fr@VX3DE9RaL*7N-=2|b z4@P#w+KpS2%w|kYsKAtm4MWe>K+{Y=CvBls{4)=3Z&r@S%=JQPX8p1E+?}M}L7R@Y zcJLx{0i)n$xu}`(5=PppCAumW`iM}hdwd37 zA#J36v@EsAxPf8~R3Y2$)NnESqOJ~H|;d2`mmYr2w~S=i(K zeFQ(YRKn{q_9pXN{1M(dZKEii%|m_q^EY%eb04#?tt%r6`6tTf*^+FcOPb~r`H}8u zJ1sf%G&;4oEBdflm0;8x)G?U+`Ol>1YO=81@FlU{m{((wt2d_X%6h~z<2}X19G5OB zpfTWBs@HHgM&TTJ>*Q7MT*cbQ+sQ5Roz6)xKHVyM6KGW4q+lp zc*nf(z~Q5|@W5Ts2>C{A(MGebY+dcGW!XX3_#u>GD*r@8%NNB$f!xv{HGcywLYbQr z_<&LNT}SFMXcMg^m7C*25z~_?&C0y+7=H-4c@lcJ>v5)x!I0uCpEoe8px0y?jxasR z+m_>%yo?;gFKC%OchToL@6!5p26`JNEF^J{`QD_%x1h_tWlAVfprH)H*a);}^-K3$ z9Hh!&M>afcx0JV6an^}`>Glw)f&1Pkimyl$I~BAX3Xk8Ekb+yB4Fy^)qrKU~POqv} z62NC%s9HR4J9t^hKVwtPdbZR^*l{>UfIzA4EHlLjgfA4pWN6BL z4Xdpy8nVF=l}{(VT#x3pzs!fAgHz};&3+5?-SFy-*r(;-XDJer=WWe6q|o|9RIBaJlf1afSa zHyRfo?Rj(7lx9OL=*}@ui*@PXQpm?p(GyhA6TpF3$Fn2DaOPSa=;}6}?y^DZS$s2E zg|zEKouzKes0(3k+>$(b;;yrt*1{=LU($K9W*C_XZXX2TKj`k*;vUW#yr7Y}| zB#Z>IjPY*Jh7$7>x%92vasv4NU`j5Tj);gdIom_`b@a~MeB=Q z3wzAwT}KQAXGQ$M9lIoN^(?k&<+)e)-ZEaZlqWc$re4K00~gF=9HY3YsaY;&5CJ;} zjerLf=OW#~@-U^IA`9m&7nbRgARiHFv61!xPg}31)?t1dQlVi@qD-%YF*%y@n1UES z^Rt&lm{O`?{RynNQUy+ucNM z?Oz-*kX6TKMq;#?rzyGK2Wro;p_*(BF<}xd*~M266=cy_i!jjS5ZVRuTZX*2(XIHr zvu~HA(MY{fsB6>KCy?DVW@b9AXnEpRvj>mjsf%DktEFRJ7ELRRL^q>crZyv8+w4IQ zyjjY8-?Kj>L-)B`W}=ePFqOPtD^q6Zt3jK`qAo-jt-8>-2@s}Sw8;jZu%S4~uaCw< z&>(}+OHad`yAsa6j=7k1MwadlP8f-F`d~pd#AJG?#^Q;SC@N}3=}H5oyX-tQ`Se^k zooP05oHgA+E0K3WLB*21tQ?%V+FP(*%HAb)d6rVQB|(k&YSn}S-NB1OLG@Qf1NKjH z;4Sp!^LB$?E0pcEWpGNc1H2{}IiZA=AWCE7ziJ6(%6t%ENsqQtrsWV6lZADr6O4}I z%4?od%FdINyuPn;E;bKb|KgSVGC^#LBX7f6<%q+LrXq>xK_D^YjQ?tfn&MSgN4Ax! zEYh^=8691U3?F;MTyAy0JeW#u7%yO@a`6josknShB;Vki#`MLE=`pJk9>-X%(ZEGT zP4l!H8Y5Mh$>}a35T$5u-9pCYW{Xdc{!>oQWxo6!)_sf&qb2Q%S}Lr4LqkRhAuHA> zmEHW8v^&vwRjaD#!7J+R2dhb;zUSoQtaP9IX~Mj)KlQUu3o|Ts<*l2Fya#<(4*!?Y zM|P%-`R#P%sY%a2uivHB{>n6zE+nqL*aE?)3;@aBSL ztksY`6FiM3VLhG^73yZ{8Lx9tQ`2o9k18O{byh0P+6QQ|*w^P7m3}YzZt_kZPHOs2 zo@z8z@HLlONNT7;{EOid@j%#zn#5PDaYdF02_{}eSU?Uh1yW5}&|aw5nzkFH&@!iY zX2v@Y#fSKmHxc2d_?$PvU~)1rUE}Y)&*~=l_xq*!uKh^D!=DZrC}mL?OV2(@1XG~Y zHmkC5ZP<)%%85>q#oL#CQZtFn!Wp-%z(Z)f?yx)8?MtYgE-Jx3IUQ1Bv)He)IgJtu z4%)m4ST!c}Lfc6Ls5(uWzBT9j|fpJ7g51H7-xqqxh1F>i$Nd^YPRCVbR z?sZL<6e(^<$f}GMskV66Nk09gql;9>`8aw!EFg!9?OHi}`-y2tZKP=t{mEi=H=VB} zYox(BChRObYg= z#-=W>$DvWhp1q9ETRS=BP^;^vR5x>7$HER24~R{i__;3}S{Sr1e3@e&XnUo`r-?ea zA6tYfDp=@CyNNsRk9ih(C=Bl<>7Elrg&?~HUwpC>s#>>}1+b(MiqZfUGUuu~GBWy% zaCbK|jGEIRI32#s4Axu^-Wz&R1gJ0^J;GN*`=y|p6w>xM%~dm|D@Npz?aJpl9-5f&@`I2ifT%M?|1aAd_l`tkqOe28@av_Uulmd$J6=Yg2#xq9tA{=y-+##tl#3xKM4eG}8(Y~ym1u{aK?lJWt!#AqPx3DDafSVa%Z;JYyx$XMSV+45pBv>e&1r*oNlNZw}z z5AjfIW>(d9@>*}<)$&cx$zP(9;WrsV2-1ewNJMRAlU{Fi|a<@Qk> z+goMkp~?3NS^en|uOh6P_AO*#h&3b^-^X*Wvx1MCUQFl-kiV+RlrZG-x08^RkVM-g zBI~_ZK!bu@Qm3XJ&97LtaG-_o@n|_$adNK2UX--=-5}PA%E*3Ds8FCo=g@;63@ic< zeP@eO%|+Jv?A^^e#uI#sV~C=dF7~lioPNK!=u!u%~HxhV9G_uwPXfb@m5nS5Hs}tZ_FJFEVdF z^s#FkjFI*EyQOTf)MspG@Ar&Pu$NG+U7j1(wibdK@zO#^+a z%C3_O5jwvFO0fQREDR1@u~j{G$fC71@@EPl?{VPVywJuMJU!Ps2b%2tD>8ye;H#GK zH8x7k$@dQJ;a7O&%hn;t``ZsvD6XY6G*miQs4y9dOj|W|p3~-)dGn4`q=9=?X8#v= zZyi;~lJ?;gp2RY8U!_E(mLpf5?WVlO#unjFxtgV22Kc=)6IvG*y`oEroCxpp!H62 zvV%L+w%g71tVpvrtuP>=!L>O&s3zWDyn}!@)vL(^(v!_%c;Pry)24`b2Zl zI2oPMUVDx&4QCC9DUNiiFC(*ykM)MP)1Hz#djiPpAAp%QLvx0SwY*XQAG}r;GvNuC zf1!}@roI_fKfEbefAF5lrPrg%X;PbSwPkfn;8eN+Vo{!nf}*un1$HH_OLux&+MehV zshrV{iI_poI;w?=hRCYt6MPLVmGOqWeUd7Io3O;_ZH2Q^liZF0PC8*xChQHs!^)z^ zKdJ5`7{R%#JYQWzOd#3!DF9IXI~5kd(MV^6k(x^E9(^<`4j zV2Sut<0BP;bt^38V%QbkOb;7GPNsC!WT=elK`NN)sK<2Bu=9-^Wt1qox)030$L6N> zv|kjMW@lzj3)cno1j%fIREJ07(oMsiW`c{;gGFkUh(uHs#2bon$t^c0KgSDNygF<{ zXp9M6D&k~m*4NhVN((-FeHl_tB+bmHWdGs5@wHexVsl0MYjd$s$7mq9wQ6*JMWT~9 z&BK)Y)^wz1NF^+ufsuJA)9x~kWu7T24`Y!^4;dBK7RP~Q6?PmM5+Z|%98)}-OV4)z zt3c&S@Vk9!x}G_I#BydfNgPMpuxiyxSVHWnVpB8>`14e!YFz}`80bK3mI53(JpOgB zBDHqoz$aVMJRgXr)v1RQa+0v{I{+dZB>wwG|1iX$sQBPPz_C4BPqjJ@+|tS6?N zrYBFZ&O0HX!NS9Ug6G6aC|#mFDGGngqfS9xIWMSxN9U!L`t}7)hU`^N=kvZ2^nPdi z$mhZ_PxxFW`cV@5xfSWP96A5sA)4M9A46>&jk|buzY!}GC*zTY5J~$lWljWFIYHDA z(DH8(hi2Q_2H$rqEk>d5W5o>Bs@_Dz!-t3X2H=Md%^aiOO!a+GjT;Gmd#AS8h$URA z$Q>20lz%_I`W@gz4dGDJaVnF%J_H|R4|y_eOr^UMKaVVv92cd0%bu7lqvL_d@`3dt>F zFInxHHRser#z((VdCsV>+GO!r@Hp}HUS+_T$j@-$OVECG;sqlRS{6~l9o~$E9Hfc- z@kk5f<0ns^9z!Vcye@rNF~dYG^|ai(B-5Pn{hS%Yk6lih6-BsV*~N~o@>VqRRb3w) z9F6+q$*l8CB`*dAQWqH~6`|lT-nKm>Q)~h+F(w2gwN3Rzrwe@K22@mL1t!f0)IOS~ zP^;+l^htzA3RUq@d(vSt$m9>~VREpMlJW%W4BlDB=1tMReNV-xPFGpir2d={3Zn~|Epx;<#M7y%Z0Aw(ri z`hXYa3;c>}dLywhY_B)&wg0q^x^2$*Gz=%Y#C~V06pEqpAey8Dn*b>(5J%8RE1D-ya;CGrtm|fgTB|M|mBP z*LKd^Lm=-YbOv|QW>u5+0{EJr-o?$Ig5gwUbZ=Jq@$E;NJD9||-Or#Byl)(9M~cQ= z0~DMK%ot73Tzs&CNl)C@#Ks zG0kWgErrWCt1#ap@c7_{PeVyecSdJnu#{Ok2yYuh6R)9!-cMnvoXiVL*;IrS>p-Kb zAmAH>YF$Fj+F}dmV^Z6Dj*&jmV2Pnw7mFG*!i?YWg&ywcY{lH1z=M?@l&x}(eu~91 z1pq>I*266;b#k3ink56iQm%cm*bh!((rko4ebHGOZHM>v8M@ef)suPke3aA~1!@XQ z{oY$VbSRz}c!c>qy$I@-5UH{Z>76CYS#`4A zlPK>s5s$0j^SItcv&%^`wabP5nj-kX>J&soDqYY=4LLKx962z@>dy5Hj)MEtNov-6GMTV+s zvoo0-lMBY-B*noLY-jPCyb0dGv`; zLmJ6E+^O1tzD=|JnDA0UgFdG(9YZdVx|>uZktt3#R?C$MS+0$PMOzJNz(vXe0fmRR z_gp8)%9f{^A_v?&GnCW0O|6bT4=GupiZ}Ebx1d*&kHD&ulV)--7psC|<%amZ&8K{Y z5=bP%A!(|*Mf)o(Zc;-24fn==K{OobQ~QEVa&!~hcnnoWV)~G*BeCWr95g_=a)MO% z+qO(iq@)AbT z#}>HOlW=fPf%z6x2^d^!1pJHccVj|=eSs1TMN-h?R0Vh_tjnYcx&>}h37y(IiVH|1 zq}{JiW40e^%#x+O$JdzB^5s6(WKm7J(mp{~A=db$J(Go&P`LIRqx zOuh{etAQU@yxfp()mn(jq+!_(tZ=Iibq>miDW5g4_kR;b?yR;nSsAq+Cy~ z(QDN1=2E=*chgta*}#4Qw2L0cId`mW%DSb~`hK)L<2_CI7cTG2*cszSqMyaFE zHlDjJ#(4E^sZ+VXDgaH@g7HP}TPWeIm#HmrgP*FFamQ6+$UKzO71Vo=^Um=SZ6X3= zgM$KHJt(O%S>I`8natm)BNMZ}FcHSr+t~OHz~XtE^{CMi6#jBfxi6FXomK^K-bGF2 z^mHW3ym+dQDes&&+8W6>PRLGQCpOmHQ4b#vH9CXqT$-+K(NUdNCKH#>zTSZreg0wh zs=z`Hz~{7?sml+X zK&pAiXu{|Ic_W+V+U2!BS`U=8GTX7SoR>a__~?$DnDg_3+h0W*P3LS@=J0rGv?l$d zD1-z{%)qC*WuXn(fq?j3$GY?obbQavB7^J2oapH-Ls9liz{mF-0WL1DErlut+q}v5 z`>n=DJWV}30n#&(Q#r}^J=gbus8XULan`Glqf4+CTKr0ZR=wtOo&27F=yei^oUT|) zq&(#o(M-|f@k7)P;YdQ~la>gfP0&TG9$2yC12?Bz4o?S>cnSd%A-@*O^S&T zb2p#ifd!QWsbtA4U7~wq|8#B^^*rB6b2Uqvq&UmU;yu#>Jg~%oB|kE0uBhVb*7EKV zr@gljZx(>M+cWv^(I)9hj2$9qjfQr7ImbUqSxCK-2_n#lPY?7lUW>$?c8qcAm8BgP zTW=6hEwG(?f)Ra(|`&%0JaMy!`Woq#PRrZQ&ZCq7qx}UenR00L4K8 zXfR@z(kD~{Crvfl#(WJMt+ot4kWmegoQ4q6!2xSN0>m%xDmlu}2BQ)E#sP~{`eL1B z>W&spfxdLA(Rh1}ou22kx>Dx%P=*EZnbsPiU@-A)A2iD1SRC%2G)^MliRLeBrpLsM zTUBiaQL|=Ch%C)igvkxE!;B8u*oJKu25^2PkIfP*Wm!|C#2nM3ZD~nxcy(bt+7OTI zAVxZ_rp&~~Z|E&U}^lVkyG@qK=$R5kO>PY;f6}6FGe_6?Q!0C@q$QV&UGhc&2 z!GI>e{_*?qW*UtYz$&V0Lc*c~dL5l3QrS6ix@L@e_V1|`gh{^x4lP6ju}BxXpa~D= zEjt*5a5D9YgdC-!d*qj@IFnBFNg?C_Ua5&6MawW88+2400=`-5a{!+-rV(-fuTo14mFEmx51XrhcBetb_kp1 zcgaxwy?U1gLTLEvFe#uU%A+z^t~Bz{(1K)#CjC>BD6Oc7XWAbXFsBm^&25am=Mb(O zJWb9xNXc|gz*0yahe0DPF4174qi(GmXzcW!`1cNm)#!`^U)VgAU2DQUBkhs_DD@$w zXpFqvpIx4%r3SwlY7uYme?C{rX^*^x{CGe4jRn@y>KPU`CMW6SMsTU&l+q7Dol%4Y4Jje9h&ursrfRzjX`QJN%%f2>LK z7Z$RL19|azlc-ayN=?a?dY7#xiMY0RV+C=uZj;VJN76-X2FQ|q*HMZVEds-7FvS;T zpbq9UMMia|p^FBIt>q`dvP)H1F#-47Xe>iyZQE2Jn0rID6ynDWly>Y)^IlKH3utoF za4U^{Pq!MmE^f-vZO1`Bdg530O#G5* z65L-6=&l@$oy;j+(yO1w9HdHhC5~7SnbkKooO{4P{Eni=2(v)gCZ`k!6 z919Rpo_5iPAjC10SRuG0OY^vN<)G0~=D_k(-#nz!p<~zvLBV{!sUgE`yR$D=_XQ5a z9M%J}DQy|JXK|2F+DGTb3Lx&Wp@Q>GQhQln-cbhV9KRp#y}lch3;*J>;bdk%@$g6% zEs@J_Y7i(OAGA@PZjIgVxi%T3*yR_dNZ9y1X3rMRFXDmSB0iP;M%(n=#Kd>N$zeB| zWr3z$CoAF29$Axg=h(Hr!)LM)pkXpbir;i3EBClu{6MDDUIQ)dldw=dE*b~PQ_(Y3 zw}^3@lhZ=BaYLFk2HSx~zKZJY^u>p#S1@~bPm8g#uZfToHlP7XNbjf#uLm?kSLEqh z-UAKu8pkbH@oQ>@M!FBu`uPt*^J;n9!fk2xhBDakrt`fV9dIe$9ON!G$L;Lv2urm- ztHnI6vOq?BJv$jLHpo+xBr_6^TUl^ToaZek5L8Vu@VmgzX{8_yc8;hT73;7MUzYjncG zdCgQnlx;x2o9zGqXkZ{jNXR9Cq9?=QxO=sVB3-K=iQ+=3 zgF~1DB0e|pU3m$;$7DioRUS*6(y+A3aLqxADWb{TtD_%rq7=Y_JtKls8rMNYruOB@ z0epslRX<%o%@^17?afEq744LlB_9v$!i2SEIn04g_~e>{>?UQ0V!r@4j&I9((8Jfr zjl*i`>RdR~P$!vYWV;R%XXcSiH)?z(PgLL!!OHyYTZ?#UoV^3~t03z)rD5i}wcE!e zZd}}rzGd4e8kGw=BJAi-9a6sPuf!=W?TRp^H57HHZx-@a92WqTZ|yX0S>Y0~0-=w__7_v&`6MBo@HK z4rV<7Zip!YvkffKj_R_j=dZWfIfYCV@!QvQpKqQXWBT)IR2hpK$LFZwTd?`UTd6gS1hE_vHnAH(N>>MN)=F#W`>BO~|JTiS3z+wFz z5b)~OXeFaa@*CLXxT)SmzxJBVz&7|YfbogloVEKJoud# zIEC8+5gp_4)->AmyqYfXy}vm$mNL5btkoce2fxLA*k??hUS{g}X@==asU~U{-BBW- zhH;N#veFz7P5g~V4NSh|1gp8fruTzEQqw4SeI=}7&v1p6c(~fRo1)kkc}$yJ7pL^K z*%>KBiFyB{zzIyQ{$>$(2}2BQ8A%}3 z9;RZJxEQ^%iWhNw^~e+NEIyfkMqpaS2R#PBY@bXDbI*cJ+vMP>J24 zEGYmaNk&N)w!ehaOXf5?TtH&kO=_yMhUT6+l`dR2WfS#>yS0a?C^w-$wzV{m)8vY& zOCEG#JGtllg29QpfTYQ;3Ncon9fck<_>j3M&OnZ@@_0=GEN3zN(lo^;`!S=(S#%QW zOh6RWm!}{56u(nql#k7N0C-2BRkaPUhNbS%I0L{x0jlRQopx^MON+9FrLAKIDGtnW zSWFQ5O)5iV71TF$K377X!g4|9bmDT_n!0dFqEep5^pMV0Q_(k-I@wR{qwDnU4Lp7a zEcgI2Wm(?T;&_YimrN`SL7Z~;MwL8Xn+Y-k>>-ln8;*8EBVnn60A{1lE_xK=qS2!? zP6*axgV&WA?$hF;x;xk}(4p&DT0!4|;S`ZxSaWL=3Hdl$UY0|EpXf_QWW3ND_tj^sc-fN*PkwZ0?C$sPGhC6m)S(cj3tbBp3 z6fc@7);Oxq8s^we!+=}ZqW{TTnn27wW_#QpKOxL-`)fc7s_{OJJjKwG>hM0$(}hG@ ztgTKGxljd7#UwdDtwzc1cEfYDkISk=PQ$`*vEQ(qC36f}gaOcn`N;i|5PqALeyy`s zftCWtYBpg?NcFa*% zdt_EAbC`ycV*MVRCuVN*WIk%z2c$t<*M0t+Gd}~SyB*TR{zO-qp8$XpTfuSR!eyCT9ftGNoEG0S{&udzDn+0!Yuz|vXVTY+sXX0 z%fP;`{;FA^2nhlwXr&BXclZr8%@+|yH+rjtO?8EO%X`OQiwCbQKFyYMTBzR59Jyo% zj+RCX_6L#{W)ldla)nFYeO5> zmVB>#pJ3^*_JtCNK#h<1VxY1)pQ-?LF%}%0!|Q4&NsoeD(F$|-aMv2JG}863mjR{3 zjGDZ$wY|g4%`XFTh=I{;<^qyd@ixiCpd(zSB^BmXC9?V}O1|U~`KVB_FT3Wk0QDWx zpL8v|Dek8^f3_%Czgm?0uP~3U?hCMm7n;|0xu6z7SdZ3g_lu`_uel#A#_5{$OM@=$ zrK?b+prEo4Uid1pTVhOqc8*a`R8HC4F)}Y%m2pCAG`yRRJnUbcG!_sAMrju zC%Mp}3o2TgR(+{e39JS8ipAcrJbn#sD7cg_^EnT&BD$~M3t8XM55u|on0(28d%YHVO>%{)pMs`E~PC%yO~mLfDO~nC*y^Staxv+J6?;ueVjSB-Vnid5UtWla$vLADNMNm}Ff5w_ zI>yd`iVaQHAUIw*e0vttrJ#V(g{VpnR)8}`Oz0EMT2^GThQ%otKeFU%zn_wC8|F{$ z7!s?)AyWOGn#iqBhLF`Q6C-%=gRaIMpZx%0xo=Mc(P7Atg@LOg2WBBOd0LPWug4WN z_#T@PCZE4dIJvb129*-^2QC|hk352f&n-;Y=dB)Dg10l+mG~*GE&Yh1tKA0)8M@(9 zO7ATn>&>KvihAtk(ylMMciM6DBPQI^9&p#jGo=O@1Z4B4a(ex|3mCyCG6F4DA6s4B z<#t*MVRrhli`f9e;oku_!TtVVW(iY^Ntmi?Y4z2cdM*Pg6=#;=b6>Kf*5IUmQP9c+0SUA33^kyHH z-g4f2Hi8U7+9dfvmHAk)fgAB1Fh1KGTxQKHKy&M>>di>vz(hJ}^^k?1b|K2dmD&(c zdjHiQLS?9~INM&E`K(|4oPv=rOH{ab^=rqbOS=}69$8q-GkD-6$}1r)?>n=&VILSa zxn%IJ0ZSYI@egmVU=wt;A5kG5wS(BkqFjt@qITqQ;3yD74mQ*23_{n}hQ6BR(h_H_ z739ilx*IaL&2;UBa2(y&A+yPZhwN|2a17XZ1Sq-dJresTwDv_Y3irw}t>A!eAP;L} zlBy9#t4-+8I3;*FFJ}hOD71Q4mp;G!vL&x1w$K5NDod4g6k}q5Y z)-3{K@&8W@;RgfSDs%rY>=y(2uc`XqSk}?Mux#}IiP8Ox?ibngzfv0gOO+k*Pq^%V zVLy&qa*@C(GlLwjHvb3a48r)lLB#;7AB3U(xg^AV0%hqf2m(z*tqrVO82lqf^#H6J z_Wnr$VDy1?Vt-C1$P@(tK=Ko$Bmma@QCRd*-JBf&0Qbup&mu7Wj~GZii13yDg>fw! zoBsim0i{s{0HBDK`H3OaE%N?JzhT`R2>=zO`6mV5TG#(4{p`RxZvfy&EI+Lg0PFq` zqb$`Tup|0c@SoQB|CmhCxCkYD~D=W14S1kV-mSho_ zANz}u0WlP@igg43#1yX=-6+6+`bWe42p)G-SM?7p=IBRO_=^0@e>eb$ZwCIM{4aup z0e;3M13>>_L}=0Kht1zN?8P_vzxhbkE&Mk_5v%;Ov@re^7Gw>i;r<^O$a6uK3jgdE zCIl@@u?VdG&G?TXl%V1otL*%%`ot|)s>yQw$ejPOCIhPe;W5BEwV(bEz?N8|x<%T* z1pFH|tXnkOYz7_ufkA^x&JM8d+kcsorHBGmYAfbN;h(`JxP}KoG5%8+NNrt@Y#Q>f z;3ROd5Ficz5GDfhtULdYD6&At|5;*>Kv*kCRWuxh_YasE6zZQX20tk58&IVtLH}it z^M~FMkOBpS%C4NjvR|V9}JncK^|oG5&=O zS%EMP{hy{lt>1qO`{fU;`!b-y#{E~2MbH1j{u1^>o(nY z54!Ac7^rmpja7mj{mcD(10qY2_Al%W;NNbu-%Q2I{_2K)80qrH`P*#We+!fRS1dIE zPzU|D<)Pn&`TXs_Xe;s`Smp0I25Rg6ve4rVT1V(#);52`el+`k9RdIVxJQ3uaKGzE z`rF?aL;-&El|Q%Nnp|0mpuhd6e^8M6fA6yWrvG2UQhrbXz~2JGe;4*w6!RTFApp}~ z*zYYfs7d+hUoY~DLb(2g%?|&;Ao8^l#_&~*;@Zy3fOV+7^K>VIM?|IDsmK53u-jlqQcIYtoa_wURt`d_9% z{{Nx~Oa7;+AHgAiMk#UM01E_#RUxY`H`1k6O) zn`vKBCg}o&9&`>dF1jxA>}YPr)3XBrYVk;Hd?`~!{C&Hm`8G*Ur(i>-23y%%RX_`* z2&y)6Rd0S^gg7(|XXFc1@L)LOL~%|8F3q@S1+iO$Uk4tG0iim#riU@^iM#h+>K+_qLUuhgdk}L~rzAj#$y@5Gx*9C4s0!cNw6*|1;Agz zUryqUH1(|&J&!g78K>bTrluRf2sOqv5ZpY}2f!v1wg|g-FHuP$A^GC;HE84qT@665 z92qPJo)#ke03MzxHnH7C7o)*f1g$%Jg7YOg z85qhbX?Or0xQ-PAGy<8C$zEjf3kE{A)-qFlmRI&&u6ow8OIC;FuqZ^r?-~wf(cYJ? zy*Kg#q{9K6pSm6eC?IT;mXqJZAY_mY3JP_sdX8zJ#40n+Nkq0EYFHCM;;KYmyTi zEZu$&g))Ewm6gH57>-g!uDng&kF~wVB7?|+=4I`bBNrl!2#TC% zQAtUa2_Ko=ZGZOHeY-2iz==(*SsF;ZRBuj>PSWa(j`xn_Pv#mv%E#E3IG{zRm)@ZLns09%HX!arsrlc>=+wXy*!1e#Jd zaMX@;j#5FCoI;#~Fx)?j6ra{$cyDTxQLfdUNbXo!+AF3u_bj+hPqLcuy z-QQJ~60=z2BUB=4#HpBgP8CanMyi9Ac679get-<6t~kw0P+bNCU;a?#Z zh@h(nR7@nRglm%=;sqRO%uq=c)w}!vSxF#%8toETpWelYWXp%CW-HQ_hE4<^B zWW5T02zAmpScmZEPf`R6aI!<>CAKySuObb=+=t~#uy`-$Bzz6iQenIpGa5C_*jmDe zupV|VNrBnf5ap4q#ACp+_&PyUpu|xW%lxB*s$Pi3!ag!`Se7M3Cj94ow1# zcND^s0er);zTinnrFi4UP~pcMZJ0M^ncX_`(o^<$WOX;Mra)f+gO3LP#v*YZ`GRCA9Z6`j}oscYIu5Ui803 z#7Wi6$DXja<;}IuWo|7p5uNIt%)9b3$SRONetwjt3p2=tyec<;E$bVi0r?rdsj>qc z90enMx^3kvwS5!L;=`FJ4J(7M4JH$QI{8SN2BL?5Mm&l#UeaP*OwdY?sAPPqIL31P zHE*<*dW0J0mqbW3H|pLM>GKbF!k#ZW@6TjAL^Yz``D3JXv<%REPRU0XoL4sM+h)JS zyU$eGcDTm9kHUEEUD_%%1XIN3C&s~GqMx(WjpVvC5`RMTa88Q3BztMk;8!KShvsWU zu4h~P=*F}ycjNzb8;!c*D@KUfl|vEZKM`pOFL2^+}lnH+Y7^eLMD%fqh3lE7Lc3I`uq$b0}D2W(m6Y+NS_f4WGsC}kl-|mDC zz5|fEiDQ`U+B*5{Kr`r^a@_NBq96&1dC&?&wuxKkW!bTR&fXiLXh_%6Wi~fsg0mUS zFMbLdZ+(Q($cJ$1hnCf4RCvJUg9(Ji7%=92YQ6`M3mqeQr0lwaL&A8|#zl^XOuyM6 znQ)3wid4$Pmm3@Rq+cA6>tZbxOUdnb?X-8xo7O*9h_vmB5A_07=KIGNepLn;H6_q8S5qz zTkkx%57+v&!~EdXvz@(*O!f5{Mhg3U+T-*kKAzCHr!aZ%L&4%p%wt!`1;6DnGiD{| zWRgR)P1$UGOqN#P zz6N%Bj$ISN;s8hLm!fQH`7<_4#?BG0EZ}G?kr*Ar^LnXZ4|7R@@Pe9jpc$Nt zn%`0uOO`~#7U^%J8CfX+xMY^*`V&IpAgU7%yRUj!GNje7s!P1i3#8XLq4Vk+jZa@4 zew~LCjJ93pM(TSy4biX4>dE_tjE+9#bl67_kfBi_@u+U|_TA;a$!>KAjYrQOV{1}y z5<%q$*SFOu0|QadgeI$m8ZH6_O2?Dx6LO`7w>KloN9}SvXF@QO;A&q6cL- z8~+obO0}~W^bXxJ#HgeO{uU|~+5SNyKDu$PCKv-`d6^wRbeE*X*vo&}L;SrtYY>dI zw0(7rP!?Kv17A}!RBORH!l?8uQcz3%E=e?Qq9kW14ycXV3KoMV8h@Z6jzi0mpsj|v z&xrlPQ>VMqxA;hS8cZsPOOmiY|4Nwu?J0XlVGqiIi@wt($&aQ6ov$iw{6L_Lp0=+9 z-g4L%wk2-2$GMjH2*x9v8oBa`044r9dL`WLZf(*l&+5GGl>d~pwe0#ezk!7(VFo0Y z%ngkw<0#aYHl zab36H_O3r53uE-}+^q4ogC{g&@o>9pNk2?Qjhx*+-L|neJ+=D<&qS`?!mR2CxM8rFDkl{^KVr9Bs_tQ&hz;6LC(43qOtjxjZ95c3#H?T#nodi<^Tdh&^lI%Wo z`QSXG7*tU3y{Y_Z@)Sjc98kI4F4g+PvcuRIi(bDgjj?`D|lqXzs1#@yq8_ zRjA)0{Ww|rOKD0QhOc)W8nm~!?{4R5=E1Cn!zS5+8uG|edH$m#iX$1G->nJrGDHz2? zPwdRy^DVXlcE+H!l4*(qScytP>f(Ui_;nR(PG%Z$jW;K@0q~JAbSuTAbz?hsC?*}% zZ&PV8U(q>n>t${YcpJ+klKVSfA?Es}cR_YwKus*hW!Q;~fFrmQr{BNPvu!@fldsfF z8iO6?85VTszQJMh{6eOanf}g)_#}mV3Wh4M>WzXZO-V>kX7VX$bP0s!x+9CpZt7E% znDlsGJ>!RKPa;Rz{l+C{eCp@emxUgdQNgrd4Q9<`-6kxfQ}Gl7+x;|nM1v_kE;35aOo7p0u`MY2c zTIhNw9kI`QM6}?kgWge32>1FjCNUwk1Ch&!TnCfX`YQ#4xzq2<3f~=hyuKnm=($Kz zOPV7d;YYdkmds7DialgrA!t#$^2NCmj6F;j64NWIaH^l31}il=CrUv=Cd(J(a_6~b zAKxC&yfq#Hl;QX(bAU$^DrkFM8Xq`Jh0sjd+*KZ8e86F41BGl8M?&0fP3MCk;z5Kd zz4TSK<2$8b4uCt?PIW8Tg)%uXtq(u969GeuAwZi}aHB)UFMh!cS!6Cuw+bb!&+HE~ z28X7#drQ7I*jx>+>`6QZlh*s-cRPmK3Xr{iU)f_o1hb8Q9?T|N2!v<|J`5QgQ1PFP zhW#cXT>*}9P00Ha92fP1FcaU7 z|4X{_&hQZbqF^-9eC0P;kt7g&a*t8vV9ooF>0Y7Q(uhi+3DhR~rzf9pkyQ^tv#LQ- zAM$ioym~sdz=AVn#K?W;*x#Z2j_W>i>5e2Wr_to}oiCoQ7``~!BI|*^!#YVWs?LBqAVJO_#(0R8|57()hus00zBH7!~(kmuUM=FS(`woeOINTU;*ZiqLFPj;2Z@XiU12$J=+VDmMV+Y#y0^lR>mGZqY!BTXwZgqRr}{3e6gH|AXASKHA@SB*V0ST zW1igpb@;m30{M}C;?;ar(}vw^0k#(l@?zTf6b4Kq8Hnu zBt@E?IGG4-Zvhs}EVr&)eLm z1a+h##Gg?{Yx~T+J!a`C8M6y^my3%E!{J^kT4F0OQX2+2Qxj&v>#{R$R8*p*VXUKd z5KKYMv_u61(FO9*&&+>IW%T92E}oX}H#!w#g>4x#N$@KC#<|s)Ffyfxj!DEfp)_iw zFpjIofjWV~LDZ?Za0+lCMwfUxU^=Ukoh4sNE5p-jt$EkJ`ajta7jca`6YQW%rCKD)4-4R5zZ>X4lkk^_ZC_1IA~-yN^DpD2{G9AYu&qJpQQ_{vbX@TrgFI{@)RYeedM28rmt z7Cfc6AlwOe&@fsal33YkyU4s;_5ELQ3eV!J>_l3Dv-@=W`lBIRj)sly8`u=wdDil|Vob;SX92x#RE-CrAv0r&<-I z51-@g)7PhnLneQ8rvP(LLRF=YCZ!A^TUK2{D8q)H)G)p1v%9aS2D9bBEeYXCmad}S z8TFGpe2KW*5`;KjnbguiYtR_%mn$2gh)mM)Nz z+4=AIunB=i{e*w^_)r?mg`Q4f#)89%5NMk3W2TByzq{6Y)FAl2}VcDgo zm>z@9Vs}F4_B-JA=Z8q3=Z#=sknlgAHG+OW?&N=ch$I4f;P~@t;{*u{=tHD4)c=?k z6ZE|C&?0+wntuV)72W}|T9vVTN&i{()uZp&on#Osfy!xxyrR;WJfWK%O#6k(j{EiP zK-T9Z=kp0xnts(e$GBO?tPcWgg>lcyT`FeSgDPIK%>Eq z1InG8UsH3&QXyNd=<>_aXH|3agmDwub51TGxv37ScE(P1Tw6D;GM;cS)`Sv4FW-G;oeuRC^SeE>mDPtbDIjRp>SPxBGd#d*N%e}^( zI@L~~hth1=GIJ2|WwLP3NN-3?JGb#kSPG54m&%;Ff|!gv2X?aQM&`4FR!6M#BYRwD zigj@DJ3!9MSGI|-)!g1Ls@y!ugzJ;YQR%>WVwmPTfmWc4fX%lz0)RQ` z9$d%;#q#`Rr3veyPqhMqKs}$iuW@TYHu0LM@@sOploRTn#8$;;u)$rUu_?itrdRte z2wXuo{tHml3H@y?jOd*)%5{`+R$MW%TW%*62>byl>UVuY#c`T$n~UFeAR%Mo*&rZ2hc!j|WVZ_hu2LHqiOn=UW=9R$&SBo2#M4t}UT| z7fRGKkdg_H`)EE0NV2K2k>pPYku}#_4m4J;}y` zx+cL~6=t3spu~+DJ`4p-!kbF3THft$-%iKVv`^V6Zr{=N$u{|(6udM%{HB$AugXVq z+tOpS`Pq0DEzZp*zn>bzPtl%aPJne!G1e0kKP-IdhUmuX625dK{YLQSag!52?QDh8 zm2VZRM48Ykz^YEjGGearMR}#FcTQ0&9>L+>vg`JTyz?F&?w)OXT4Q=L*~Zy9W$fGZ zNJfUx*mfRQGa+Q69hKp3+;jVr7d)6Vz308#8xYQQ_WDmKhwnEKuvUC_0`rnb6>l?L z9}}j;r%NWCsw`mbZ3M-GMghrDFShdv*^zNB?^tdFQ%vn?Kjm3SZX!QYIAmnbPIr1bz-uc)g^MiUIiK9n(4Xcg{;m+sB4W0ap z@`4CcjG=Zi%*`OycRefJdaOa3o6=daDXpeGVjF64^l9|XeL{55kb6R$*)&Nic zw>!_>j9A>PWJof-brtX!853Tr)XF&nx{)>W&BSIVjWmd&XdGHgUE zvGFZPmmbJf29VTg#6lh$)Y9t5;Y28LSji4W8RonBsGAV8A3QjTp8a#6{Lx>B;mlcr zjqNRdJUNdqG5wkQ%QWywAVQYbK5iECKN(yB8VZX3GVlfGG(c z@0vmL)wZ))d-3Rbh_pNf4d8UV%!wW1W!=zWi&5>(nYlML+!M%nhKGBT^9FkC=sN)0 zF|#D-6S&@)_zD7DLHpW!pRX3>VY0U)Y2$7lo*1e54WvXF#;2?>F8xy!<$}takC<=r zG6Wve&oRa#zzkrOx$n;H31xT2`d|&*+XwD(z+^Z3GmN`ApW4g}bjU zuEKY|N;czX6E@3+rgv+-4`FsFzy-1U#hwP zthR4vMo<3o>Af14sZreClRP=0pM^CvkbmCff$GE^m2j+?J|M*?>GJa-Vc?+5%FE&9 z9OxSyug;+kt+^6Mmiu(s>~++KeqbLvCi!WHr{L2*jOHkizp`U9X@arqkkXTU~1 zQ07e57^vYx>ZgiI`m%wSy4^!hmL3|Y%j`=tqb4(MXj>18%j=dp3j=%Qv*4r0r))yK z5a5nk_zma=$oH*r$KDzz0*QRFeEQSgHQ;{sTMs(Pfabua#tV`y@%k0dEw{wUzD#LZ z$5ZU4(}ppdo7#1l6uwIM4)kNjc9H1W3iitd*|)45Zj=qZHGwhqN%bPEoH7@ggQYLX zq&bN1(VYBioG&}COj1+vd-avyDxf&qRy83s*b|$(a+*+UCIMbG=4wRvZP1Gk8{gVG z;<>#+VeI`V)p3y-7{UzUN!(qE14j8J3OYhEd9dVh&6QfjuWmdeR^*|yTI^qIB(g>yDWriNAuIZ{Fe+4sBhX4&!0lspB<-O zl1Wn{FO*kSNobl6Y<=>%q~|5zZ|)p<`Ven= zBDzJsG=u!JgiMz7y5JG7Y5szZBzQ+_cpN1_ zd_w(I5PTh?yni{&g=Sl zlcy(nFkd7tI|A{+D9^e$squ3o=f!L%P#hoR{MAYY9ayHge&c$js#%+~7xh=+f>P_dJy7Hv+#wBT^`$sb+(6qDQ1_NrpoA;4sGrC`k!Q7drdG{T{Z)-U?d2=YKMj;GhZ~lLt7m1@6Rza^X>%go??=qu&`jr)*vWboht-Ed_oY`#e)6Pwa5BOIuvwGX7BSyWfZ8xBoeV2I9!X zEZgZkQ!0knL0{}%2>~S@??>yFC6mqx#)f1&VVN+FJ{%suinF4g`j+^!QOCV` zo|-+eve_lWbOlC(GyLbaZ3zZ?#X&v~pQolb!;|Q9bV%;#E(2pX5RCX9uPoH}I0qht z>P&Jeek#>stu_+CoT5LP)!>T3?Hco4y7^qd;_9+sogwCQpVKaakBbP6 z3U8oQ)DCmfE?qGsBB0j&{jDU{*rx(fJ>$o9m@~4k&EGMsA_KZcbgM3-d|93%Oj5oIJ=s-9^L=)` z^z2n`3(!XyOwE&eZ*KV+vKn`8Oj9Wzzw)YnG`V}+AD{PpV_uDhD`XSg@PS|B&C&g1 z2*=9ZrFDm61O5Job`%irTCORRDP0%+%BxmJ@t09t#Pm`!8@n%>M~qt2hnoK``;&o7 z&H+oRYZ8TpZ_Lr-xS6lV`|}G*yYoC0OlJQ8V2r%re^?2a9tDJjVfbUvr2kKgf?*}d z{SPd`yoR(Jvk))9WiRAb$uf*cmoFh zftjUF>>*6~|CYV(LWt=zhSI)gOaAx_M64%pF+un>YYh<_6CfivoqqHDJprA7!QF9* zg1J>(+gCn=marOBUP{aG+vE|Ffd~UEorP|~1KhrWr)Ns;YB9+RVdJ9H@&W+XC@-<7 zW{KQ>m?w~xi^G~G**(YmIg22p5-zh(H^Hp@FF1e^h#*mrjJ6g6yQ`F#){0MHWf+RP zXNTLQ39DwRrBRl#k=;JfXM+v%2FWwu!tK3Jw`5*VStfwhf(2ivJkK)xq0m<=5zJB+ z(eTHk1puC6I%iCeMX4mM`Hr>xqVa3CFc7dQ;f}*|ww%ncb^j1hk#64ou7@rqI-_+^ zo3qQ1gKlil7?8UrbRwj%pcas7tt$F~ClN>P>j}8twme{p1xW^hx#uzPV)5-;C)#IN zhr?xpKxB~E)4M0U!oP4Q{NJ?UVttoOmk#0#`X&lkc@oalgfVN#O1g+66NpWJz{L-` zW&_aZZ@fC>4)cTNbmqUi!8XlTPucnXYCGoMk^6Myp`MBz7V=X%A=@dmt$A}Uu6ZNw z)4|=h`vkZwV*4S9*#&CUdSTgNaZ!Y8zGO?Q5sQUKJ~@2)DZ0F19m>qUt(_wtdu1;x z0mD;&$n;#L!jD6W`~&D-;(UI8PC&g`c>N33tv*G-zg&R@pjG@BeL+$50gzs1-RAE= z*npIskJ_BWCeWo)4riVulL^Me%*1 z+yT*b;fNT0G-Cj+Z-H*>=EdjlEn;Y;7;R_=ZqZqjV0eHhNuI!`-37qaIy?WFvz#%x2%amZg zwj^=Wykjv+FNG9&?kc7Cr~Q|3-b+HPlLNJ21OPyC#<~=ds72V)KGj;snl$(Ak6;I` zOyBt;@G&H%EZKS1dF|9@lnn{fWut$ZIVnWV)1RudKDdk%@2N)~VQcP7BX&lL7dEdf z3s-C(S16qw;9BIae$@I~BO!%Kct>1k6Y@=8-;6@afz(VYf;-KcY&wI?lPN&ig9b_c znPXb-JC>g#aH`yoa=f?C9;x@D%ni)*<56Q9g?fWrms}0!yf*LY7+H0{guteo#c~sr zn6V27!AOk&?PJVmxV~}Mev$LoGfwc_sQl^SnebGC4+szi4Sjx8Bum1!Zf&Vz^q#Mj zNG58^W{F!XkM*4pbJKN&Vg4TivMg9`fD-pd9AbkxS|=kPP4WiC*qXC+qFOpfjsd|^ zR>7v*I*tZi+qX?z3!sMRPx9DuAOOT~f{9N$z(>^ACR&CLdZJm)mrGRidpC2pz0a8A zg}CzOn^S4gb5c>xX;^Iq>Er7tHTy6Q*RT7EE7PF=%ti1 z{;#%Ty?0}<+_euR?uEPOdEa96@AerW{@ND|%bi->HzK!TW^;vuqVQn6%e-&JN_UP- z4+I=&u*{0Y;Qh;Aa>Rzce7TYcu~Q)sGkj~%klpRlJ`l??vf4y#tb+@m((kD&Rqrpm zon&ml9}+7GmN2+4g&rB#nfbCsap|c%QI%j*BqA%Y5K<#Y#QG&k6DnB#6+d`2_*HE$ z?F)-|rB$0+KH}KJyK*bmF(( z1wY!W3K?b$NJ7pdOP*!7F-!f;R|c<+jvOVSJ>qMv!YtreUwsl)|}MM|iao~U=GxAg`f`E155O+06-AZ1GK zo^oi+tHR8R3LhgqHZ6%bVkC7e0{6G8lu_G^HSuH5B#$x1Q7)hJQK#sE?VTo?tp0J~>zCR#md^B=Z+S>EY~I?P>qymv9f}fh=Rf0yitK_yS}ivWK)e+5Md6^#4!T zlXMd#2DWhAXYWD@AXw_`K2i~=)n%gy${5eSvsoa$Ek;1&#K6RhCUnHfL%5074p<)R zu~4-kj?QqV^uJ0I7|{eMi2>U3X9I`OI&~<0X5W#_3;6mY(eIC#X%AA7)KaxH0vfE4Jg>bz2|0aX5o z-hY8HIvUE46=c!hmce;j8l2XL1(*nP@a!OzKwmO{++o3H7hPCAy+eVS=)pBQGj0Of zkW}uVHb1p>9?Kzd1c33XjEeUa2#0J~p>bp|vI9226Oj(UB8k~x)W$zmZ1beH4&tO= zMtSD1i>N@2_XiV)8GL##Nthox81cR9yVN@<=#x3ep5W`8erKr|+IlCcg|4JR`q3`KHgz&PCkwu}l3I_2wAvi8`wO z(*mtrlyTX|$=j<{ejwmrS|u_{3;~@*JPGq6U@;`=v~2YpI+V0ymEN}oX76&m+! zBVQ^Fl@^S%DXNHPTHaa&R61$K8606?=5Ob!KTUhi`j~MLtGDhFaBahsaJ>^ZdS;)X zQ1R3!YBlc~mq@qz(HAIA^^naVDiPGfq{zwht2F08vkdg7FJ;!U7}iV__iRJlR&oOK1(db|#}oV^eNT4~5YF@q67on!wj}VY z@GB8Thx}v+%n!h-r1YYpCL&e*_aa)Z>lpDAYRcY1Y zq0XBJ`%?6%18ZnP9vYf$8#W3Z1=U2+8+#}G@0$v4Dt?-}NG-XxA>Ls*UDrEI2g66t z{36;SBnGI!hf`47rYWpt>l>HF-Lxtec@dA}^gZ+TSv8YEhx-uwBjVY0V=w$4`vrx& zw1147HG2b={lfXfl781()pZ}luLao!-jKZ3#zS@Z&hRHi{9p`j-E#;9IAIfFMFL|! zdV>NZK*>roZq~e#FWXXDN~=P7G~edS5iSk7LhoCG1IUxpGV9N-D=hwgV|Q9L@3Ml) zuk(P;;|b8()I$c?yjh;;U4a2eJWAZOFqh@t>l{oM)mshmhtn4*$v&%QaKfSO-B);X z{iCa(r*}lQ23yHI5Plcai1UL`xR}m-usBp);<+#}z>WF|uCAO1(_Yn|_f%wL*qUtb zB4LH(NTYbwa9aLKpT|S4{_V>!#z>hzGf<#ccAC(W47(x2{>ig4B#C^;j5)XzP-2G( z#YZZTMuST|2CO+&D5vVqNL$D~*rc}p@0p$t3|1;syL5>OkPANLOso3Ih=OpC_4teQ zkF$K4O2Q|G@|qN=P2A-N*$2Go=l)tjT)Sm)C96&=>_c=mh}zTD{RdFU!@7Lh^6nSW zV5uj9Pl2tNJ@>!PmQfhhrM#&dxt3DiyFbSMr*6!(gQpR zQhf<>!}&weMqVLoZH=%lCk&K;KKed@96*uTeiCSI&1s)T(D8CxW4j1HUk&Kd`m$2n zGmm)vwWOeJm)2n(LLL&gT|x=?(SqkqoSpG~jnQ`k_JtRx=TJag{%0Z3BLZi4{7PVd zVS!j+_YPkjFd8 zD3Yxg4|VC;Yb#TjMc2X@_X1snY{sLT*}p}v2x z_)|u>|8IL-D;==K(BYx$azBT>4WG1gVnsdk@5J&C@udINNP${G-$@68F5p`MizIxq zeQ9Ov6-Ib~B}X%}#`&0X3o;%0Nm-_SkDw>AT?K4g2vDx!nNYZn&bd>EnFC3`p|zSA z)51?zqXaSc)s!IA-~dVR$7@tzf2=IzeCQ%=og;XDY!G^)1lfyx%^p) zk`iPbH<6qQ?+gubVl-{xz_%p;{%6t>&F&*RG=C-R<2d3yR8VMJq5EeJ>9vQu zso?6VRjbXC>s zt&zOLw1#FoA2cuWW}=lXa!6%N;8zE$;pLB8w1@9xD&{?CvMO>hNT@j6**hcdcTM6C z`e}vbS7asVEbab~q=Gk+<%Ci2z@+bA+f)w(uCan08}9ZWZp|*|)&2q0nd?L9a;TSc z1fEtN-^_+Olf2CfkTu546{!`E)lD8~F^fyH_vlvF@y^4#hF@Ha6tyxxXUA*DxEl!; zIy;q*e-*@M*gQ|D`FG18rjL&Lduns~#;WSi?tGM!PyPxG!viq_K zP{frzvx&}O9Om0{mdCvdkhu(Rfav0*l&GoG=%=uPu5e>B$hMWsX&?L5KF0nobUW44 zqMW)Yw;GNg%|>;8XdYraF6F%ofV#E=p*C`C&k{x1el()TCXOa-_Fx5Z9-Jj9LE*pm zIEl#DD3)EnzeGXERKi%P8yn&;oJ~(=ckoP(aqDbii5KA!k#m8b1Y3fo32rE{$$_sr zJX|4al*-ggA3EXzTxHd?`X6AMU$ROwY^XpBL)|@Ls=TXn!_iwr_^I1VZ)kh+qGcST z8kmrpZeR7-uze0yoztS#jx2q}kH8TEj*U2!(^%SFrInH$>qK;I%oo{NQW&)mGwy1c zwu&?_&5<;I5OcA&8?HV`Q-mkELvW_$3=O#CvNSd})Vuo>PH5A(oF8#y%KGpj_BP_v zDI>Ua6{O-`sAopim0A!!XK@sxLh<7fMM0C>uK|jPcA#txgc(VO-o$F*z#U=coMZgU zCYbB18AahC`L>HBPbG5oSWfdmITi&Eu8}J%GOf>TeK_vA{D70=`n@3taHAjvQ)ZUO zX%dGvu0d1gbHw5R`mfAIVv4n1#SPC|9){m8*i9s|lfXxPg?r+XNjXBBnl|T1(E+jF zA0oVcK->}fRT>wI$ixIKfAgGcucui_w-oqmlAP82$Ill!tj^#84z6r3|p1?D`p6pr((-Cbdb}B{YC(C68lh zVN#hKM8B~P9I9Wij+@qx)-rS_^8MxDH7vnL);c=V(1n|{mu?|!et9SBrZ4~N*WVk$J<*|0rw>eEkh3=* zOu%=2T$^1C{p9>JmeG2`cpFCKg3}J*K^OU2EA>*wH>awZ>%qIxYWVtfgezkEdNnf# zkm>KB!ZMM-q|@yqk>%pois`S;MOy0@UK--l(7kJP(rhOIEIiRaSU?=JIRzQoHtzjUbN$l;U6j-Tc}cP2Y2KgDTr+#bcgGz4>udh&cOBk=ynZVa5LALdy?vi0zR4~B zc;$w|JsnHOq|g0i3!jMhpYpj%MY-kqv3h0olR%OvJR?u! z9gG0JJH~a7=NJz_8?aXR4+sC>@&A7Yj`XyB^R5ZiVez~~pUGEW4_ zz%oni&fMmLP`g3ct+JZ7fKYs$qHV%s|YkKQvhFzc3819p{p_-o-oF1ddD!t>a| z&DK3fXH>#ByM~4c99pmSW6NS5+AAZqI}mB)(U6iFnDMha+7!vspMBwdZ^|RR(#Hgr zODl?E*aoI=Y`wN|90IEQcpU(yc8U)GpR7DslyFXmHq$PFEzQ>7pJpEbbX1=m02-Y4 z=MMmT&bv9jIUJ*N`?bUafDn6+(6`UDn>zrEhHuiYprONOW6?zH{Mx0wB>jKl$Nj5q<{#{)TKTrgp zT=~D*^p54c{D5Gc2+tcw!(eaBV{cB8y<)Fs_syiblqL{deZr59nGwqJag|}!IO4;F zgwqRJt+3~wS~pvlLQ^l4LEF1@HXRVxD=YkP1wi#>i)IukQz!pBae%Mx#v_quqN=u{BfrVTl}%-vmMj^D+25WtC#IV8V%MTy^xI~)x3gJGk9@E8mef_& zn+Yw&_7XzcK3!Hmw+8AQ(SR0XmQ8^`ML*XbYO`5%ULUWm8ISsmKjKP*NWqWq^B_Vv z^oBIGEhWq8t{k308gff-$e5=uex?u2R|>_DBpiZToyC@NPVRlKf&b>2p4%XhNaHuV z5}ljI)cd-#E?Sfxhedd6t}Q7Uy}vy?OP>2%-FV)yx+?aF9QZ^td7+>wWl44%@+Oo- zP1ht1hv~Yh#f*gP#d({CNH|WlxpDL_Oq3fhESmY3XZp=yi=9i=%~X1>Yhkaae9Qi= z9Xn?=>NszhS0ptuiRK zMKu0UfX6soLlm}Hv^w)(80lC^bq8nlR%&a|oxPI(Tg|(tqW5HF%G)WTH?qvK)IgOk zDIBlPloSs3c2Bh}=*Tf`#GZQCWvwZnp|d%^;ltiwJByuBPTfuNJ|!Gk7nU&0oKdbx zBM3E5#QK$sI!G_-Fr!)-aFZ3V{x8$#V&LmUMg(^}Mp{nTyDNm?mDz+QrfN_nCjEvRMLGkd2=;-*o z7+-zxpBW1|#ygNH*N4e6^|z`X8SOE3pXru{Ud?>-CRFwDSgS!J5tRdx%9~W{7PuC@ z4vttBOE7lq`>{XZ0Pv>Ae&z~>_%&M2xNDO+fhh;^g4F$x>B|@f-apg9`4$P{Dfqx~ z+I-T~*1R2FT2`P`G-PXU+PGK+_oaCZxn!6oU=-L6QUlF>TAGgQ2|n9jh+=E9Ej|z^ zo!3j=jAp!5$;u+FJM%>KBGa>0!N#qrDX_Gi^x?4)%c^P|NmF`YR8n+sA)t|v2VPZz z`@1w4!`vMlf+qv+Z8u2d{T$@8P4G3d@x>Nm5Fnx0<_Sk2Pz&46bpOv3{2!hR(c`}D z7f^hP#zs{pfh>oDv#i`{wb!nTt|A^-s zRam>nl^MfZ1N8lg7PB;bVHbs$Hwqiu++|9oC^R?Eq!V(V^k*vdWA3F?seSILPuMG+ zMJ9)a5vVRcZ|vsbC8W{*%29h*vr?U<)Jj}l-56QDYqIV_^mOCBZz04OjJhqM>;RB% zpJg9z(5$O&+`M@$vsL}!e21}{*MIT$6f~!wbKdMpiFb9avS-3TQVRK{#n|n^{`ei) zO}Ef0r=HY@;kq#Q7Krh#(njOV-tSde}EiJ9Nxs}YzTW<`ua?zA}`d^&>_ip$LI~q9q zhO)nSrkE0*C1hBFQ?jm*s@79+gkg7j@8iwetlFKcTJf~)vT@P%`GkRh&R?eKu!#_I z(O%9AD$`LEk3+gfWg?2$J=YbDxj%uP*$U#PJ%cP2-V3RGzMecC<6XorZ6T4p(;ow0 z%BHU`EG^aeyY#8#h&7dV*M*^)E^H+j?_Ec&s?IawP1fu`2fE*)ASdLJXx?;sv~*N2 z8x0&(TE}<85!tPX%SV1S{BJ${&L8F?t6CzvTVIL0*&JvgH&@tNe;Kt_q`*#q^)1yd zk0I>mRI+g|p&1}j#72&D0#?femc9jwSa&MzX^e$kY4MqmiHz#GhL8l-Gl9VRE*(<| znf;3K7x{f5Y?#8Nf4upKauV-!v=>quy?k;z#IZin{K;6gzc3kn)eM|rAF(IdG+Twf zU^mk%8DgI_;X#Y6anxRxVhE*2GTW>XeycbTUkl{6PM5;>|E&*y_2yBXarUXTAlw_t zOlTP={iA7SN=HfSUJdV9idKEMugR0_of7Zp^%D&ODA!eJ&jH{xi_@DcITZiq_L_cT zw=>YsHxpdxW&*?@fK;NUI#6|yJT`(?j`iaXFc!UEpNL6hPaDng>`r$Qy!`a#<41bt~-N08+qP+!vyqu?wGkpE=4Y=M0WLB<9LMd z2n4#mrbR&Kzjy2;Er?I9(4wj)@9Y4w zyN}znD@^oM`7IHesFMrq*}$LbSEpWNG?awPk)vn4mCAWcC5gjb6W4j`$)H%{O$3my zOWr!p4M~w*k}^%UHuubw6cp0?M~5ukDd z{V!o$k-t<8iyX8dJeIwF&bas5R5iR1I&FL1Om0uj`({^_ZT~dLMkbCvP8OJ7FX03@ ze_ms#Z=`pq%!W&A(o7#v7?O(HF$=k)~VBvT2=ItI5N z8gnU@kZ`bZz<2#G;s0+6j@b$;mbyVmqyn`{Wc%Gq5jF*?%I^*2N=S2oc)SZ1iAP^5 zLUecQc03v8UKDZTimtAnJ|3R>uHO4rc7mSx7byi`{XKh#pyBA~-jAzLf$M(c2(b zA@TPW2P*zEW>o>s;&b|#?(fwlwX{H=0=b;uWX!Nlejr_5;9S&0q)K*-0nFJfC|Z(( zkKF3?voan~>*Wa+Z=}2JpRixtvpE1vLk|E?_KnWg z*zoQHz=v?>`N;!-G;zmyO=>3W42(8topS)VDW2gzDU?`|pgE{D6ALRbG>_iDRbYo< z6?Xd=2Tj1X!*1qLdKB12rQt6MbCRlC`2QZ;|LK5Z(AeDx-&Wv=y?#ecenwSotbdkN zc&q%NR+D7;!wVwKL{Dl%U2roip0VF}d0?yQ&4$K!-d+x5X2=u~J)w*ZtLP0?jpZ~q z8(Z4y;=F3%GO&wjq%}hSJZ9nSt5Dpj1wj%ES8gIDuU}kQS}9oE;}E*4#mhJV%qXE} z#lER6!H1x4C-^qq;@{9L{GrBdvKA+^xf#mKGni`p<9}xP-#9`8b&P*Hi>+1n>i zqs3+CRVXyy-lq}dR<|o?GMd+;+KRJ>eYMJ2n%pIC1?X1=mr>{@yIFmmmXndI!VbPr zy}m)&=GIkFS`hD z&8LqGWa|$;5=MvLzFPMg>q0hx&5teVN%clhEY&z&>2mkGWWW#7tHZEwC1muRO|JKNTTzDeJQ<~wIS zQrDRC_S8z8uZ3K8=TzK)kgbPdu}XfK%d}|BBJ-QLtDX<)6(Ds)nA=xiZcT(rH=Sp z&1Xn&vI;vOw4S7-$t$~jH_O9gyP*3}@=yb2CVgXB+<-%h7n%MXHJldz12%UmfDF>v zp4BX5>nMJrKmTkvxE-5WaO2&>Eps!w_g-v)1HcK1E(u(UZvC6{zL))#U+yp3IF z!1gZ2GCtT}eh7GIOlMTFc{$X{y3CY|PHjJR_5ip|HA~0M9+6CJ-@y4C;?Rj&UbI62&_LdJfoG238gNJ z>r|y$4#~ag(m)j9eJmwicF2>vT10VE8Ynwv4KlS)Q7T!#$ct0#*(^#MNn5G`Y9fOA zXgtxAAcbzw4~3Fn{?6I?Z9m_e1~!(Nx6DHE&|s;c;3D_wp(g3zpvA{NHZo9R&QcMz z)h}UTvD0!!&imUa5xlRpoHKX}7c@Ie%VyvmG-WT>mE{Q(!c8kisM+Py(X^nu^0mP% zFW2onRNq=-_Mr3t*gZr|e|B~A`%>*`T-1UDY9$7ZNT6pz?c2Iz+x(>4d`&gGS(Fho z;=^hwRXvR1k1?TJ4pp(?$DjBWQ_H{(6d=#I$Tit;o zx1avUh&EQ$SXW`nC!=`Az|ex;AAwPR8GPF~d2R-YWJaX%x zwY#qAQ5^rEtC6&?mhnRZ>+cjA8!iUPJ1v~iVs01RXt?Hv>4A}H-PVDN;Fngr`&!L) zA2cdfHLtdm%Dc;(?es;vaRSTdTeQ;Mik!_AvRZ^bHSp65Bx@6J_1Qg|!QMBUurmcE zhmD6ZS`=Cm~S*28K3uG1WSftt^94*n!f#|5#R9D}8_FRJUWeMZL% zn0?WT3i|2x3E>VzVMGwv8sRNsVnKQ6_N4@6T~OIA)K4%p<(KM_yA$zd7@K23-nh|$ z#MV0Coq=*{4TzcSX-f}?0>!w?*x13r(KRZHE+JWL^fSZwKUn@ZPASuA|z_T#(t}Ck`{g>|}lW)2poB`)szJQ_juI z*ZX~L+7+y%W=1h33hU1tifvKZ8}a6cX5o-%ZXWN6IowAlXrBG|_AHWwnuTKwTKUFV z^CrwI?4^B8v3B2JALH777vch8N1bmbjAtQ5JZ^Pgw6oTgf)**$)ue;8_?kUH^Nc~X zNMq01;1I1m!fn8I0s3Oqwy{`Te_;^5gkcE8QD1t|;*?|twpaoF`m;>7DjBo;JNklD zmh!2nGBjvRQK6dG0`sLL4CObop-T(T+#FDr^7n#@4QY1*mfqiKPV&Qm<&5aBQ& zZ`jas_zZ-}u;-L%w~TIC(+k8N8l^nQp=8>vrs`}fE>PU-h_>nZ$PNDu=w8+~TKf#k zC@(-+Y<%=1ZjbQNHkz^AW|ea`*FTEI&GRFMpL9O`6F-l(FeiB1yg#Uk$1usgm{DW* zQ8o){W^W%h`o(~~EN<^BS+O?Dzn9%KEZ3W1vDFxry==kFHQb4)FIm&x%+3zje32HD zQj}gJDp7k)Yct5NFfzNYTiv-EoBnI}YS-Va{1a9G+Y5hTBV)VyT~_0TmNm7KjuP0Z zTYcEZ3i?>$7>a7-TjSKMSmC+DZ%?et59sv?t1Fj%mb~R})~#VWcAng$4yRa3IA9!0 zAPGJQ2Z^F+Zz1bq39(M_1j_R($BQ~*ZZTPF(CNOG(k>~%MlmT>e~`?=8lWRYn+1zm z)?EDSIlrbe<3VBP-c^3yD2tXQ^N4~}7C@1aOsFab$CI9(%~r|%<8O|MtQ8pcpDo$k z?T=2nrOQ;69PV5!sok|VN$E|0Vk48f~qR7aKJNm`n6dzwUJ~wz7aEut<)4 z`6D_EM4YTmr>veUxAh*=>>KClzuw1l>8niHA*3TTCm%b)N5-NSq4S$N6D@QAP~SjJ z-$$9wb|l7`!q!m!%ZzH#TmPdHjx@OiTK836cu3B$*}#$_Hpgmr?Yf@~?g`&QDhyUy z&d}z)FSoD6gNWa((%DJem|Ai z;!Ar{ll`(KFl;7Tf|;O}5F4~7mJ^KIy512Vla9y|XuLLv^^4r)?_KHI$QjSklPFpJ z-L1&#PgEhxeZRsvHE+dUcZI!aYpF*V=FghwWp~iAJGHg~?Y?x)T8SoS|7$DUk;gaZ zeGPjqa(O{aOLcW)dF?lN`=)-3vP z{#SuRuKrDVZ}WZM<$g>!gS65A$JBru)bvhl5rjILPiDcZw&jTK^+m5qViRV>0Y6l4 zx?Ue6dux;JOATY&1%>vW-r2fILf*8yu_by zF8&^YH@M5=m6Y9nv(DpNXe77AQD*Q(x#{?#=6hi!)>Z@K{AWoXc^M6dB+)g zCpilg2vq_BxK~T8K$TW#{4`nbm}e1@RbQgE}OlsQnWfodh>gEC+vc1@RhB1l7u6 zib~V)>0L(StAD;1s%1fNC5o0O*G~mjIC`5DnqYTpV~Qo;yM-2%Q^OkS?#$}qiMnAK z8~)%%^+~FD#`|=OS zRCNVG8Uk0yrsb0isw>OE?nPL`kx*S>f(4zV4i(x9a?Ibhxz`ea$b07IKBtI|W_C5R z#zZARJRsgH7-x~@W_Gm`LgOD){ng`!49u4N-)T$wW%QT=A8;Y%|WMi`!Fmo3_ecV;sq2aaVQsbP%&XVaqHpc2c;M;%Y5^ z+(x?CbrOk>Cu#3%QwIHpheV`>|8)Fv>dUcEg>&(+U&?;(?K?m*tmkF|ZP`swl0 zdv+2U%C5baFuK;zWSR3uaS;WP?bUk*TBUKewH--S3k!nF@)n=l8=UfdB`>lR_g`@v z+SkQWB|;whZtmjVO~DZ}H$*iRt;=y)Mff1<0f2J=09#QJ1LJCtWVKgG zk|!r`wR5viWW8U33O$m9LYLBvq!u4j2mh#e_UFkz1FCzYfqhB%5y+q)-*w>%8<#P! z{F-l@u@c)XSEg8Z|%sk zS6~^Bo&#Dldr&#$fg}9YpE$;9-n8AdWH5adJ7Mk{4hI0o@QS^#b9oD0DeTT&ki-`O6bT9FGTMJJygsy*ZJ zx%b7M+r&BZ&{OA4Ew9L^wrylPlqfOarMs_eH9AWCehXLXpFc$iksl9B7(ba%-e)Z% zT=E13Q#4E*rqtm3XG$#XD^*cr?+tDw8hqdR6W}QCs_ghP15U&TsqX$(B;l;7%IN!- zILpF8qhf~ASdT18Y%TU#M@jhSJ^1JI(7-(3(rcyal1{QX(@;nAi}M4xoBf`tzBkFM zCP(7`1bGOQE9x??oj0#g+i||93;P*^c>D6E;zZ^ub1YdCmZqZ2@Df=VNw6o@B+fs%_?^ zd-xh!AV2%nyt_e$mlEdS+X;m-3Y$F`V7#kO+u z-85B;ER$br$U+OF{M4BuXXr=piXHD$=u|A{Lr^61CCXDedS9IT55J4?Wepi2cs8D&*1HcJy%Tigvw28L|-o3LYp7b`c z_I(B`wh1ZA>^`;B^v2-r8acjEwEFpn+v{z}3_I|#hmU@w@+63E_13($XX)v?4 zw9Z>L|C9V7%)iT-3ieNaUa91{o=sqwuVz-qMsP#2?h36TCl}?*uCf*fdgctz@0E51 zmJe!3wo$aT;e{bd>jSG9JRhr{+mBHb?l_nD==*Re;6~T6!03WD#m7B|x-YRKMHL7S zhmmzb-oCdC9*(ZHR8BXH-q^dAM1nIZ14d!3w2s=I?v9OQQ*wRK&R$^LUgEFyB+t_g z*z#7U&SqgwIgtl6(}PIQo_CP$au(@E3yu76TBI)XAK3rm@x-fd*o>5O`jCcd+zIcL zoPO$*q2U_?NKB$fI;wsMRo_}Q=A}F%`xseSt_!LZ2@c*|8uKs}^`6Rj3O+f#?JMY@ zMK;rR?FS8~MdnI4I0F;3)Er5`$jq6ael+;=hg}&}1j#Hgudi|Gw_ynfD>Zh^ZIk+Z zLfN6b@*Ko(rPm8%%*c%)*I9kV>;8AXPTL83N7~X$lOQ{k-uo%}@bD<48)Y8Pv?)a(oEx246?%Ol_nvH4 za+x?4oTni7`-GTRN=Bcs-wr6TWKcoYRaK=evGq0OwUO)ZwtyUoXM(X2N!cYIC zTdi9kTd`04M02H?y{zbPlz%imR9TykhhTPc@JpEa?CvKY-fI1@m%YW*ww#4}swuwb zG*(J~n;)2|C$YkebJqGex;uNRjr4C2^-h^CUz*!@&kNk(guq(g!a?k~c_w+d)hrYO zuKnf7-z*-QJx_Iu8X1ZU(7S`CsdQGnfh%loxK?tKmPT?}yzbRqU?}~WZQ(cuqlmGt zQ@+KWv0h5s^AMF#%F3*Z_W3qx{>(kjYMo3ssAzE5@df)1dsOXVt}RKvCA>sR3~Vg$ zPKuWljEuhPstP1NH*1zf!3-IDBYDL^wZ=gbphmc!W;qwkvC;u6q}t09p%JCu@&fPr zB;ia~w4jChgX4Qf}%MD}z(e!HTsE+8sE_D`P;nLlOu~ zV;MbH41$k{>IT{BIMhnG;x!~Bc|}kaZQhSJNrwdeWjUn{9$%RMjutO4mSwtDf2-zh zMn(jjjq9i@EScKz0hf6Y1|a!mw%bkL8FPKOPF25CfAP7^WQbwgh04rPyi}LI8xN?# ziV8I5CRUW9x|-cdRU5ast7qI$dVGa_zu`lTMe zIFd<*LW=^Khnt>>j2yXkO(`;xasKnf+e7s3kMo%W=rU9w7*orkaQy6{!Ho@pnBY4` z-$K+k&nx)l^%4TN^~+~d#kNdlYG&+!N{i480dEsAUhQb&lh*4T2lcgYLiyY!8K)jS zCD$;a$?tw6tGJDp>dn|xpq|VbRz7S>a>zLP&C_wX1;1W8rr2uJ@xiJAw=La@CIp*> zNJ2`~>|d%cVPcN5JlCIZpL?#N!k`_&K3NrTbB1)pv)tOlDAoyq1F1bGyXr@ho*u$J zl;hx5;&&mElLhto`FfekF1@Qs-by0obuT(|-wfkl+ap|=43g(9ZDEbmtKly$Ov++W zP35=GYfjHj7HJpszudn`dKjiKI@sy|JAZ9~S`yMQ4(av$zCo*5;&4kTgQ$1%ZxPd> zt=UO@;FlC7RFjg;fLfCu5mmLoN(GzZ&o{h&F`22pxu>w{*ozC;ZX?Y`#7*^PNTvkT z!<#H`+qEciboRNE6`wVo*@&R7drx9%5r+!-o8rD+{IWe*z!J8p+OkI1#Kg(nmyV$o zl9*ENNz~=-mZp|J>Ph&$JY9hq|6KGCD86hyevYLo*}*=s-#H^(sl;dzWJFK$O{kmA z3<)uy4sEz8g~(wC{pzmD=?UzJ{LUwJ`SajfkK6{=ARNU=87{zy{8;L@)33T{-hNp@~Ly zM;*q;BE&CUHSk$**x(565FzXVHo)J$g>VccCuEi+phZk^J} zUUl-HlEX)Y(MF$BPpPz+=Cev;D~iGu-?xtt^XM(x+Dam-%sE`Q_$z+FNP1WI&xm=t zC(#c6*j0A=+|_R7yYKB!SYtdh8#zB8vGQF8sC0f-OSUW@rz1L^%Z`>ZzW6fz>>5Mm zkl{@C<6-}(!|$E}qq-hcyziX?!cr>k;N7#38#hnGiZ0j#KQ<=X?cNxftJ&PR9`@+V zej6Uc*r{9=YvgS2*oIG$(w);(M3uPF+}9TVAV)DLyRRd`Gp^~&zItbFJmtnYph@}# z)$@}2pwsudTVN&~=B`^%;fO?|Ja;?z!d#BM{(G-REDAZ()kA4(RZe*E-~f;ke^Hoz zLjMx>dZk147>F&?0^$*sK$N!Gz2=Qt;I(T%(edpc$p6x@Oyl%t^6!22`J34JsU>Ns z*MkwmOJUYAVMQwK#FwD!jfepgn*T7{j7MyEO#4cLW3fiOXRU%wjc_-Xz@k{9qgp^; zqY=Rq5*U2Kg#qRuLSJ#}_e0YHZFhq;0}_Y|Dd)@{E2fB?a!o9MzNa48N3fnaTVe4g z(=R%I7rTjy#W-5LjL^&oa!(kxJ8#GBOF)-c|lZ^=2q;ZFv6GJT9?) z0N#}85{M4>h96OM6%$@z|I}yUV;S}7k-%uFrKJVK)QF8uRcI3U(EihZVeIsdH7EQV z@zUr#a$ootqT9fNOd4ET@bb=r`E=3#mrHc)ruWJ*P_M>KTm7eneOcg_(r;@Dw(h1`db+h>~559jc4;505oA3+|EzG zXep@}R=@jrJB}7to9$@0j(CEx+ZaFHq?O2G7p*I#2Hrg>5qx&V7j`vuyTLj zsOII)sRSy?E4;302D*^G?mTQcycCt1l#f`v#3kDolX?;Sz;*Y9KrS~L(;#Kts(m%{ zAj594iqi^LT)$u4kCZeDi&^C$Bt0&0He0*EqT@d3MxpSRu!QAX__XxcX5+RDOAXgd zs90K5RFuUvTThq&Qi=cShU{Qc^ZsvSt1g`)bDa6$V3ry_aYPO$J)1a3qTBR_+p@1| zq7DEfm5TJJ^k^&sG)`NJ%c6B=f_6kATq}5a_~E%}gmQ9af|{etf+fOPC_S@hjTwVD zgmGE&WuwRe02L2(&Em1nNY0{7l!TKC3U16p;oBakRdB0`cdp79?6{Z4K**{&79M-T zy(+6so58;!RU*JyCMvis{JJaKcqWub{_(rhkO)_DgyZRgE3Gn*6BiS2!Y&$jL(=C5 z#Q&9p0EM1QMQ0#Ir#millffwr98E#o0g>M28$g}leZloCC)PSc#|%5^>>99O<+0!j zl}<|8ue*zs-F5hb5Y5nbpbR0^oPqOM2Y|flK=rr-K!pY`xLG1(zNp2%8=L`abOg?& z=_54DxiF66+!n!en$Bshc#EP>f{-FZzLYP|Rd-gR;j&e+xm6oC?fAntv-s=M)2Y1K zHF3Df3*xixLVF2aY7G+C(xPV^q!@fdvt*ttu@0DAposqc;V(ibOaG;V|6F)12UoV? zHN1~kG_#!;zO$_QC`0N_i$ z_{n&*24b?m4$&&y>h0^@w+Uz_dzgH3$*!q^m3MQSHLO;!Yjkw!pJD#bS0}#PO!M65 zBP!(Z$=-Uh(2Bjh?dszd&vFTqRpV|iF~fS>W$e+hnvnGbLaxS3bQGSBix|=bdgXXz z!1i-O3j46NhdTK?wkv%FRqVddfI(zSiV#& zP0qzb%AX@y8E&HqDH8=lO-(9(3q#@ePIdXal0Gj)Wtu>E#CCUc&B2MbqBNMIRgJDH zb`%D+Rf_K-^ETP5;T@m!Y%zF&h||ME-?%1^EZ9Gj6*|v9K4fT?d{J%|s27;=vZ}{@ z!qjJMJ4Y()c+SV$VZCojqU%EJrAd3KdeZOdi=)cDQPo>A}#;Kx)r7%!(((DWs-cO2!*pw>Xn4+@ASZ35^L|!)uD{Eaz1A&%e zLm^GC8qNzU)^_`JZ5HNYuBn&Vbaib{E>4PZm#w^F9FEjpWmeS8R`XsSrweW|3(8<#374xQ`I7K|shGA^ni@z@K=~+!Mz980iD&ghLQniufg44TF zmu%p#IZ}YBd@FeF8%}uJRbLs}5wy3tS8TD| zt_VtT0+ro+=L@$;%Pzj$~z0pPa%3ZiV z6N)}dzrUpSPu23TFOEE_KK00MNEcdLqWiO*y+x5B9Lt?o{BaBiUDk7RUfFuRtYC|6 zcmgrr8*z{vs^7(mKAf`G_c!TGwyQC{Hr;{8`q9&(T{i;OJ z<1wes>rR~e*%1kujqvtkdnL3y2=gAB-Y&oSk=a5E#XGlYG56yj*_Dvo=?2u-%y55; zaN5kCUCZT+$ft+6PXteb6T;8#o++^xDpq;t6q-(=8SzBK{9#*Ex`HXFmol2R^gNok z;NgBUp^~Vkq54hEQBrrg9gXQSFH792wQwB-?>QV*BQWbH>Ie-NPBT=@cR)=wNll6* z){!KJhx<)m>nu^!_)JFb^mb>gqzclm~N^&241i>+2K3IurQQJTdZP)JHn{sQv ztF)a>f%kLw^DVh{6r3hz&R(oO=Ni{O>8-?fr#kj|B`bM=-%wDA;%J#{rPUuhF_IY0 z_hIT!Uk?2NoMpG>i0$)pc&!^jR_MDOJ0OqRlr8# zceC>e@cv-aY8o?^IH{Oc;COT0r;uEnv)z2$7e)~h<*mMr}mI`z8m_H`f zPaid$uT)c`e(qM*?PR51DY-k4+h~D*FaqA4INH7PX5`&CZ?x~+B$4I2`SOpU#0V5i z6Hm&Y=58@0CmZtEtM-U{3XnzKw9Y)a<%AYG=e8hID4isS!nc-4{~lT()KYn4U+UNP zKYanL4mB@b5cY2tXlNzl+Rq@CTa)m6g-z6_C3r+ zIG|dBIiu?{nr4c|`tK6cW)4TlbLYRw2ovj#esRAF**=lA*9)ZvyOIw81EA4L9Vjts zC2F^^aHxZ}{C*m~vCp#5-QBWTTFfy5kX9wcJw5! z%dPSEk9E8=3Z0dsk}4ds*OFilG;CMRn71cMkpx2h$?SF;7ZV<{j!fVcLb~3>e8vG_ ze#x<7-o5UVM#bjbq(n`c#ZO!VM-eOQ6U*^*p*tJPD$d2FKScY6bQYgqPY!V!Ys18Z zP32Ir5k)UWtWv<)M8|4gf5F;E1oX?YNkAun+o;O_%f`Jx4$Rfvf&) z9^a)0`DcO#VV7Fe8l47DZgn)?S)T0HZSn#$$(}jON0@@oh~gSDtIqN90x#t-Lsb>F zMl^MAcseB()?hi9XVin6AM8Ny6*4Q*{+2K~mE5R_#%?o%)df768yX0$%5A2gEKJ@#}eIsms(3 zt|T>rh4a}j8yOl~|I>xLtY*Az{&KXec z@PX^!UlWl*OMlgK9anbL!kk*Vt@;Yi_s?Wv%;1eN1lwLgIS3-E#%AIgNUPAsRUx%< zJ0{3h15rC4?HZQ{vY5CIij3`I_Xu9Q6sMwhm^sW(Gm=EK`(kfG zB=}OM{;F)V+tT$_aT)0${tTRxqp6AYB#Oj#dGIW35k^>+tk0*Seii;3IexoeS!6JtAQ6nw`3eLZIN$bFO6{_pc>lFyrKY@ryVL<%2#ukGBJwB- zAJ}fg%*j;IiE=%Q{_WP1%GAphw0fsEq~9LAFdbIp57raQUN)5zM1;rb~QoeXhhXE$f(2_24g*ld|UEdA&GukOLGI6vF4K1eGctXhJJS`;4#brXHFSp#LO9w`!wvL*h z#fmTvl3yyO?3h0u8my#u7Zt8jL4x!kONRU|jk`7C*Y|70U6g&Nw#q#^+)<+e86pqa zk4Z3$I?~B~AmAKRc=e(01U%k9#p=6E{G6?bc`4|a>E%7!X7WhG61}u|a;a(A6W6DO z`c(L8AMR2ks`RubmU#T1BI7=S^}e zN`yj#pz=t%P1`n~Yputg3-5(fU(rriq~^nUlIKlID~c65ev8=;S+Y9-%)Py17}hK& zAdP}fzQ8Ag4fI7({9D}R_Qe+nGK*^c6j#M(t31h-gt?`SX|>heJT%}M&2iCmGUW~z zcbJUJ=-O`{osBr}gd+JQ^Ej(zcDsBUKPjrQ_W&T6c`ME+?%qdZ`rQtUmw(#Ls|9kp zbT7*u?+6%ot2zH>!`VR!9&Xc@C0&uvoeY|oyk($?ab=lk{{#{{kM^+gl#fcgAnoEd zp3^FbL_cb!);V)^re zk?gvl+VX^2?*AZs%F)>(oy|R7@@ed>-Suj+up-CpW4B3adG)^0_e{~s*v19?Xi_-! zXy06dqkL4?HV$2^s1)5_;lyHCG!O#4#plehj3(AwV-@j7ElI!Nigxv2MM|~(zmuiU z%5SaL1Rnr$pSDZwT&lJzs)WT0o+O?hjOOjVojbLCqcWoJuy-@4-u#pWJxMdN_Th9mI|K_=&cTDWN8=I~;iozbC zD?qWO;n9aiiCili!J2SbB`JX#3+n>>_3jR_1ex~?DO8TVz zcNMez3Zc#r-lE%&0`=|$_r%t=76>uP*;)5{F7M6#2s$KwhFFn;wDJ3_>;EFT63l&L zXJLU%C__AXZO#K`1BgJoy9H_7P{zY{9aM)w6}l z<@F!wU+k3%OmX|^WnT4@w!lf_-EqD^r^?OD%8@;461Yc;2tISZ{R2QozXBHLfAzvj z0Rd!{Q3Ic0@jb$pfu4<^i9Y!_mB#r8?}XQ5YzvN`N^2AfO%4f~jF44SzVtoEJAdgi zL3m5XUn7p9Oi@$HDAHBjf!e4k^ka^ZdrkyvgvfddC!Z_UzF5MN@QUvbEHS!bKe|pF z!JW}H%N?@KQqi*)`0zejT1rpqMoPQgye3h}H7UGF91w#DR zjZhgS$_oRUa)(&{A2Uuy?V$8X7E}9HlKym_zCWZhiB2+gpmiYeek1A8MVng`$dy>`UW0U4;$5$_ z!@BxQa@2oiHNF6REV)yvx4XJ7u0D5U+6;H%#!%@Fg}bc9OTqL>ogz|pWGS+@5xwEl z_KJ31fP)~|@@nFjba_R;=BB0P*zD!cQqDZ4K%O3&Gz~j*XZ15Dy>G2Z&f4Frt~|AS zpc0?kMCR@`ZSY>?JQvGs`($#w%NfdqNk~E&gb+d~Dowf&LL?9nA|><^dhv@oK94>#&-=aK zkMI0AXYX@eXRY1NKKrbFuX|luEYKwv)RFC&i=xZ#)Vx3Z)kFA=oaRo5eeVG4JnP|r zAll2_ErG3$w2op%I1Yn7{=>$rra?H#iz&vxj&UD3B~^!*WM!@>mq=PT3@k{(pyDZ5 zxUq30w#zW5$!|g9enh;{bJ2%yDCSz8HvP@(1R}Vh76TBz_CWA^?(>JwPS|RtTV9)5 z!1q|i%S(Ib1dgFH=1%Ws|7Q8-PLKh+qKs%0)Ev68Llg^t+1DHlwTHav(zi!#tdOSL zoJO8=hhr)Kge=l*&3Pw8D`%sU4VI zcl`}jGdeTLU*ED#p?eitK*^tUl%xzy;9~KMqjGpWF1HSri56yS60NYDu-s=>E+2#kRkS)9h}yT5y5V4*sB|Ok zP^UO9M^r%3i^gNC`BD?=5yN2LMiK1P;;3Dp<;m9!$II*aOg=zE7j&X2PVFvNiipQ` z)$_7`v8i`Zunl*JYfxBbYyp3t`O@7*rOmW?MVak@1$;-sO;7aY2?ji%Z{4y&$&PG3 zdts74GqWqC=&4A({KAp^DXzC*Su6%s0BfddWOhNM`9-M@{$Dsp92_jP(j^3;v5z%7 z($ea+gG>;b8qZ~A>TA7TMwK&j4H#v#L0r~mkK<;Oii&r=U@k8?3qup=kKQ$lIkxsNV^PrK)m)DVEc^~$rdKJ3NFk7lZUN(P;`NqU5nob@>P6xN922)< zyd$r8FU=>);a;-f0W`kZn4D17>5jMu-*KnZrGyc`KAofeN!A|2F$3k^la}I%kLc)7 zko<@X+P##nGWH{eQl0XIJ~zL->kJDFw;GerP9p=IyK8%g{H>xBX7LdVO6--a#puy+ zD`l~}KFF50JR(7rNV{A|V`t0Tg(I+u<#p_Jv;>D>1qdlekfy>Y8}XqcM@WgY>nYKM zO3QoU(30BhjIbPU1*d$eY^%Vf@PKBJCdbGm{2}^ms-%pGwQp)RVsSX!{t8uDIm_#z zFhg`Im9Eu$-MJ($o~G#_*~9KAN*I_~TVP9`NzG_qjNMQLS5X<2Hq_a)sBg#Z#N@r^ ziGwh*<$Wvu#a>GXh0O=O;(pz4rq42b8^xGK2ED1TU*}y?9f_cvT*+}!MSrqnXld!q;%V5N0;GaHzvg5 z%wX=m8g1ZmR_sk)^%YO1)P*p0jN;7tT#%Sd2Au+pXqUg4$GkpRFEKL~-diRS39?d}3Ar}j+dP=K^3^?5Mbu2a@of|3 z7ZVfu+^!}Fb6ZikTrl9Szc{a|;gbLX>8NI=WB=G-39Ox(G&Dlr%+W|LCL*&=v zWYtF1oA_i$UH)v-$%;$frqs|V20lz_F(>@HTa!XJj80A^AW%{esfN)5^$T*D>-sb$ zu?Lsk?0)*tzyJ61QWbAPSR(Pcy?r0ZjWY{!JJY{;UQ)B6@mQ;+mt%aSAlbZ>mx0d- zt`r+$0Io8ErHzn|T_JL|umwv-pH1snV9WwYdkbjRqt*Lk*L=0U&BBN8>tSjVG_U5M zJxGAl9fAjIfhFy_jlw56A>}<->D4Kmt=#s#xK6vI>OKSh!K}=kw(btVEe-Iz&a+)d zrK!<;*|$7`fV+DavNlQ&{dwUho^$FM={37ro14UO!%;>K!4{`pb^BQ9r1Yw>T3A-B z>(xyU8j^sa)pP@u_{5ZT#k9BXu@vkRzcXu}-L0ju5)zEOqN|E`>~FO!d_{7T2@j6o zp!4-_wWzN9@am7CDO_i>{Sb;@3fZGqc9{?&azQ(&JHTiHAF?Y^7;=FRmx%bDhbQFr zYoSE-9K-Sb!CwY4hziPf2Eh9wG`DW;xZ{hs#W7oU)$6xB$j-&#ivWiSenN$sr-erW zOLQzHt*+d+^gE##U~^T~1Z{6hq7W<^xi~ksAb+jm!l(Uo=;&4>%hB`e<=EL>UT?O? zH}j*)f*Oq>@snp}!3X#FVf&<0=3Pc2^n+(bDBLc!Dk7qlOHMeJ#-55$HK(j(tJUr7 zEAbQcCh{7aPOn0U9&|yhkB@DD2Q4LMT2s@++ADB4d^n=eOrgcGhe7Q&t-rTTWcYg;sTqi9$L4URvsNjzxpyUQdNrM2u z1Gxn6aCNbl4&ysD-GZ&UK&BEqW>l=x9dSEm;z(i>{O)&!^M1De<(F`X?yoc!$K@M6 z6oVR3cgkJXwc>1;1%<5+nk_Ym#ZzUJM+4!z0p`l=wy+TCk`PfgD2Z#BEZ@DM+P0zk zvcR0k z!z$*^6NK)hdo(~><{SUn*YDc-5YN`{f0i2Ayt?BkC?cdLn*%{@;;;Mq+9PMMC(Bu@ z>OD3Tb32cP=^z52J-V&Kp=q+oC~)j7b#^Mp%CX@cUzRz@+&+LIiw#~GE}W28OO^e! z|Nf`+MZlLVoYP#*$Ux3OiM*Tx&I+R=J#L*v|*qEF5$vuQ2MtOg@JS5zt{2wbys^UWw<8nWGYXxwOa$UG<|Wv`lH!y;a%Zwj`7(2wsdOZ27f%Mm}RP+)KF0_ZfvOH=H1A6 z%>VNwq0+EHW`8DgXP+-AZ9!Bd&z2HcJj%2IiIMS_wn2*4?Sd~Jy|3hl(_t=G5-jl% zrDg(<-2bHbAmR4CyzAd`*5v3p7vJ*8xuew89JA^@>Hdb{Yx|3>;$dd$ReK$hTM|*UE|Yx z00A_DrGwr2`Y=<@Rr%^<&sZ!SRlE&6p#tsufhz?Xs;?2VpSqGhY`_3dSN5M#Dp1Lr zV+Ra)(BL~_`p(auJ$%cf;?Y0{opCMVTS2p*5v6`9xopWo4lq!gE~dm%bkz>G{xV|M#<0@5yS_aYS}|Pppl{z~k$= z=JZ?FEP(b%dzq$5`Wu+euy0lwttNLu3OXDgR@4`9y$b1GQA(p(X4&+aSukO-nBoEiOkk>9U;tpU9{vo55?bqknTXzoKp zVXPrR?K|8WopBvnDpIIy_MI1k+-rY(iM+);*=1#5Y3$JhU>rWD{ZQ;t~Hb8uqO_eM6FROkz z&lPscI_wb4v{ZF`v~^?g^Z(*S8i@thk z2j>kbSp<^N0Z5>4VHCF+STT1$Nx8U==cs9E07ULO?7P;=?twQI&xb(ur8H^DW2BD8 z5c5k#vkU{dOKMWb8Juwz|md{H*m zj=#KXpKtWy0tKIZr`y?2%E#Lj9Rm;hSI5g50>dNttReQlI%4SGl0d-dtjx{k<}mL* z9gO?pTre2y*{zAcfTC2#%3|=?$gf?Xts#aGZ^D~A*7xtE{x6P0cY;I{i`*W`m%(~G z!JC3*vNEbqk~1=%Y$MF|>Yr##nO6EmgUk+uqmu$7%E+tN9&`8J;mG2wED9)q3x$%M zN6fVFX-@~EfqGYDbUtW2G^1V_7x%IQR#JXsl^)8xU3585_G-8r+}gPeD?SBE&e)z_ zRxbn7!;5hJG;OY<4|WxuogGG8ee;TD$4ZB-c?PF(rxT-WoZWFAs&$U+ za~u3~<$Kil0?As~ruorVSr|W2C*!Ts*HT8m)|pTq!`xJh)>J(l#}!U{@?l0-NnQ&; zuM8-yE#0Zmt+fW>pl79Q7M$iKo>BQ`zE^sW2}f;#RKeiQjfo3ykkhs0Ajk0F#5c0H zhhOoWs$vfitW|K=fjNwLS3wG5!#E^5CaW1>)}oX(vu^YZdPt#0vFX;E0Quy{cvY3h z$Vdy*F=BzhUN&+WW@4SpNoCA+#K`^X&3*}6^VQiQp^ffEP)4FA^|FhnB4o}~r9oP9 zT9lbKy`u!0Ms$)swElKHL*>(6;{(S;eDf14<7;0#lX#esq9<)bjA--(i!=w^B(cx7 zbnx!TEX~9t1zxs&O9jCjOG3CL%IYT#r##5Oc>6&bx)QBclehzIr1QrX&=NQQ*p3GP zEhjyfgDGDR-a7F$l|&|$irwnR2~`zH&QSFoeVKvq?0{A&EsCi*uCk=kqQKGyWMIY5 zFDfNn*c2UP%X27i+35G3xP*}(+Ga|4&$gx+k)1kJRp1Rh129Bu?h51v{Wqn`}citI3~TVzjLBo2{f(IUr)k$X)8k5R~o!foSBtmG3#%p@a3o7 z`9G!4%o)F;x5B~+$xrotex3eqVb7UPpT8S@Jr1YJVY0$txd^L zK?X%0>4zy&hsxsofi?&Yyi9a1OG$e=C`a362=$jPw>s$wHT!!bH=e`y)K*Jl$RJs( zsUh$qy1bp`B zyW0oAMR!HUDv8(2?mis16u7c^wX$QG1!REZhMreTO(-spikgYqiGuiJOKFR#4_%X% zbInC5T7&?jc(B?2E!&u7N?U!nlfZJ0a@S7eA0BE0`bmH}yDrF(hUXR9mA&n}BdPYI2VJ)7er%rOs6}i|* zK+SSa_^TC+l;4>0Ir-y%=Kt{7p!@Qx3GL@%F|019kp3!_gA(jl!f)7C*7paj8CPn4 zgQM>x11+=UGwPCK9!%t%={=oDXO_3E{Wy{~Del|>+*N(C>!@>ZJeR$KlBQ5arTdiA zj?)jmt^2`yV*+3QQivR~yk=r1{u+}HGmt%@NYR*v1_56rpN{vnB&-xt1 zJJjV@P_FaqN(RmpzphLUBy4EItY9}nctv(~+|JH>69_IF?MTxxZ^n!@x$$-i_jy2k z&dhF_-YHM?rr2!E4Gc%GpxABQYTlJkz0L(pGDUW<=S0s%r}yLh9x}iRddKVy*485R z9)|6I)0&jN9um_%GY@3XE$%Ud#8-(=H4OMIk{cNcNCQ3OutTfTUVS<6Wg@S)(RFWi zGb0Q4I;6Zw-IInFwkBY8q7cj`*)e@7UCzA?`DAu@R7LBA4q$9(D9K^7x3oK~yIaQy zwH`@?;~88Q?oC+Iv80@ywXu=j&ej^9!+4qP_JsN+!=GpJ` zBs_U>*cd6pq?n_mCjFul=s9}VB4a&DXE*~>wNoWA^%m+`zI@&wRo#9$foQB*gcGel`HuA{mx#A&)?WiF8`WhzQBve zGytL|omDsQCG_(;sMP#ew)#>I!(@1w27|2^&LXQS-DWe)XH zw{~vb-B1^F@=MVEfIFXhk2~j#LF{LjEYOy|3%W22lzG-oL+rsA{{#xbJCuo;?6{Pb zSRn}F)968tAu$=*qm>=$%eEk)3uWY|4) zhIctSB&#djnz;Fv=h+C_T<_-2?n|L`i=VOwjIO|BM!E20iKZgeUBLW~67zK9k*Vn) zJ_`T)^^4zkZ)ohE*u^`XpbFIuAf!*!U$f4swZJoM5Vc4vwzcU(FuWknFsp0CRBub$ zk4<2UJNxDDC9K{X$`Ae>Y_Sf>_5p~>mJe^b_T{nfi>nO$^%uc&$f0H-smQHt($B)r zx3Q|g$I7@gHA7W5qtgSnzmP0_*)ba>)^%_;bK8>E-f&Ar1*VDe0xBzWQR%(;t|~6N z!d!0Mt4X}~1%CN^x&PtLVU5?sgwUSzH$g=P7P&=Qv^h08MO^+FpnjkI%zuvV#|5Ly zaKY#pXb6`laeG_85Ph*$ySB`u!k76GjNbey7+vm)VNc^nMTcIrzVTY#KIc#^yI5Mf zkml}SPcM?@a-SWSG4z2~noFTytQ!Q_^sv6fU{$&L}C! ziM6Pg6sBF2UMi~+a7Heft`0j&l1J1t`kYc{FTQEuHPH=5`bHj~P+5`VbDl`R=<21` z^rAJdPhVQmth9i12WR`uEMdY`IB4PKO^n2)kK}H`z5MIBfbYENwksz~%ljV}EhD#a zKaF{*+S~V3J~+r;MQr{0x)sU*vMd#g%TxscYR;@lI|7c2b8Hsj1@VbgTqtH6*+>P^OnMbH(o=J+zV>BFvN?1gl z4uax2rOi7gMF}RF+U{W^q$1!d=INgzrVQ=Zq?^?Ek|1`>pT+cgQ+b5n&l3kHLF`t= z<&+lKVgfK4jmO8gWm-ZMSKQ`%j-ZPpS z;qYgEYQ`FA``0;iC862#&lUCYo(EMEU(SFBg6`J$96cXw81LS?>W}Luh>SW|$KPSo ze@l+Fnu>#6+_(n)I9Lyz+CzkJo<5%dZQ|$ezxDKij65ekZ;x1 zB;9O~Z-$LmOEtD=>xV>M^4yE+5YnW?w4f@_xHpfWjRKU|gu)<0DEUpIsYGPv3#Qu> zQh;Z<7u;fEqW+eqMd_{f4sP&=VMO)8o!gE94tRK(-_`lfGYEDm5Ynw=uF}jU@sCc( zml$B>fqwXFIG=CivlT2t+-rXxy9%=)ex0Unk25y>$sQSgUN6Hki?o`?aG_LVkeM;j z>rg$7ADkThk?@NALGI_&jLwCidBj38S4L&k5 zAW%T&u14$r+D!8l?Bv6L$v&+6IzyPKczAswy_)(Y;P%lsV?!pMDoY4^2Tsv)IDdR~ z*c0RVjiE8`h43EH2!%dsgU;=;H6wX;Fd+*3h=#~z6B+Om zLFyNpofG{7+eI3(DNyBNoRa2y6bqbVnJOcXF$2RiM%*A)NkM_-a1Q)bl{lkXHBk#4 zQerCUuIRe58oE-;T0Rs}RIRH2)xKXrB}4l1o05PdSLX!%I%>B;Y?GXggZNkCSrM1K zr-93H(RRN-2J+Ph3xBI?SDRrAHfaTVYX$ACU!_NcgcmrLtanfwh|kr z`5M*XY^K<^3u55OdPUjgSrrk-m3k181`g}(kf>Gq=2*quA3m1w%1I5bm38JsHYx>` zcE9CZtcU#FH7UO~d8~CuZ@>-=o zxM7U^uiY@ddhl8_A=FXOc8Vw{JnC#iFtNw>ekI%#ky}60efL28s_s-=D!nWghNhV5 z?`)z|n+Q5_GmC7pFM%Y}>_7(D^bAw^%mKYxr~>|&VO=T7zZ@|Bs?nG9@yKS3SJMW; zvkvaeb|{>9QnS?<93mGh!vVR}Ysn}EEG%|t=ACN6kCT*aIhHqfnr=)t{77AUkR&jX zYas4hzONej&F%y;aSLth-++Az*VS{y`!`r88VM!m6NVl7LR)BAyxmO z$AVCCT>7+<0)RfFs-p;WN&@Tm`NnWrx*{#MG8wKxLkz*cxaPk4VP$fjI|W8u_PH`B zVm(Vg+#C;TOo4~n%GAN${P%wInsl;>|@3w*Ug zvo`L};X$KBbF{uTMi+rddj$Y^hb zQ*w(gevag*(%Of@WJSmKTu^Ua)3|RS*>>z>-T!KW|8n_)wmd9qdiL>^^Z}@*Vc;J% zp5|WN;PsC?k%B9sm7$J-_{I=dW>r`&@rB*FFuintTSQlvc`babbs7zLfx<}i#ZMC? zmAY#_Q6jDPO~j>jMIJwV>r!t!`6_&#_sN&z@1JuOP*XDU@u zo)g4A6w~#)>*GVwC8|MBwN%+@&_o|2UcuU#cAtv(1Ay;I?&*;XF zimUq1IxUlIXGIVDsn?QH_T^l^TDF<(P;J!eUHpPL+v^e~?n4{y%lYZ$5XG&bXPbG` zHu99O3chXs&nu|WwlQIU0{%)>AMw$c-Jd-O!Gkna#n(r!{j#AL^ytM1@D}qn7rRp# zS(3p%fnRrN4E&Zf>9vIVB5WL6A^n5PBFt0)bf;VS<>+!cx|M>G=I{34z)UbB>j9_0C1>#)whW2$P}_eMiIj1Z^c3q$SVG z@7PhRA2wZkL3=7NDt%O1$7V{1S_C-z&y)Ya2li5dkoq>}w zMmo;%;AZ$dkXXYO17roXU04;%NLAUdU2(z`uMw6HM8afN@`x7PcjAb!%`blyk$X9n z`xLwLySOQTUb{=N1=m|8*lzT6wnNVquJ?v#_IwP|I3z$M6zMSs;sRVdf7_aRF!s#^ zDwh|Rg<*Eg#N<^9(3H-$sti0+8$xDIJbS-2#W>Wtm{de(^amj{nN{_4C}e(~VTpa=AvF9uFYV-&dL7>ic>5-~L?JGukl@<+X3rD3boKiT))H{LEkSv{d2yZpw~^rS zO;P`yu9^8{u)nJ~)@6=(j-aV$+%_n`ff`k0)xv(P6+7=5ZND&tc0e{IlM7OVGGt~W znj9^&^#W^liAMRM*jDMFbr)-yu))7K&=*=POR=Evr=@^3t+tD~O!v+ijapul*;Uhi zK2B`-)JE*qVt=64;(6Do;e}DO4YCtDnP@fPFofIX4`bl4^gwv#$G`*upSzE~rpjjWi<0t?%z7AhT!p1#J7Q=%*(#YSMzsJzNWeB7EnZ zfNw@cJG8u>^c#ADHVNo@@T8bP8%eqLic;yHpO)A*Lgf{`azb$5uF6J+NiA@SGY{=s zWgXcG+ zRvRg;z800t>&(00u_flom{W<+3U_W4pW;}8>I&@AS}r-*)9%}WE?|#8H?c~!W2(^o z>A1?~>7eU0AV|<$)lf>L>BYaQ@jh`RmWH$M&uwYBXrr<#S5n2H6o!SvU&qyf$1B@2wL)B61qikGF=Grh=Z5*0=WAEzIxp=iRF3$kg@^BoNfSaJG z6`mclX1sTr6AyM1NH)zk7E#?dV4C~+&QH1Zf2S7(3$o42m5Lp)^2~cEUOL?h4PFZP zO7g=V?q4-JbR;OI&AKS9Y0_15o20gmm^?$5P0*B)sz>hMCG9?>tfmcRgAqvm=3SQf zkABDub6!daQ><1h6hsBR!{fTRie>E@_w4tvyYvz7oeV#3tAEIG@%M|Z^^R75yui!a z$j>{{otuTY;7H z1!Msa7#)a^l?Y0jC@2Y4=9~EQI8O3X6?GP+d}*xU)807D@{s8;zgS!SjOM)6!gBpR zO!j_QgtinB5}3DQD~zwmmG#{M)yy3Wm>CEzLpxDGOOE&@ zbvaUuUfH2r9K4kFR07bR7s70$6Y^wh%G zeL}(saFbr!XH(|hXPv+Wl@r}+9scl1Ri7IhO+C}eT2%vp$>t(#3~qOz%cvZ-t)H(a zFQQ$W=YUzL^*gf&1OclDxc}&8j*VJQ{B#gJjC|+zxfs=;f?`-4BSA1hq`&M!xaUQZ=K^80f zx(RwotKwfwnbAus`FtZq0SKp|1ni!boL5s4Od-0XH7$d`Dq-X6@rAQaEOh@u_Im20 z4cu3&CIxEYiYl+j)%jVNFxQ~H19xb`_GvnM&F|h=Tq-v*E5fN{$!s@NPU-Ph+w-1_ z)O%Hc`X)ELg-*w4LYJ#|#*$S!O=7F%9B%>y4LV!tU`d*Z4JyC9l6YMCyBp??e4=Y& zUQdd6`Sn1@(IY-lau4`Ah4L9!Gm2D+{ z;nb``9kZ3W>#H{`eM~iqsrJ|JPex*_Vz*=i1|~8_9wt|`sxl(UzTuR;Ra#Jn#Ol(S zu37(7NGLn8d6(Uc(bZh|o@J<-2t$mKo^hk`MB!T=T%`mw4n{l! zAF#^n)(!L+xzWz`QykARvV6YOEe?;=&5W%cZuO}SF^VUGHtq!lVAmDb*7dUEGWPDo z8BbY=?@|}jebEv*-MX-Ry|#T(T`nb1+^>P{1YNz7a>b>x2Dao3}i%xNWQT+e2tr&(|3${+q`Y7bCiseE)n*>TVU7-uAQ`nd-DU zSRCms^VzNp@jB0qtpqHMKCqLDPzLE;gct7@e&^o4)=y=Gn%#z(&i2l%d%}%&fM|)g zJU_H?|8_vmi|pvl-nkJ*m6L%6Z@dL&vNL5a)|JVJUOV6IJONFzo68f4ioMlln9uOP zJhy)`KI0kn(c?1>9BwEgr7|vbF=c*u^1)J5uy{t0g|vBLfzp^w;PjZS+u0sJoTd#< zTE>_pqfSBWRGw2-)=Z~ySN~B@KU@8O7>XiL;hxj?l0A$u=wf!?s*7yAN%rW_2y01> zwIs8RJVSH)zctBuWW^n!9Td^(|l;gdscQxHqKmGoGs^hy`ohS=uvF3v39HpW@ zpi9l%x!sThi!0NfP;$$5`t)fkh*+C1-+RwW+bm?Z+lhYR^i=G_b8{**_jSQngk`RC ztoTufWd(V7;_|SLVXtXw^A5H_HzjjJ^-R}i%l%KZ3cAK>%-*bzL{%4Pb|}|?dD~03 z@hvvV?3o;fvwX~r-yE|?05njLD^rjx(?k3=%^^xT z>n^RJqE7_>x1{#MVOM8~Qt$LZ4(L|6R@yCts`?kk7GCAgl~RW3uHr48K=_S7JXY*( zTXkSke0AQBeN4KaSS$?{3f!myDUq1@p&*L`0jhFhWxOHO?a2kK*DwF9>=4P$;m=_j zM_K2n!7k)UPFuFc8fRl?Vw(ub-4w!F znN3heRXHQUW+Bq-?a*AlH>Q~s8>iPuY|z@wx<4KO%Z0H|=a|F!_T$mL8#c>9ljZ{i=&liW)~Za}T6% z*%}dJ|6=sPXn9utJ7%3yx`S&2RKRPd#ZTKcD9O6@;c&@+X-OWIO@_`U$C2;i>Os_o z?nRJIFl|Zi$9-hyLmm9uWuHZLtx#16Exu2TAIw5WjN)DF%qFh#!!VTmF%T9Dh7eRa zc<$V7|Eo{v$kCWv6Ka6<+I%0DsFZF+<_6g+IoaB&&^)9&Bs9&Ae6D$XWQR8(QL>0s zLbY%&yHJeQUwX^ad#@pt{_{Wg^aZbPw`M_CG)gLSX!fCG`&OAUu*e_2h@GYSOADKo z9+TRY7WtE9Y%GA?HuxSNO36_)Ez8QI2}wmK&V$Xmrm5mk;jxBr;oo={x?caYmQU{< zuWTw!2(pK)`sJsI5HJ0N1qKZM1WX-d4t98N2W*R2s*PaaL{I6Un5+$!xQsvak5W;_ zWq3dUa0;XX!RXx> zPV(xMKh>eAVszQtZqbe)R2EznG!;TS5FVpPFWo&2kDv0Z`-O-3SRO60KAWJ3(uj~! zO*P6dFWlGdiCtCfR&uP}I)dSv>umR(V>8z+bNSeWXLYdlf7@37T>x(Ch-6DxfCKu} znt=Ny&HkcuNum8J(`P%q(3kJH1xdcDY?cRsjdMaLTmV=5bqd`*eNNgA+7aVhl$;I( zK!UV|d8!6yo^bEc#Ou$*{$u8=hpz**($asaCSx_p&LiBoOof9TCQeSBlSGw+jTfve zh3=m7AmuHW3%Wx)wbSiK9*m}>m5$~^APXS6=3*wHf>a=&zmz)_ZnpQdaQPo~oJyD{ zL0`q-eMFt$c$5qZpQ9g;A>uoolJUmmJMpNtQ&a=~O>FQwmo@Wj@DEdXG9exuGV+$k z&#Rjx7Ci?p!;R6R7sKB9xEwAI7~$?mi^K)kk;H;~*g z3uegH9_x-atz-RJ|?`F;k~+fj=CnqOKkRM$|bO#hqBRT7NdFf3kHO% z|5)xr&7CZq+X^@nzm@}Y8Xh3!JfdHXpO|2bVfIbZJ$v#N)M0aG&AV7R1ggvzL*koO~k-L1X?U>Yy=iqN`{0<|BHaiu9&*3}$&F#XNA9YSyq)ceb*X;$yv5G%XA=l#6fGl7;B5X`!eZ}} z5PkBOfghY3{$3ct8__psYwEqSt4bba*Wv7B74z?NqmS-qU9cG!a@lx5v)cWDX_)|o zyc`)HX)mqxJDZ&b5?(Iv#qJRe!!HNDAYS>q+|Td)f5EYQrh->hx?OZX{KTT@czbQFLukue8kpHo!C!aS~yeCMHttklLy62HTyMx zzqX%CAaJd<5bYhh(T@bWsO*Mis6YMm)6dHHG4qu#s~V7yPD$&QG4D9&NoX;Us(F&Rg6c)0;xrYVUZ-|ix7cPen-?W_n!Ob(M|;Frga@2h4i>04}%X|vpu zcw+=Uiv6$GZ4#{5;+%>pG)G&fEv zn^3Z4C_#~zvMPM9>A8sY&Bl;D0+Z_R>)`q!q12g87cGWt0j1Ry$!$21#V+nl>pxZ{ zDome+@98{|9vhWrSZW{K$e2RK7i=LcAj}T1i-IFj7jhwdC}#WlkyZ9%vQvgpS$v>7 zzE-+Twb>ldWn~+lcS)Z)^71gmPx7)`5lsh;$~NlT6OhWtgL z2>BOiiI>CV(m^-|N;FXE<7387LHx%45uWg=4xib9=}<*{W6by7C;4_I^{Skb z0NfBT5q|qR4wOk#bU^|$?^KgVcdT>|UJGm!6hyT|`uFT#kbE@s)B7>cbw!`Q^LqPX z;zXEMqNEFgR@G*_jP7iy@dc}MonoR}G4V8yQUbPB$90QqU2`q$OgSqfPlp%^%{x#X zvcazWCp*VSZkV_DSHV>RT5RXyo7?7Ki7BEkff@bD|3adDTIQ!3<4Fafj}$yTEIe$5 z1UzMmiIpiC8I{`zt40gl*-?86sNuZ1(pJ7p_|SHf9F;PU)zvX4TDd8d{_qlYZeP~-;7erJCX8G* z-!_i95TU%984&d_SFl@AKD;!jWjKvy$@L*n=S;|;s{V^Z4b?P`FB10~5Nkj%MHjAY!Zn5r;WHYlNidCnm*53RqibJ{tjA)MS1f*v9Qm5ay#|A6`4CH+XeHjB!acO6zrWnR@F z8`$Dea`9$b6D_-T1e>vn4{&sD04+{txDNi8k2?N+JxQ`=&AC-g0fi9l(~d*7k1cZ- z#9-Ho8ao4HcTB5Z4cJqhO*~@IcP3+547nW3`yT$bKEq_sT320VkTPE$1p@jqBS-k( z0{=@&-kG<8UABM3Wc6{FhvccMc$I^3moOf+-ANgk7MFDY8OBeoHmO4){W}z zQ#ZV#RtICdaal1W^LLzl)3s{c70XO31R7}Kn(h7%dWHz#$Uwy<$net|aRv*7OQ00A zQ2|M4Ldn@l#SRE%qJ0MbP)# zl@=E7wkz+X?<)SPz*e9YQ->*FJ6z0WtHaqgf3+ zYM|yrz8DeEr&u!fUy~Q)0EU$0~=)Hk5~A(Ee_JjBA}*a60dLLohI6 zu-3gtIgw^%;ZyCCmvz7C!qG6mFQ19!W=bnZ_$jo!ML199`Q;T^bw&+a4;`=GV=~P|UUHf@LSyk^vr-W% zTcG8<19rkzkFtHfCT(WPz091@7qexF5rsd~So}S+Ds?U>JRC1w9?zvRU@GmqDp9OH zhGYGtYG06iI=`DIu7{%4(d>-@PqoS66!-1Wu(v!ZW0B|=4}&3_4EGB;;X|40oBIwa zlTp{S0MN2cxE{hlki(AN)d`81@*_DQA>N07HhA=j;D1Uk`hz#!etpX$!{AN|F>cL` zugfFlon`LoaH;05xa-Z?z2$L~^VDCQ{?CUGn@tPLkG*knuM%3{1oU)4xxn+mXFdma z#z!iPa>0D$p~RUv5OCZKxmVEOa*jU-v$Mg`zu%;xn|IE_HDq^sbva7L51V@Od^cT+ zzFV(jF`&QBq3NzICoXK}N;y9IJcj7? z5kteSsQ-NIKk|o0X37^k4<7)D+-TCLJ7XfBIUU$FSicH3I{5iz$_b1j5QuKby;&g?xIr=+O(vVI> z{V+4T2W<{F^_0JbK@1%Tih_uI?JD~n0T5+901{}nCvb9Lgf7}tQL=Qroxji9KQiUW-e;7%g?t#mHYHg?i9y^a*wbtZC#dO(SOG4#jl&!78SPCHj{ zf9U7Pj=;txms>uHTXJKa;12s!m)`PpiJaOQY^0kEKh!2a{p>jrY3nOXw7qX0MBSea zy7!hRz+zOHx<2bM(%z#Zkyg4v+|=1->w7uuY8Oy7l1w21l7M}or=vB*?4Wl zc}ob#i>bTJ2!`eakz|<*GoHaIgE6C7T=M}&36Rc_Gjx>fd&_g!a6;!WFu&VBm=n}? zbG@mE4D5(JHf7NrSGl1+y-d?Kd&|RXufK!kA3r^E#rWb!UGJ}loOP~61_nmH>4;qN z;F9UeMn0qMQCEvPo$MQ@PUvx9+_$~?&fORP@V)pNB7~*b47?3xu5+C95%xnijFz|8d@;U$n~G-)=Uyx3Uy-D(VlC1j(J6o z#zJfJh?e-wv0-Yf{nb(#f2Y|4Db}OO>@!MEn9zVAWTf-pixXLUPgZy%?t0rrw2m!V zNRhW&0A0QJnyx*enpugWT)%x#K1RWj)yqMuAnmTMDJWgJE~@DJ&r1I9jH+Sboyl-SOpGS|~_B&-}sH8#z1DMNaL#`R5*pHvC&9m!5Qc z;>2zxclMA1a;F2Ev2EbN$;K&knu6Wx70^#vj^q$jgG7wGmL1O_~PW=^H+|FrkzVNG6X-#VSQwzbxwfC>n- zP(eU+VhF2&sj>(dC?o-89YGTTLkwY2LZFv*0c5GNCP1hli6lbA1dxPf)Bsfi6hc4} z0!m~_AOVB~2#fF2nfazOqtiOyf8TX|`RhFQbFOpW=bR^Jz3<=8qxN+1gd()oxP6Jt zUCgu|0iuG3v|xT<`)rLz+}KUi=3mNQ5rv*iCzT$XK)Qh-Nc;421?LV*!hh_Jvj4CV znL#Fiq)sW0l}e`xr=p8S=hnjOn~blGmCZ4fowO8uhM#{Ak-6jkXeDb|h%WWpYINtYFU-Wb%dt_LQ4kO|PB-JCIa- zr7_}H>b}FTv~qa!L-SLQY?8+u>A1iw%*MVp068X~;?lL!=r+b~G``m62+dor?9;Me zvNH{Jxz_-Jp%2LKtqz(u8p)Q^5R$*7)Lrl~*TSZ|%4U{U2MCtwd_sh2{|L;R9z|Al zA%_`taiol;*#a9*i!)~+tba(i4{Aor$W1w~x%kV_wKdd!k$_F8E%*c+o0y2WiwuTz z*-k)PQ)kEDZ2A1?1R=riHkmF%!a;JLN6$V0zeSZ;f8^<|njVyd6UFEQLjrSsOOW8k z9LLJaNY@{J>4|ryw#F%H_e;e7oCd}xY{pTDMGwF|awC{ZR+7Ku+@+6n13p8JZGV~_ z1zb5{GY~g~Q0wRMHe=Mxyw%Ln&NuUK3bu9h%SGXrls6J2lx{7sbM`=jeu-l+K5+vF z1C4>Tj8@Mj{J@Rflpdl@Y@}AsCq@byfgrpJT)5?4*5isub#6W5@knB;6MPeOJY#DhQrPi*cT2eRs{8*lI6ytDql2!AJm3Z7RId}I84Q3?8!v7_sC5-ey$W! z?H(TBSsW~i5kT(s+W6oS248Ujxj*oVbT9D}3{CXSWkA;*^7==O8By4d z2eWGPWI83UAANB6mD1vNQ-d?^ZB!zNfX^JV?#meK;1Oz*@eN&3hw%LMhcf_ zHRBG&8<*ZEms>Vh(?k$x^*l9mN;;gr(&{+Ve`w)Q&1))^xm+MHTGbp25nhUYQOMFK z?6xWgHfL#c^o#zP-oCHSSjUx-(?&-~Dp!xm0aa^=N;qi~}=N@KT_6m|9LI3N*`&n4N`65L$~-7yBw1 zd}3Xm`<*{?;rc5+rU%|)tW>&c#v>OoBA0_9wh!NIX_v)Rq+N?*Og)cAzF1S}xg*XaX@^De`kZ7DV{>?&6ddyO5%$d%&R`Hj7?+_bonOPP_i9(Q8J;VTXGV<& zSxRk2scG%Tq~4wEHgNCr(2e0`uX`~zi+XEb#Q96#|D3&!+5+8Q9$ziw+2j*v*qtkt ziwMjq{Lw|kB-R?BW6)pSo|!+jo0EUm9|n0Hb&GmAvqom^7ZMRcjv)T@aueN#MRur) zW`(+bNO2yp)8!3;wT&{aBSQb-Y4mU1@sCG<6XeUAn%HZ!n29*z@8mVD>*7VF5Vjfq z4Aa;(d65=Pg|;!{luO--)`3~BsPYh=nzeZ`H_`=K^N%wAi^SGPJ!jHfPh(%xi^#Kz z=#e-)unBhS!e|t&lHT3UvztQbM>n=WsGxdaMc3U~@cYFp?G-NXuToCK3mW~N;2VtR_B+EmbZ z84a!Z({HMHJHys13pdR7CVtmKtu=SAnU#tCUr8M7_E~r&4BNXC=K5-eYCAIpRnnCQ*49ez%;LL4+3HrW7lfd1-!AlDC7(XIGMw9|KVvk7oA7InV>6U^{30_B zS`s|)jl9jMgkmKt-#PR&sj_qkd2ie*BR51vh1R>dgg$scdyi)OS7m>F`m*g04%ri# zf9ZcXOG^qWGGB`7BDQtZqxJKJz+M=z^}wG)Y~WjO;UjJE*#Gi^^l2@1ab> z<~*$9R1%{61Wc?yB&z$XRrGESF*(VDT>V#m9s2XOFtWm~WKdaMEh;5YbCy|p7LNQe$uSjnPH=~)TB%1Tn>-(1) z-chyR68(;a^MxE3ZTxY-zq|nLa=SmP-^a4tGf`Q(DjKWp6+EEDnra8;02Aet?Fu4Z zeKR6)&3<+%eH09dpPA}DNgCUeU14IXZF%5Nzolx+_HB<2$e%?S_ti(6hwlzR1mP$1 zXor$_Fx>|I!uk9ACWnwlqZDYWQ*X^Jp|3(eI4Gl(kILXrrbuL^3F)(Z_z9m#eyPv% zjF0YheEXZ~-pVkOa1d2k{+F@I=+~H-qwp;BL8OC1*_l?_5T4<+#P>^|aRTtu4>C6O zVl(SOp+9!ppsF*9fqU#y6h4DtSS(5^PR}SSaIEqwpnKIv-zxKb`piF1^0Zaa7J#4@ zQ$dEik`4wYH#NnfqDg%I92h)^B1{JPGT*Y~Ey0JE9%U_06VLke)Px16lsN=@lbHu} zeQUNgMtR4N7p0}q9toPDrAW<~iljOeAK$GUEMKlb+3`?i(jl-OwRncyFcwv}&+YrS zivCT(N9DPsIa7nvv~x&N64J0cL7xlpF*K<%KKaZyehenlXyCok%@>Jj;kt9E^D-x* zs>g9I6Ia@Kh2LS8*sYz#_xaM~Z})}2u4`*;cJ!d?HVzvA0L0%aHUHTD*|UqRbk_wPK3(6f2X{ z89qd#&xFFXl4FCi`~u5PTy$MVYf<=2nX*(LMn^(FKh*C0_Zvp5E!l`44wtI1Vn&i?L>=Ju{kB_pWSA zSAt|#w3g3vC752yuGB(I-itghy(Gz{41W6#h5s(n-nLcce?=KzAVD-OH?b#+lGZK+ zw_WS^Jk&7k&3ewP2SV#yjA;+_KH@r-nLif}j-txmZ25FU9+@gztT1t!A)TlSIP&kM z{?_x>s|%4xYe-cL{5H~k*|eqp_f_l)^73Ru)KV^r>)Dw)Va48{ktAdCdG(U&?Ds!O z%Jw1|xh)3pRx``uwZ4pu#mI}rvcO0uuSVUI^S`C;=l6S?odXuP<=1yT_bqIxIw`y! zkSA^q>$cm~2*V0(a|=A8|Hwco0uH)8BeVz%7wnbAqLkAy7n%r1)Rse_)6UVm;|q?f zV4bN81ly)O38c-P>@vau1h_({CHpmoik;#^uzlY^-p;|s8rZ= z!*v9Dq<~rrdD|=vF_l56- zyY`m~+($FY+o33PVnt*P$mirG#k($S{z=>4lfQ5KOIgruN6k?+ON1FYg?9yh!(Lz$ZT zC?Y7JtRB66{c@suof+lk!i2D3=gZx>p1jHsHT?!op-MZYobTFqr*if{;5|AHG}$K= zQ8w$GF;0`qg#yPt;B~1si&4`+VqeUN&^w{OFdA-DqJvK{au_GR_ICW~*|zSkOyV zPOIT;Vdk6|zP3ZuETVPud2kp$UE!0MUYvz&#$?i<=~uI15RS@{$LlzKIxe#&&?ayX z5YXIj9QL1D>YeiR6>)87i_5H&UJ#Cfbgxnz_dH+CR^Qo3B7U_NKb+uC_=XqCNWD2d zCr(56K0ck_9pczo0^WVl<7BZYgAW61HN%K#8Yzc8wEtvn`?v2@@(!VP`G*P1GN>GUOQoFDG-lUhz3l})oUvG(xWdF%Tz|qH zppilqr}I_Ci&U^K^6<@{Ay(h}w>4|wgHz(^W}P{Bm6LpQqUz(Pn-4Owr00WLvBsK!a8#lF2#AmF-U&?dpC3u+T zJ}lT?a;aKSZL|=x0(ng|uAZb@)H*@jpNWWW66+tisC!7m%@!&Y@G{{kKw#|${Buw= z`rbTy&SKyS_FTswn=6edp)l?paS9V9n3*4oS1-E3m!oGEbBB-}wcSlrh<+N^o*zFe z%$D9$l&aBAJZ$p`cQ3@rZ{OQo`=%3B*LE8RTjVue-5zss5mDN*`^ltu`j%YmX%x+1 z=>-a&m$?y3$4xJhWLnat^ciq^_QXk5EwgR#6urry`l0yI!=OI#S+BwkMKXrzdr7Fy-Q;JR@8;$`28H0L@wAEwSly3wubl8fn? z3uVo6lq2%QN(ai!yqj)@Z$r_~7ap=WO}by1*Aen~Tr_@UK<>c`A0!j?iEtQL0&)B1 zc4~W2aviw1Y&`N#XI3f;AQ8yO0Jc>>{9@Iwr9OzV9)6870Utv6A)i%bnu48Nzo${nBh9R9J)uwc73-owG1Qxu9N^nrLPoVzzYc{<7?(nEF?!z}*T*F^K^^xk~zEWcH zY4_E=l*5y| zcMWMx()^+1O}0Q{qoI<~qUg;0x#x5q&u77j*XfzNX9Hy(m0nyNm+SS#+g7|S*>R`w z{3=*WuZXjsuJCiyB2m8o4uG-s$WLGol7TZUQo>c?fbr`$TlRdtk$YpKwo9TJHF3g| zWSWh%u%d(^pIfB*XgorJ^jn~k0Cbzs4byJEP`6;$dujhCdp2K-JCuT_{~_;WdI0D>KAw~)m{8u-{2 z*X=RwbMS*%D!)`etR0MdVnoR>O4z z9cn>Z{eXwox+YxGg!aVFvg;G+^ds^*&`^!dly;7srUiCLUreGOvI2ekPYw5eNyEwS z2lX%pd74z)lmR)$;Krr4ICfy=3SoY{*w6wujiR0UJ;vBnD5~?gt zMM$CRwV0`Jw33q@zv7JK_zGvqt1vJ{2$wIVHUmU@nD)DMRBD8aPH#}7SZH`;q-Txa z^Ze1X8-IAehW(dZ4tr*^)h3!8Zv(s&q2v-?P`yp)vO?w9Xlz8poq1Y_2&8prZ8r|s zT;~oonBM{BbT*CnLHl}Y#p?y~WyJY7eDy^Cgg=5Y*DAJaJJ4c_Wr$G#-Ag7NU}L?w zAeL^J8rg@#7(uf`Xq^z!TFE%Rya`MxbAtGwaKj`L?|3`PF(Rte_Z#PbG3>2}tywY7 zU;LRJ$_*??nUM+bx1)B}ICHH>#b0CPn>){lp3{(c;BKm%HuKooFmRB~hI@$Q(X$<3 ztrhy10S2VCj>NE~^`NT+Ve%8mJ*JdcT(c8^>@Cpu>?qhb^Q?pz3@p@%EuVWUbP@@R zF3h5t1Z#I{!k%=h1=aLimQ(;-5A&s9;PMMNwyJ{GeEXJ(?<4sAcR#E&>!h4 zss*9S*x6#N#4;OSe#cN*g5RC-dSO0#j1sR*wpthE4N2{6l>-R(SHCapIV z_e6k(OFdBNBfEZhBKOw4^?2;)c}P7TKM9+WF$WC3X6Ac}iz0sgP}Np>aDPx=H9jFoC(8dusocj4l;tmJ7&~)w zk|V1CBVLC4Qn_?y9jdg)jOb^GLf>&s;wucNuZQ3`pHmk!mT~a7kY%Ao{KT~S%2!;C z-97>O0fE{aL7yU4N;h0WcSBp83)4&B;wB2q=)Ajt?K?`TgVG~R4cty;q^G`{Wg!?l zz|hLR9f?E+B7}&^vp*d9zw3#gVUX^1z_(p8Sa;iq@mdg%RarL%)4KMF{3L*T9F$Y} zN}!v7s88mC$>v7R+G80xc?R)ifM14`c+CrUUx)Yj(0eII4;6^}s@Z>DC8sP71Mb1g$t`NhSIZV|Pit|m1VS5=h4ub2ASc@z z+JX#AQo626Q0Cx_Oi=cC%B-}TH~EDESyTVv{iekS%LM;itE)9;(xW@f8vQUTxu#_- zv{8J9KrPN*8yrf2gy!%(P-P8SQqb5S-l=C1>?Ear*=JPv;y;=E9&+W)XrIItFj;a z?%8T$a%RzVS2e~Mg0;HTB?+DzHE0+M?f1TyOQKV_n{A=cXLYe1l^Y{!%Xvzkpej_n zjAR3zJ9h|#zxGYc-}=TJz?1Zg0nQu+9-OdW+SwB^;HMjTpbX4r)0y7Nw+JQn7FX_B8^}9&u zP+v_+u1)x1QQRC&}iU@ez79sxR`n!Ud$ z`stk}zqfGf@Sjyic-RQ{o{>-eoe5RG(R{gkkxke_;Ycq=ASU)rMrCpsK?5Om#TAK^ zI(vW?&nE&`#xh8_Qchdh*w^igIK9e!h^(8Fu|v!cO*zM6FN+5jGi4oiKq%Gm70gVC zTe5c_VkD!2z;%xIg;6c(W=>P}BFgmaGLQ6~P!r?tcElDX8jn2~=3iuu)KOy|2YXtp zXyXro*%8jpbG5|W(CmG5 z^LoTkV7zMtC9f?yMM2XVp6viosMGo3)hk!&30TMh%GZwpNV8##;Ht6D3~^%6Vy%02 z?L0Bl#I9^&e6p4!BLk!}>4WD?z`H1E_ zcV5ZDHk&-_8wXQ0-j&0i)|<;M4)uE$(MHTJ+9RUxADSR&Kdm^swPBJheX$~6 zyNx!!S9qP>cbEPNkzp&F(~v?+9}NQnbrhjDaA0RG?wzg~jQQoo0AClhSJkfk>5huB zlZ|2(ZZwP`X!I`^!|iA1%6InCX0{K%EK*D<7O;CrnN*XSgG>|D(n{l{xGn?fl-2qF5=Gq}6vgMTLvNAdy zTrA6|G{k}T^n6?$_Q%ya= z)`bcc@pHH1=~U2mtD=||#86x{iLzSSbx!kMNA&OUg?(@{^45>zGfr7&H@d3=jXeCX zo`UD)$P~>0$$j|E*YpTxiyo4ds-)Bk0kl0Cn~#}2^KjHEhJWTj#Nx*UKC(!3FT2`jxrLZ;gB6BLPy zdwRs!jGpI|$tS#B&Q<8WRPw{y-bD#kgmhtE;YQP$9~$O{(*CjreV8L#NsW%*>Ea0I1A9eajork zAcHv|LPX$lz0qkYo71zB)x`?=^UJ9fA`|csYutRK3xG4Pq+*d#76>!G&BaI z1|zq?S_IZuKJAQsx^G8$EO&DoKd@{H8>lMJ8$=x+N~X dJ```$8PAuFyrAU2$H)Kwv;05a0xoZc{}=3w6mb9m diff --git a/apps/changedetection/metadata/logo.jpg b/apps/changedetection/metadata/logo.jpg index e0c8d25ef23a3a2bc0d79ead5755aab2ca491602..bfab1631efb5762383a5c8ef34c0bb174de644ce 100644 GIT binary patch delta 16846 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 Fn*anPx`_Y) diff --git a/apps/cloudflared/metadata/logo.jpg b/apps/cloudflared/metadata/logo.jpg index 585973c1a1a6b824bbcc4fd568b16bd4c0bb75df..8f3b16fa825cba2d7178e32443f9cf373eddd248 100644 GIT binary patch literal 28294 zcmeFZ1ymf(w=X)l1(yVe;2PZBXYfIS6ExW18Z05WGq}4;fZzlO?k>R{f)m^Vyvg^S z@BGg__rAB*yJxMp)_v>jo~hom_itBsRdrSG-c>!%^Uv!59FQDP4gd!S2T*`*faguP zd7!kku^L!a4yYsxQvd*P0{|EyasU7jdsk<$ycCs=t{xT2Isgu~{Y55bE{=b5|H~AH zx}N(RJI(gLMEpMs(abGe%wUjTurIAM?BK9-B7pG(@Bii*|L~@N^CEwE4_8N57)I?6 z@2m-yhVkYwp7H&E;7$JnZ|3Oy2OkN;h(PSz{v7KM{VClG3wtdM*d7)3B?GtszyNuG z)SvRhe#6Ki4*(Fj0ss(V|0Od`1ppd@0DxDE|B}(>007v506@d|zhwWa6GszglfSY< zgr)G7mH@zcF#v$63jp9x008Lvf9YV!|IN8k!Bk|h^KyV~?*VoI3jh@W2(Sm30oY+2 z7k~r63E+EP0!aU9=l>G@$>hJ3!5`!2E&whnJOCbm0EY{J$Av?{g?sJ+kpH=y5E0=1 zDJyJ`3XhC}hJc9lM@cMK33pf1mH5KR!~?fvMoe-Df&a ze`8q=c;1b>&;KVdz~}4*&9|W7nq7(M9f?0mWY_&~)27fxh7Z{eeg7F9tiCDPje1P| z7ZQMMzfZPh9*_Ro{R?am_#fyMcCzcEV-K-|YU1B=IJSpzw2WFKzK{O{4&X(JvQnnN z%U@|g;rMUJK`m0zG_`5A)3iTB=D*W=y$k69soR&pQG>e*K80moiryu)1F@TVbu#lm z1^q)WW+$8HMv655jIaL?3L#-H#ml9QZU57TF;Xt1!IbXd)w|Bkx2PxXSr|h9217V) zhiE%?DMdBfy!*!zHfZjZ8{>jB5qP1i5vZTD;cfx!K!_W)Omx#~43{l{kElYX|Dc5GqfCy5nUoKxeAz#kd5(_ht}#wV5Y9 zF5~@a&R=G5vSJ%!z8#13#7ZCk68x1QEDf5ue-)%AOw2oq-J~1ffaOKJ)=ZWXXJGdi z;FWjw>7;7#^%2Y12fF6aVU52pvcGc>ehINNHR$A7MC@#9xoq^z4K4YyJ19{W*VI{*^Xg=oo$)YO2p@G3Fx|kKg-L4OLwdIx&Z3 z@pJyy*F}fkRqwg)Fz9(ZWuqR)s);G&rPp7U*vvQM?RPh`M$?yNUj$k5T1tL4%W7%N zx7tF>ylnH+j$6u#8$XQx$msm(mpxKQX}9?_Cr<%rxH|e~8zUOrIeDG^hV=UG8G!wx z)AX2N27q_1^^0}=x^IW~u(eev|J2p$^_7mi~J_+MU*wj!(m0YbZY^ZvCo~2QM8Lnql2l)Tc+Q$?R2bNS|01NV>ca<}47Hf)2S3i3I^{BIS(Q7x!{!{AR_tN7n;}8<>b&F656>Ap zjLe1xe7?Wz{z>NR8pEKZ73UQW;|;flI0dR2JNJKd2=83Vm<JbcJMb9%=@bGVw3m|Jp8+!{;>m) zzJ;AGxeI0sSHH^0A1T7(@Kyt^@Me^jCjfxO%<@UyUFEKWa_-+PU<^uYe4omKFbPe9 z|6x*aY4#r-oR7WUa`34^#(xCh|K_~G!CX3Ic$Am8 zL>v-oc=&`k1XR?VIlO!@KMwUTFAx41KvQMJYnc&U@PioTLk)F`u{uQY#ff`lA3uf| zHR)p|&JQj6Dct+Q7wa5p;R*di3WL?*4#H(D%#=WJs74NSn12i(Om7yAHI4hOdtmX) z$c9Wp`JIQTOrkm=^J07)i4A?NAO9_T14xAOk23dD@T1~}J zG!vOp*dJJHx=AY+bc2K+8Dbwj7L(2SN<1;yY-;1HG8@dZxjPYm<|d+5h4(I(6)_g_ z(`3|r`8ZvY9rb0+=tJT?eeFQHqQSHzxtDp9tg8XTl0il~X#8Vf)R>VL&o5bFgpRh9 z-#Q@CNNue7DaD2v@!!QCr%FB#T89{0yn5gB40tUD-v|-Geptwo4Kw&*zT3RkFW;2l zjY$;A16fd&VUWu=6H%?sXzlFGC@LEJ#;?IO9ut=B2L-Vg(&t9`RyV)4mAq6Ki7w?o zkG%h4%p2`sHN#L_{P>I0@tm8T*)_@S$S)eFa|mxTqE}?Ed!Ur)k(WbDEd592R@!2v z%8~s87P6=yww&3Lnl}jB;+=Aax!B|c<4vEKkc5v+38S@7NT)LVm$7X@cTeZGQ10mm z>93(vb$El3E{rq&XaYsf1MT^PR5lVLMO;y_-^~N&u~lU6z~-1U4ytOED9ksd5)SB_ z=5ZCKXl<_j^@wQSB;lp_sT8<+yxC9+0Wxt|bW480p1fG$Ccq5pih*PZ3bJT+={_lsY>K(txxDzrLUu>VJuk;s zPC=7ym!APa2QQX8%Sxl^ z{UeZ~S~tb$CTI4gJ^0txi!vn!xZNXmvw^J`3g+8|YoPM!CuHJ>$PbjA0(+|?p32-F z@!|6|;|wnr+~%CWXfr$+OUa8vg5?i}yR1#+0}=XxT#(m~*8IL;cKUv7NV1d$rGZ0G zX}^!5-yQY7Y9-mHWyQ$YMA4i&ewmJ2kurj}My+bnU4 zjz`w~b51_5oU2=4-q+5qzeXSgI5=^*XF!5G8CpGxG>$1SWq*Fz(!fjaJ{?pcG*$uj zcs*K=NeHqOWy-hb>6dh0D|zpuBTn}L`2iA28UkKI<0a`CWNswJ)wSXF*hR9qiWR(V z+$H5Cb+&_kC(-=59rvq18S1ld4WW8u>f#q0j9OgykOkRlC>FW5(R#{wLv22LJY3gV zwydy0ISBFfcA{}!j-z>u`Ib#0QVP*O2#N4>B~xBjWp8sqcLU)y!zauX7+0`iR;}p0 zyV@*os(Keu&|*H|CWEnn{A(Nc!hqT4XX%j^*Oh&EZFnKOxp>kc%c|CekpdgbLB(%d zV7}%dG#)D%cfq0D3L>J(V3}SnA~zvofg_e-QQ5ooHJ5>F5HGpZsJ|OL@%`?N!lpob z^}LjyUhpD>B3a&?Q|S{4zJ%TgPXeJ^r60-okY1R`WN!XC&eVYm=v+hY?!vNMo z3(9(M+&`Z=BE|xmg+7u3cV8`^I$tK#7>q;)Sr=kU7B*p(pT+*3$!w`8kbk{gb(;c` zk^o77zyLJ(?{L)sUV!LER-^Fev{%mNJdIcli)i)|By7XgGb7b;RS!5<;giD!nK~sJ zJ5#&j@GclJ%-lhZdO9_T&N0O3Wag|+not7FnBLZ;lMh%IskU~cK}b`%LUE>SWo83! zb-%gd4z}NBU96zIu1Q-zJp%{Zs^jGoA0mb^HQtvW>>#gh*ZK|`(}8+IPi1}Qr}XsS zRM+zzs?Zi%=_w~9B2<4qGurifv&5@3lCiRPxkKlGWPs*yY|kN5I$Lzz2CVg?z)Q%b zW`bi3)*v!mq%U< z9qI?hjifWYyD6IpQEOOM&?5uI)-f6~gMt#ESQC;puU1f4%30s8Srjm86eWU+E27!2 z>kS9iZzq#n*%~Dp@;7|srr(Iw)pe_gY(_zs6f`2#cR@JlVdpO-m!AOwng9&~rch9& z1rTIPyH*8C???1nlY8tWx&GxF8{*Hf@X%;2UnBY&Vix>Ake}t%jFs#Cahd8*NmY%K6bv z!+x{F60&}5gBqb&(n}$xMsgs8A3Cseqy33mq>7s8#~B8s>0n}7K_glqCy*~Nk?s-vhQ^b9CqU6x1mvx7fr=ew4TVt6xIVpkY$ zD8wUEpi_xi>}RYWQ}WW_t)SlEZ%`$CjJ}1E7Sp6fA#ifaso-?r5VDR?nPnOjz?pVK z>c^ouQoXrT?_HL5r|Qa=ed7@Z_e(@Juz92yYouP@{XO9xqF%eaZu%-2oJ=f<1T3Zowuigc6Z7#oxo>)6 zW|qC}xN$0U+Pf-XuyW6)x)WU$eFhxHaNIm?Ey!}4f8iRp1&Pp|YR<62hge__Dby^| z*r4(?{IJBr>?` zR@mS(tZ*~^qDp#{V}8o%C(ab$hg(xlLX_cqVrS?IR)}(89pFTvlDZ42ZjEWmw|lM; zl;G2Wb5dhS=reU`nOsN`9laqNHQf&1s8+!0i;gf}{jlb8YwGTlQ=98r zWEK16k;OJvEQ&tfKh%ZXu#6C|P}B9(a*ct8#BV`#65OTxQznE#m%$K2XX!DK4Hmbb zM4K~iiEO=ujCY`Dt^#bc5`y_{T}uJ4QElPv03)sYzRZ?Nd)2Sr))TA(rB_8JZj1m#QT zE|q?MTi!RnrCT9hOs3h%sV>n65A8N^^NZ}ErEkZLZd?7`c&@7;7itofOR^Vc{rEyP4qS}9Z@EGG4JI_E{!>RFQ?{i>XCtfU@E+^y}&0VZP6tGrh=yUp>93l!^L(yFzKB) zr|hx^+w@f8%*>;yM2+@sJ_Xwyv>PH1(6vy?Qa{qy|V$vU^j%TJw~{HaYJ4&4HVco1VU!^;u>j)0R2U6evb7 zaUg-gCMgdut|G&{ZK$+PV&r~Gzf?;$DJg+xLx$Fq31aYe1^D|gpi^&2p&{N3FC@XCt5w6(300VYow1L zlPi{%+fNu9Q&B2-vTBE6gTBY3qEo@9Q86CrJI_p}z~PR)6w;E~y=U1^APqLp7FJ7l zDWh95(R7$FxQ?+<;tusR;lQV*VsGY_?PVdzjg9BiSpEj%ZvrYqMfI740F@E*$aoYc z33=ScvT;7)7Pl~F+IyWjm zyQ;*FB~{oyEAdO6>RR+(%=Fjm(1%~8akv{p(dkE1UN!zgHAjJzhc({P#=D(m({ME< zorn-*eZVt74AUq9X%qxN&=p;voHAQjWY`aX?+~%?SkWmd(Q>F+5bdV&v_<^x?0A|P`}&dl?Zc3hxEpIKfbudm zEw`qLwdsr@T_JdhQum$PW?QRyF|@(?QM~EYkzSe6ZC!AZTu7r{I|>mOrn!W$K)(1x^Ib-p<)=JLf^uP!1k^R zz1*&4A_;}O$g3Z(yIei?epaxNIbEgCjt760GxCHF|HkIWor^NkM)tY}=<>Z((s(qX z^Rd%Yrew?$kJxzB4ds>$Ddz~R8Yg|$C|3~58>nne%{r6L&b%a?+e){#goJTOC*N+b z6^}%ek+ysd(JbX7n9@d0P*B{Wrm>Is62Ueajy7qx6p8J#BByNAT_4Fg}f|%PiBDk78y~&j7B= z+3~vUoAu$U5?ydvkITy<+=toE^wn{03Z=9z$rf-Avq8X;@~${uW5FNeXWGJf4$3UY zXi^e!qwq(3R8T_i z5!4V$JdP1>OD|qHKyE`H<8I78*yhV0F`V@M>X-Vlkblze(l4xI{tW1nUy0t0dNhow zb@<(+`3l6ZDNrVI5Irg89O+H2`jn6TmHSD_8yEQaQsqd!je<}vzeHCv%_f8^r@8*0ADqGcAJp8+0w&w!0d zUm`5^p#vg8zZkPo)ktwqJ2G#jq3neNRkQcMo3s^%Sbo)By?M){$#4gWv1*on5LPa5Hw;)Ew;}eBmWiAwO##)lsN%qT4rP1VfyEdBPb~9K)pnP$Yb~z|Y z^S6aXRyQ_bqKJY6ff7l-R3Sq#uq&;!@BB&e4o@Cbeo(6_eh5`Ogl$LgE@-0QGX*^1 z$uv=X{#>wJ<=Hs(q-vKiT>b=80v`g04oJ(vHMW&mx;WEb@A{6ZR-WoK&;Z9B*FlUq z>QqbUvrlL`6U_jn4rS}Nk3fJegBsaSVtYL68FU`n2oF)d*M#<3r;O|@L&fL`AI5uH zYb0e1mW!7Z6tdxY66f_!idBTh6D1Q$vcN!?PmZiUbh1mFrea92Hw;YJt$sW7%3-H` zgY*o~q3)w;Zwy*+Ua$3w>LDpo2<(yYH*gU+r}Fhn$6Np7vM*02Z=L~}zPr%XN6n)8 zMxSh4L^o#Xch3MaYHCziWf#zT0jh74-HV~$CJA%v!!_W1W&5*rP!9I8i*cyM!KoAk z=KG@5Jq>ZAzGWhVAp1P8U?zg58LJl(kpfW+ksX1D#ocZ`2kI9Xa3vm_u9E8WaAJ0v z%WGxaE2L!UbY=s^N%AMBJX*nr1cjNQC0*+Gv<;4Y*bF_*n-#W#WncLff$fI|me}-X z`1iuv2Tb<&4XeMKmb>DME?c@wW+qN_dSZgxxrbDBRKnk!CkQ?~8YzS*mJHD^^)O*! zXOL)ryw@@bum}F6y?Yq8)v%Qgn<<)0EdEIwguTj%;O^5zEsIa1nU;`5s<;P9TCo#K z2&~8*y`xj0HKZ-1@7HM;uo^NXd|O+8_-Z4c$yLi}=tqTFaAe`6mN$!0O*9EtvaHro z<%hoihW)>(knp~vOJ0paeo%y(vr9$OG}85wMbX?QNV;6d&E`gUAF+^M9bibc4-X1s zu%^vs>eC%35E3P!MM+6YURdMboVL;^4{`_->LdxBwKWSI>6jdUK>T3fn3{Yq z_zZX#qZp0P^$d^~Kf>L2>asN6`}r6k$}XTZ{7Ci;sFpA6M@#k3&%Q>zY}(*{bLsNb zNs&xOZ}AlEKTk8Y^R9`WpeugO_~aZ=G5ZBCutVO;t#+()I9?R zqhKLM-G4%iXz1uDNdI$)@vjKuG{I{c4lXrVl#!5#TS5vJVw{}8p^|n9fX3(6Ownp; z!9t9+=59H8`E)#dvT_!Ib)A0&7~%g8Fb2At-}3B6T~w+N5J##la>f zziKcz?#Z0H=!w{yNeRauj6&zQW||SHxnjYx56LuWyC9S>PIqE^fX7Ss)sgcbvsy?w z2r+!PLmIzYdn-30zoH=`{|p#Y?4FDxqG^0&+kP{j8!Ftm%LiGhW{TJ7&r8m$T0vrQ zqI&v7{;J?)DYS18utFOO9F}=)qJQ&wfWV{HX^a36dPbrz3Iua|H7i;SYlLpHIqe3 z;idD7Orpa4!snuhqAyO337Jr&Wef1!29NfFm^k&Q)+-aFIZ+$)rbGVjET< zl2&>I?1^;1CaP#vemnqeEMN{e1K438&9^VgDc;kyIFCYNOP$pY{b7G)C#AMv=GshU z+w@g_XC0cSnWtHZ2MTMZJ*17Vi0|{Gj=hn~PBgYB>lNe*-aOiNcFhPWaBIU?IB1xy zaSS?a2(RDFRtwPzq3}VOe9fBF9VPVHQF2o(e9AsC=Vnli>GjrVYuQPt++&iJLzMOE z!B;))YKJu`6YD*q*lLxji93J%xWk4TN|5Rp z$caK4Z{9}fz1jtKE_>af4Z3uwPKzd#FF@o+i=W#~jUvu^vrR9MMVeM8CGPk=9d6ao zkDR_Q><4$RzzOwCHgq6$W^jVNW}ZEeL6`QBVKY7U=V#nY3!C&Z&K&{YVK1Ae=sUzR zCI&MHT=(Ff7LdfRESoY-GqCjqGk6Y{0v}6kL&OBFNnr;(8XL=-h=a^c=dNN_F za}swINmrp2Hwv!DSi#jS4JX=*Octv$aO{Yyt2_xTHy*wbvXA+)?%J`_PIVF%&rFNV zQbVdfpDOD(djw7THGDK6;VwKXHdSBPXP_9Wwx@>%ypLI5`N~z=uxSxG-0+0B7#;Sb zEl7_Ac^RapF^pm#VW98F)*Ngh=*`tHJv{kIi}4dH{%WBL^JKP&5!xo)TYOvNmnjBL z4f^_3m23@*pk*f;G%36|=R(GLTDXe%a^enmg$eC#vg+VsF(`OP_An)s=Ix~`1~DS# z5FW|w>gmUWa!Zm~w;ge3 ziuQS{lh9zR3YJ+D-3%pnW#RSqEbcWLZy#6|#ti4W}C-jVREB-~Ns*jo!L>Z2B0yueN@y)57M5Bp&?4Tj?D&83%?r z$S31?Nsob6>KHcEw*oh$FETC6>@U;FRlGu+7{Nv(Q^hn2av>^ijkD*V?Mk?$al*0d z`cIAD7zmjwgT1@q2=& zwDXTph@n--?#&uyEx?mz`^swN%U9@3CN&em0eGTDCd<$Ot2?b!_Ix=l3*Xh9-o)h{ zAx=EcD2{YkB&2IDQ;3W zot?-QGesd^L0q`@{z6v*Sae$RTH}r+Tqaijr%L3fE8#;F0`f&Bd__C$O+iI38HN@; zdL`j|P&GEsn+roqVO;v2tS;Iv=t#*4M(!?|Vr2=1EN$E&sXS%xjZ{jBAXodja#D$$ zkpG>^YnT_2*y|O-Ho5ZUEmK_)RMiaxVUIhfDcB!yd_)F+J*?j9X5%MMTChXp>9&HP zkp!qMN`XZsX^2lsPx@>tM$o716g4eT`AJ74X!7O5hcNeTW?aAY-_D2(>JCFS=o5M8 zFdwdg%#pt?joxJaVyE7uy~J(Z{-=#qqfs$ zTlx@_%)$$(B&T!lrbl-~@5n&(31Fa`#kF zAT3m-R;5;zNz5eA;-K9mDJ3CAWl)z!*@Tv(OLf?HYkg7SuJ5O*q)<(qhXCwxnch4g zb+(xFD^xR9FT&Txo_(zb>2X-}-=oCu2?;Rb~z9vwMdfO4R z6h-)fVcsd{YYn=1o>N=%-kU4cg{YlX>+zYlu>Fbk+CuqJzstZb#besj2t8T-niOl0 zzI_BcsW*O%%TIrB;_S+k0lJo2M7ZlFR@ZAW$@`mc=(0NL=oS+3C0JW=3tP)1Kd(hK zNnx<@1*eu4aulaWS*h^;O-hWNKZ zZxR!69;LGuO$d*@PHgnKj78i|-TItBU95f3QaiBM)+wVK&DM}^Z&qgs%=3_@Ll#sl zLK4+9and1U@;ffw44Q03$PyzNuy-G!=h2<&*D~HUSr)YvaiY@^A+>ymWop@e?Sux3c`mSY!`Z`>>>HlaCeps-AH8?Zqm`$8S_Wtc3b zw3wEk_-aNy8QP_%?g8X*z2s4aCSd+5`!R`%^!D6s)99B4kW&&@DWo-pW$1-N`0A(q ziOG&ld!UwwkJWuo>p|9@Cy@lNWqZcu?W*NACS{1-tyOR-OE-zBH0g(qwyI zM?5&Ka3S}vK9)TL(#dC8?uVZN4K8=psTWYz)Y>UQeCl=4Po6h&xsQJD_5AP7PI~np z!1+JSubY%%>&;we%dAC8vl%I^JSa|o_&1cT?Q#p-F>vk@*eHLfjT=ZS*!WG^-)=Yf zxL)}TNE<)?#cgi|zj|vc)N#Y)TZQZ}%EV6`{M9clF#aJT&}^*;@^q$kf4DXp_%m`f zVu@4B?R-eDW7fy}VT^K>Ia^2E5_wN>27qi_(pDQG?O~TvOITmzw<~# z#x$hW(48hs)}H4>fp-)G3CL6tK5feNfI4Yi=M$Ot##@fOm^yd!dh;$ z#VurSU8HBvW9^DFU*1K1?x|2+aS&8eU$y8jZgA(vWAQ*J?C&1#P++<;8F>a|WS)P; zl)ofX^xupv%po=AWt~ZK=`^oy_t82; zHt~^0S!q=TElBJ1in)Hsc$J7+HXXwy3?_Ly>INr4AxnR)wn-J!o$>XUg^5G0HZ}1r zzUSrj98XYRv3ZHH*ZVo1ALn>(C6=tSx+CXG;RS_kfXrPQ^E_IofocBwI|J?b@U6Fz zhy?+B0jO7zYAb7dbs^EU$9x!p$IY6SgO5+Nv2YA(B!kQX3CpoL z`i2^$Oc@@Lc&2rS^$Ar^s0edk^!Gga(PZ_6%Y`q^^qN7*^m|+UFU|s-9 zG;HGH*8cO;Uhy;FO7D#Ky+@iB@HnUhpA4mtbD8EQl1X% z{QUl4JmIpiK}WWK-x^z|SG$-fMkQGzr8@N2f=0QBWp|sDm-c2wU^JH;H#|ox zlp#n%yt)WB`(MGLmfR`As$WK$iJ*+l;3y1v*|BYzzjM&#(i`b`MkN!zT^61 z)XU%P-AQj4$I=qA2OC%Aq$+y~6PwM-jtkB`?-9Axs=(B6e)}ceR*y(xQNNzTd17V* zKPCi5g#obDh|bul*&7;uRI*bmsNIz#G2D=8@)L{%+vTGx^Ujy~_V(+?2u!C>C24+a zxJk6CK(GK5VnoT4pLpn5-UUps2122VZ^8@9mJE)`r$=ty`abmd2)9raL_P;qMwV3*CzSPNR`7 z9E3rKDvxVq7`vbia=UKKcTrbWce--+U&ziJ zGR#~jborsp+sc3nnH3IT#Iwz-a z2x)WZ!|Jh(OpMw&Pu7h$BXYNpF7Ime=`HPGp zpH7Zw)b~d=v+3GwR6G6xa#-p9+TD?^F{rz&l+h-HLIIjt{ZremfA_9}s6DOdQ`5YO z26ja%m&tDy3$?e?nzuDWtyJfE0t)SJr=_Len9Yhpotnq`J7w2|of-M8*cmZ}ev-rH zY^SnxHkMvHzhw1Mv$OnCo>eB@&l>dc{OyPQI0^C~ivV5fI29IJm4O4-U@&TJzo%b9 zA#uwF8aN*`8sE5^Ov$Lfsw_t(UU?;0R|4n#wONCP^ zEVWH?&4_4`+LBlHO~MU8Q#Ys}0hbWY(2xguT*~LwBjv&tdqL24QgqobDef~K%?d#$ zOpYhYAX6Z1#&*VbChc{AhUV9q6_q7V;Lry<5A))F7tFbc56e1y-qN~2=22B4l&G1l zP!V})%s!1w6{?#C{qTc?_rx!QG$9%9#})Ch?7wxZ^l!LlbqiXvw*vr#!=}K<|C(Msx z5TreUx@OJj2ee3;WIk@tkWCE9(PzXrK{w`Z1JjL8+q8IRG2<~=->_uKl1^@Mc4|67 z*|a>zTZNDD!x@up3Csp11jiU+>a`{kU8xg;O)IddJ{OS6($ro-81+8%p484j=(}YO zxauq{qS?=qlVrkP3X4RRvkji-DsVX`@>JtkM55@-D;LO z=eop)(jVlfmkyo4z`$9>WP>61$>|%M-Q|Ugq{ozQr-yD)@K&{kx*?CiiTlVk zz9n9R$xaGEK`edqq6&w{)jqOL`LeLO{i>(QSYo~!@EUi|3jSH0 zga)=+67Zbo$`&~GUeyxdEaZs!9ipQ;>9R^f+6E`8F2ow>!SOkf`}ce|g*UAN7noL4 zy@wE4f#MyTA)i3ih^aC$&Q*PPHUp)Y*q$O#Sbl?EpyziC#pUA%%p~-RG*EX6lYKqs zV>pAv3K^s zZQ_a{F}@;1k)`+dGw!r4<=HkW%Cuu1#oJ_AG-vN4yz}dnRQa{FB7F~m@ia`6tSLuM zF8Ilt3rT^p?$W)nh|?Pd!>`w|<47JGhRVO$zGv8BrlT2Y)}=|oc+b!{^-8@kNe(qG zhjpai5x^a9Usj>%J(mL+I|cXnQImGvX_FS)aI<@>$oD9|SbevEGC@hnZ;D8UI)=J} zsBe;5Q&FI$%ej&y+LN5HJLpd;?zT`+UYW_Xzxk>TN`}I*WhnyUWC+y*30JgXuC=ja zDQhY8yJfr&Bi)|Zl>2@5Ld9hjSJh)0C~V4=^5S)uz^5aR=+nd8Anyf7tKjSCnEAiptCxvA|#@zS`d9YLTUlo`qHdLhCl| z!BigseeN&$0%sp<6^Vy{xQ4Hs%3nxcQVfbh3<3n0wzw4fB{oTPqb-d1sB{~~30LqR zrs6{}N0SWrry5RtoH+-Lj3$=(RJF1 z;cM;i>69Xjf1~mH6)XlKx-nC}F*_6oH~ewfWfyE$yT+TT5$vL@m`ElcS0tby4=o)x zQI%9CWTj~eliC{U_c`9;WJq2<;&s|FiSDNwrByB@Jw&nb>7mKONOD!)rUP%J>X`G)xSA+v`4RaP+0vFEy-z2Av~|zrIa*1QUBz9|a%e z$6xwl#8GRc6_vVh3Yi5SYlJqu$+lh4zZm>X$F#6-R%W3?TQV%!IK0TIGfb#GqT;iS z@eXgB9DP2t%9$r9pKtvn8ys`e@EW6uLZLKd!ERzA%W7TR;;S@BFhA5cX}$DO;px!9 z^pdUyo^ym~DZl>fhJ6!k0$D`!A^45)V~|n9+KW|RzWlQ#T%T1#E|;secH(az zl(K!l8ov!uFuU4v2rhrDX`sw1_jUWt*MBjpetykQ5iG@8{y`GcN8mV%gXsV;#U0%L7jsJc1Ma@=v+}Cms+J~ehFFeK{KIa@-6fTyaS4Ne6khthxY=IHO zM~rc^I3CyG^=`apfMzOWuWR9yIhz~l{$qppP~)fu^D{sZ19HfmK2(zM=wNrQ;I$I7 zWVfB|A}?@TmSQ|YYapLt%8C^iV+umD|LWfL68k>vI~44dY-XfHs_I2uRcKaErAj0W z++c7ZjaF|H9e&p}a}~>{$;(kNnN2vuUtkZL%UyR&s|?XE(#Vc06z%foJCT32z`R52 zfm3B=cCPW*PbB0`&zJ9yo`iha(-uN%m47RO5i^*P zn&5&N_i>vto{n$!Yw0|G=jMWOuMzbM*`nRWIE^A}r0z;IZTz(r>1RiG+m5HP>_@sI z-YHLl#5V_ByS>qec&gdrUN*GC&{e$c^T2Sr{^`&QJ)6=oCC6O%or(O!XcKFjpTgEy zv!3~qZL-_y`vO^FBgpYVr8K{oa*Sm_!kFv%ZY5H-w#yJ4z=Lv|u+-lAj(TQ(-r+o{NJbDj7Q#-bP*XnZ9M>CwoVUKsZk6qe` z=5ZM^vlQ5RFMR;%GJK@I`ai>9=GaqJE+K9Js$3&HOjE`IiPG%LcW9%{=oUk9{*Kw1 zHcJ?%sA3vVV}^B9QC3nO9}HZkI$QDw9_zn_JTlZn3>z=AX6xP8ro6Rh|M$iDm6gyJ zDO{1(xa@jz;2fxyR8T(!mkQ;2AM81a1qb%uCkP1e$gr2*{(grR_QxsIoRaD$PM>gK z@6g8OQgzn+%9%Xd_~#W`acbB!-Es>0ccab_yFh0NKbr=IxNQWhwuOiY+oty5;GE{vLmV^-QS7_tz^H3^YBQZ(gvLpXY&V zjm`o|f+!9xEK>ZWhc-uSIzJrEY3ZE3DHWpI#BgKnSvF0h0LF448mNU>W>_K8H=yfS zsVv9q^sF0{qODag zf5hcTDC*&tlyyGih|V@+nH^Y`+L203o)Aitf8XW|;$ho*IUa8OdXPNlCj50Ho!ADu ze3yR#Y-O5N;J~fJe%$DH9ULpv!I_C`9Mh@J_>X8{IGLeONal_PaN$z(=LXjna1#i> zxTjs3^9hM$6v1k3h~$9fjA_(_9{8E1_8xA0&ix5o35?fVGL4k9OmkUl#w~wW8-{p|TG%l~hDN+x6H$M4Q)n01I}-k4^z4Y~MB;j?P8&Bx zg}&naS0zoEgboJ$dalk^6D6ZZN&y^-OhY@#dM4>MMTr?V4r(gIytpnUUbqpE;UL!4 z+~|qqZ1m;@zH{A&a!T+v>fu`dVKIgRCC~g!2-**X!8xA1S3qwog0mAwLNx{o&CI^t z;^M4Mu|8M3mB(OaX|!lGD^>u4Pqf1PAU2JQVD8FrC8dL7uy5p+HFyeOiiJlLAF zyZGH>0fG2EKEyxFt?Ooeki&!>O)Lw+;aug+%~~z34;ZIZ2dt_zmX_b=3w}$yWSrW! zXr=RUbmbh3FyX3`EG1Q-ezBD#fj(06f3^1=eobuM+LJ~JErC#_gwP@&O;n0tfY1>F z5)AV*nf;rY{j6P9=2UpO_xo0celm25JfD(?cFRu2}G;JXu=&eo|SWF57tD3^8&Wd%F2yr{KnM zV@v;*u>GnV+=pLLBMH62B;#I!jNIL=XUhrCo<{NCi*LRp8Kn*d zWJz57T*c6Mgc4pkFe=Wn>C2K6BEPiD;moe+>r$;{YgrY6;^u<)waO3*cVU!HUB#ck zO2MGeOu zy%%zSJFJ++iQng3sGDvV(v0guWaLhdqg1xBq|LeGEQ(`=@sa+4n4bD<@axdCeduc9vNN2v}*vQlyk)3vkS7~pixrE zMU~Zn<&`7+h7Y(;`ytKc1ddD^SU2+fOq)P^SidWdjCNTzb*}-@TFcENW*~v4kj+jp>aa;b5Els z$H}KHTfaRBdj0U+?>nNYh3dq_jSacnVLfIyiNB(Q0T6ZvBRd$y|E2#OH2})JHOl;N zPSuqR0Dnf=`e!aUZO6LJ&iwa;{)K=E|BeE{FPI(1>c8O7sXqYlf58R*v^jA9%m|_V z^?eZYA2ZnArT@}@#UuQy4EZ0pZs6Y**WVgDe?M^ZFB8r-|4!@!`*r4Q z0Qxt`RutK9^dErxKXC3pF*XEZ7x_D>?wkm2$NaaWWV1Im1Sjuo*dKP_pO_dlmDt(!&aDbUvo`>*!OMzJhr}<7!0xizoi+1+?qw%$CkX); zb_9w2%j6y9uLPnncT|l(0yqAJvco&6?&v!tn&V#}TN5Jfm>~9+yX_}?ecONc+LrkX z-P$Sqf9Zch4Y1v--AH!SAu#9<_v)8_1wzVd0!H>bzLjSPnv$Mh)6SxQ{^eZlLuRqa)Nztt>Y~dg{5lLLz6TLR+!_6-V&t7 zW}|{smP_dzZYw;AUb+6fiIvLWQW=TZ`E^Q`f%y;8i@HB zDVvaw?HVfp{@W}-hM54$3^L43Qev4?5&|8?c{OrYYya`2!hMCs$1O}k6biX~_U$dY z5T2IqgpRJiR-^bV!~y*7cr}2dkhP^A36?4LJ=dskDAzzS$7PUQ+>;XphT}fQg-(%R z>{L?{ut5!!+_`?BU*m7hUVeX)e0le`eCE+oc({s-BhZ5878H*LC+3z9eO zMWQ0ErfSpqB@`5S)oXSgQkhSCK}z1&Icl*y%%q4=CBJ+OtJ-`Jwf*dp79XZTD(&K# zfOy79WPU{D7P*`YZT zcwUE#S0O}$Y%*R{j(5RV0ggbGqSy&N#4eF#hl@}e-9U>`?jq3?MCz$58|BzrL#Zgb zu|;`qTO*#D8A+(UZTK#$oMW2gh~+aPWb$y!z?7!cdn5#WV6ipAd{2Ih^1oDPxpHWn zVLh{srwfeuc>Bn5j-7vyvLaCv*$i@NAu_UoSA&g zsV|B-$~U@e`SyMX8{pkny_iK$N$O>$mo=)YeX-R{e$VSW7s;Dh>;k7-iw{TLo+d57? zs7_u8bD3Ez`BCCkcgv+fIm#!>UA#t|4j7UT9pIfNBjFfqqL6^xcnR6)mAt9--abGU z1ayhfXo=62N)3tT7>q*0`uNa|_(aN6P+=jV!v#KTtH z%4d5Io3}c7YvAtXgHPQc)9C>s80v?^E3kPZx6IxC;nxLDksZ?T_2F}G4^?|^i>@da zaBy0QN$M-}Tf09B<3LW$>;nQ%`7_QXVGtu2gusY?2bHowx z5amkQhKOKoBK0|{$0ke%?2}*$e$-f6iy-oM&_W~?zu9H=V;GFeQP(QsyW+sz3EqyE zP9Z0^3b#TH?o7`fzBa;xG{#66Ahitc!aEz=U)6Wl&VFRY^V=0TfzsmK-Q>kMkRU=) zkg5I&RxVjE_HEs~L-Z!OBTdUhy5Eufr)6uDs`+IdCg zprBC0@0xGZhr1*D%@$@_@1IK3&>~H9C-O?ANNR9!aU_rshU}U1d!s!I+hHxCrc4=`YhL{RFxA_sK9T8 zDHV)3fKbsTRmrN-O)D}Ip%!a6^bn`*&6hs?yQ2+;9U)#|1y^sgkhkQ6`9ByLTTjkb3h~s1m;-mN`WqtaKM1Ps4xwZaYn-&Yo9CyZ?s2@yrDEXRY5WZpj;fXGQ zc>>|xshlJR>kua01G{|J%P)}r;17k0!%YOvroo-172Qh6Hcybj7cRMoIy8VPLDd5C zqfawOIr#CCXM4nt-87=>y|Yuq?@xWNVP8;8H|RZw&^uY?=@)0;4kRWxnFD0renv~z zwrOVJz!GOJv^rWNmi%J4kR_g0n^0T3UWum&FgIX|LN5 zh{8l-G)T0dDJl4L+WX(Mt}II1_~ML~1Wua{^|9&!13m@J{P)G!;r&4x?Yq02^~rnh zYWw3kn~IPImHOC`EXGlK>8ozgCa1z2IF3kcP3Nld+ZR6PDsSg!_B7lvcW$EOWxK8i>Lrk=5xM zay(ZTzYjLCg%KMi{5}jX|DgY9C3|Oq^-4o{`_7viN&}Pr<;%eBTXN=i7e@j4R~J@E z;9TWZWMgN$!dctJRg}bGNfl%6iAC?YlmKH+iFhd0yqT5OFFzeL*$C|eGVx5Lfqvx~ z-oR$e0q%4G&ufq8a)trESbI70W(DVv20V%r^Cp;MH8h8MwCs|gYOMcoFgEM3!y7Z( z1Fk$8V_7ALH;>d;>-2N<4}`p(Al-P z`d|&bJ;7#?wA5&Y-xK*R|4AY!1;z`UNMuhD6?S5j2V}3VPL&Hyh`5j;uiM*gF~(y%yeVY*`On)qckit~p~nc`ITn6g4jEBvWUsr@T1yYwk48A>F9tQsL_ z;y5X$3UFazc-+S|UcHwD;>^q^`N#_j1U_8xBUho1wk@IraHUp%j>V??Qc48FZwVIF zVNqzAh)#bP;nCfhJkK%08%sie+m0-hDS!PbB6#mr?by%= zl()F5;KL6csr%K;G>}&$r>AJ}QXr`j*n1q**P&sao9VW_PSFh(y^yj#tFgt3-w0?mL!OV(8wH8R5``a zewZ;sxtv&)b8n~SSy1G}-Ze>3+M5OP73I{AJezjVl;nMVwiEExQ}H)GaQcHyaw6~IgPo=${Mo7NT&E$ii98eJJ~x*~X`0>d zlCA5EMcu^-H${;uX|L?Bb&F9kkNxVCe7Hi3UDA^BQ3IruHGw_Pl8&dDFY&9egQaXI z?b}oN<&FXZ$R`Us)4^3ivOLCPf{~l5(OE{2UZ-=iVx55Q886T*GfqTBa;BNjn)oD{ z9xDcU9^-Wbt?EDxmN2IoM0_mTaGt~q78Y%~W(8z+JyAKO84_5UiG5j0PP@eo3U7p^ zhRx3*R2majZILwFc5VVVF=X}|Bt2M`x8bo40g2?AM&e`4CqV?Q3jPn>$JG-hn?H1> zMaTu7cj{z(EWJ^9a5*9emQCn~Q#<-vxyUF404#zaeaO}$u`xsMr0PSl; zN0F-^#{Yw;gK4-g*{Y?aP5A)nWB||uB#(ZC4di;FbTY2${FAF_7iO$|$ulaDzN{o97%JUKW7XcqyJ{E}kML@C(Tx>FFIi?i*#F7D3PHI= z$qKG>5Y`t5z<`F_9PYQT{93y4wj9tQ2{9gBydl$mP`aQ(25=qr(qzXIxmz+FTgJKAE1JzZh{BM-815WX9J**fE+?}XXP4z1)Y%h z2%}nd-PauOL?BGTT0fG@9E;tyhHjcAg(*LmAzoufX%9??Ip4Lmq+a|sLtjY10w8-p z*t2W@BTu3!<}qF+raf>ZY2DJ8(dMc8l#o$uV#t$-Kn9u#Ch+r4eCuIP-&`rkYGP(E z7^9;XJ+3d`C$B~ryP785Jt#DG!&NfRjLdcM$j3?x`eTp{$PH=zM1H7D*Eq}hcL@zs zIU~x27Y|-$eCJEc5iy2U3zcO1fEZj;gV7byA-4sM>|>!Ha;_ekIm-%gwvz73T0yVh{8;TwAf#^9;6ML9dr)!&xOL=A9FS08b}d0QMfCV=RE`}Xi!+sXTKe)*`@c1sV3;zPEC#=EtdA)xyCY8)PH zbeynBSDHPfW~piXzRPg%X3iKZ)-CZsmHgJ$^B~2vk7N`>ysT@MQ9RZv`X<03n(T?H zG%J+}v;ZAb#if9CH4D7Na9hOI@sZTG%&EocmlnV$Cv1ldnG;EgYtYs^jnNkGxVbk? zkRzdJg6mFDe1ZZp4#|FSD^-u_Qdr~Q_rPKvBrjZm4uHsl<3W-8kDY4hWm&O!_rB!H6)!kQ4=GiW zs<_&pwe=Iw-iF>uB!i%MWQ%p98`Dhw1nTsB$ZeJ<2#0}Vs*Q!7IZiK2AIqMh{2GC zC{EsG&~GbLkX3;@+C9wvu(+Bt$oL4BV@c!L1%8Om2)3;2Wf5bn>TFw#_y_9;EFAY7 z3EOYTGh03G)c<{0;nYSyzp;A$b$FzDry)WeM8=>~b>N9&XRCXKyxbn0%)eHg8czwI z;qES4dh6IJf5kcU5+>?L5rJq`?zF+3`gttf%O9G38Q9~SH}5L6clDDaT%tqHQ7MZG3NAx=ouqCQO{flW4*$ z_)p+O#P+_QfE%B+CSE39z4)^c$_kUXBCo`WJG+RyWc1bkGj_dyP(G#hakONdX3_b6 zaEv+SM!zq>L&WhpMGH6HigQF&J1Scx43}oTjLp&?+@6REK6!3I0#h$sSd5eU{o25E zaPJ+5E4kJC4dn~&g({k&^^HrL2d2e5cX{|1wDnZe$Dkb$5nmh1PoNBLa~fsJlZG`^ zyM8N6elIdC!ql+B!jI!}TJwPmEApk`QndFG`U~qkZ`pIQ2^lU&hB}R(QI@dq>V58) z=Vl8?6Eh%AMcwx)3md217}E6!FAt~P$K5wqy27A0y0EnFVQB?ddyq2#EgzC#t)VHU z?;u8+YU{J7=6n)PTSWD>XDQ&+iClFmEkbxhv)LonfEarq1V}(3i9)l`OLFb@cFe(V z(wDx-tWRCF*iQcmT&?#v;>x^=(YYgc=b%=`y^vdhte}O!cRcrwh)SHj;Z^sz_t~gP zF~S&j{=u62xhXB$v zMTV{f^7SiliHS-7F#dyKmn6CvU=>z6vXr8tB2cWsgmQs^a8AM$yAk=k%qx)bY3QZm z{)}cv)0+-k*d8=Q5>YOr?A*^PsJKEu+?$v7aN>{|+Y`KKZ;buDNFYZbzfcjON`X@j z7DrV<_~cI7WkcpaBw3YuQaQ7Fp{ILeft(70-plw(va zD+@r@GTnfP2-WFsYzY;{rxTe5hrqQ?d z^y*m^VXBMjuFoyerKiVJUz?wwbVKzpYxL|Z18hk~PG| zF^Y3U(}v?*X^f57jFi>tklCZ=d^l2y>-lyZjQ!VK?Cb4F;AX(bML%6Gw*xry}!P-Zk?r5`|K*6+V!hlY1clNW0$jl2bw?- z5OC$n6~IgC1-P8QG6s6_!t%AAE)eueotgjuTRS^~a5%7EYCko=Vd@{Eg=S zL0kWgR{BBvc)EE~^Su5+BMkIjP-$B#&F}CJwDmvGHg1R?`J<_Ml;F-@Kg#+Me$?)+ zoeM;t8sDV;*Z>{?J%9$_`H%WjpQ*t$4*-xm1OTr7@t-{FGynh}1^_&o_)i}9p8&x9 zPynE&?>~9}iHVyP!s@TD`+AEh|031Km>F29I6z=cg*3UO?-oAS6`cFU7Uq7HGU%7e}aO3A|*Kgjv zLCtjKr>j)@2JOvjk|DH6!t)~w$gvKW%SM(1`TIcdesUf@* zWn^utai3c*CjfV^UZGa_DlI@2Ff;p~rT#bd-w6CS0{@M`e(UImkF-AX^=Y)(YzjS0bIqA65t5FeNjCKYy)`(K71F(3G2SVFbdP{dO|KmA&QK znx+NZIReK+O+OqZcrND+v;|(*kgWCN4@e*LY?t4)$$5ep(j7R36hd~7-AY7kE884I zV{9#08Yb(NpZcrggWx6>_WAXaLc8kFym`$>3F(3EN8grX)N=cL>{RMRm1^ai=vJms zD^bH`Eo*p#*1@A9?r$RFr4*o_)BR@E-&%~BfM$MBk0MR;qTD4bZ|u2|>`&{ZBb>XnE6u4a1)a01V_arEn_+|$ji=6p7VjblO89>-RpC-Qr$SABi!>=hID zqa6aPwv%iYQ9UjeF0{)n72EPhk%y2pj}aPpCuSj3IOk6>x^sf1a~D`b)TX-$jb z&T{PQp|h02W;5v;al0|-rf*G(tWfO(?Um%8ZPvZF zyiszyZRxRiGzq_p^i7%97Y%-h#!ihhPA?m0y*BrZP4Sn`)Z&6fCT+Eb&k%)Zl`tlBy>|*-jiFrwl;X`IRKU zkV+Wb^=l5w7^BxOJw?hh8r%U+x=U-)XKc=g4cU-q8yW;px-J3YDfNCwh0fEtMljfv zG`gAwpRZ^7x>8v?+=g5n)fOp?O?Wv;>GjxsS)5JF)*kKS^Q@Hp40q6_@yO3En?AwOzS|RLqC1 zE2z>G1{*ST-RtFK8_qCu_~7J98ud)v*Dj~@O1_}^zaCa^yd`V*eGLGkmWR%NN4wX# z(%u)b#TTh%lRJhzoW2(KuFIAwvo!u;7^!grm1p?^Cl-{paW^jU=Cdx7KD5F zdFo9kbazC?ntbiZl>Li;+A6kq>1S)r>#bt&jpgGM={n(uM&gV|QR3RV(qfqHV3TxHSoFgg`_R>q`y=$4Fu^tI#P0s_wTVfIQm1TAa2>PMm#Te`bJzST@i48*ViCvwR zuNsn7X+*F4=_Mv)2Sf1Bn@odQ1P})OKhHR=mOqHx$cycp3{Zt_e3P4n$J}_;FK)xY zboZ{wYF4JG5|o@+ciJ43Vl3a)L&|1rkN)F-HtCh|c}e3K)!-)RwWJQKN-u6_T;-$s zWPUTO5ECKcg?)9rHf#DKg#oLsz8AK1J-^t|7~|AlOwHn07&~tL&5>RZa z+4&T2mVMa&OAg-%&0e*)A8J*z{|esjm%juU_NsmHn&QcN z={^yecT|$Oq<=6#48HER1-Dtk-F81Fw;8DaF`e#(|LstpS-UeW7(}Lrbj8y}OV@k82&R%s7)JLUJdYnBuiFGu;oTWJl~AWy|#=!^oF+!01#J=r}=Gi3qqW1VE3nF&`qgzL{J2u4QHGwWgR z?y|x}y0QH06tNAdiA*!!j>_h-6zG9&e~6nG%>wKkZMWHz%Xh~KQ3l1VLz;Nn84Qbd zE1csv=kSI@Nd#hf?|w9mi^UpjYHBF?&|=m}X#86ln(c^tk5K(aZHpG??#Y6Na_Y(8 z%50?iy8#S9vnbhc@vjQpnCH4z3Q8$S6R@QA8_cxIsU|lZ# z$*y)MoJ6YW8&|ZkTBU!JVG3#=e2RV>o%LFe)R|7H-Beu}_J%SSN^CDB4KM0YXuhWtRY{if4(TLJrtZ;JUdk&Iy0F=BW&lC&xQ#TO( z=uzcKo$L=b8lu_Ard%#67Ca;1c=hXGRCG6E)8bJYSwh$889bHxk|9B`FwdCP1qdxGi92DG3 zv!9+3%pwvoRh*V-ugjiJ9PF|dGaxNUFwEnD7t9M)dQ*<6agqM}Ez3kK92Qx~_;)!m z!5sD?Rr!2Oyy(FoCMe$>p_&qUhg&TmG!P`!Z)VQ;=^xwV|A-E3+=z)y(2$O{F*|PD z0#-yj31u$JcfKFN(L#D5YHI2biw8w|(Od$(;OHlrg#yx#+65340hNa!A9!`bR^M2= zUXsltf~Gc5JkmukF_6Da)RdZ_m3;o>k^j*8UaLdbrf9pJZ7B{_6*C<0`*Wk=0mA!_ z<6l-`v?a(G=j>!wzf^J@0%shD;FB>_yx>w6D2pMS(-rv*77oJ4{I}NHGEFlg4}E@H zNhYRTWA3SaG8ldCrU*23`v9N65b;z?SZ5Ql?S?{u$~EBT;%e=gqMfV#%)AN=CL557eWnO zy&hRrS;;zv#5QnS|F&a^I_)Gk9$NI>u}CQ42$h;M342 z3DGu>3aRLDCxEzXUoHp;{a5^ZvlA4ChU>2+ql$1MQ4=XnqQ)>WtAh9u(beWx2OtT5 zuYvm1Nlqb=OlW}Mgc^dlBCI%2UsOl4%8d2Is&WEH;G_{58TC$ig}|jvQvZc*N|fYF zZ>=qU#IpDONGXd39ggzRg}}j4OO2pA7&&>C_BcbCxW?Vpqzc^4XONhZ6RvKz!#AUx zP0KA|@=eUxlO$1s;xPtQ7Ls(c)fHzAa%W}z6!L1zgvKoHx9<9uW>X2to_ zfu{^iGbX)ZBZ1jyw4x(n9FM;jS62;JwfyRV9`Y>HZcm%hK zsFU2sERV<}lP3Xg@C!>AjQQ+d{X6e0%qoGdy{oNBR3duzT!*GyxM*zGPWD;dCI(#j z&^^HcrP9Cqm;Z|2|Ht!{yEAX@8*jxRGU#yfZ^+}1gOooH%T3-heiBlst5vvb_$PwP ze4M39+McgIS#u)*!XUiMp@OuCfB3FvHJR8KrC+wNRp$C|bUw5JHu9!c)^I?#mGgSO zCy(f0GPkeO(o5OA(R{M~$GVip9s9yNT*1Trh_$%4?yrMs9Aq-+;JyWgD1A9mHb&Fs zbl>o6KNN`q?Zli9he&hb`?~)qNHF7RF;B1n1^$bgTzBzw9ImlM1sRc5{9(q*j3V#D!DTC55(oCK5GXMNrQo>ok#FK$U<<5A|*1@G9dB}VPaO?-38Nww1tp+THLV^kHz>ckLkaTJqQd26MxGt+1xJ0RDKd( zg-kZK&0MxiOiWsqClNIDsKZbOb@T~Lm@)SnG!w);D97Zote4Zi4s&}84t@M%{1FEM ze+)sQ_ny4{UuNjP1D3p96@@{ql5ys5N9Au7v@DksJg;k#J63j1jco!G9Z$KD0r~k! zfp5Nf1YEE&-%zP%z7T&uy?5|pJ+wOW%-@tyxsjcPu?1~9cWvyx(Cy9SQItaKxTf0J zcM2NCFSlBl6&l!le^5K8s}=k~1M;~ZeGX%!9rEmaf(NoQ;FP}c>paCmqJOJR2C~`B zb)`hK*$c*0rmS&BB0h+6z4^PG|3~qj!m){!%sSA?+`V|CvYbh4Zi}+5dF)mmTOb-B z^d(cUsSVx8?zD?zJLOB35ij?MXPVuLX)D?kX)JXyw^->%y{TnpK9x+I>y$F2u>4t1 zF!lT=D*66rV=)efr8 zjLBJha_?LUT+4Ke&$~>g>I%~FdYy@F#9h#67;5mWR9GPq4wSNKr%g2T-8@W|p3ktI z_FT7FZB!gT6CE6w&oXflHq_Aw6O#1Uyl`=`E92?Lb|g{gPj{fRWvX{+ouVK0eEL@) zUIFV(r8AaT6e{6d^s|K^&YzAoqyrwj9JfjrU@2Y#(Z|5XmM}tQLk7nj)t25O2a5}n z3JCGd@-xwL9YzRTU%$LVM?|idE;7kB-Lasb5=2h{d&{W1)kQ~^7Ogo)W_b@gn+cb@ zCpf*%_E;J3RCrICdMsh5yK7dGFnL+q3EA@{>u&kBb9kxvgh zwYL0E7NMNqWZpX-yj%5Zd^&SF=38ybPAJoyg1XM|e@EL)*(3vVn9F;6WLD2on7&-7 zRcs^#SI8!}pGdv_R~Y>hFPCH|p6Z`y*|qq_x_H!@WWA+1?54~USW-e3rCK6n(?Xcm=R9Blbl(<)}B|3l{fYp40DU5ASm1^UkG1Xy8D_M%8>;XyF3#BIB*BVObx5S06L6Gk92c9kt8tLz3bE^+srNxo$%B$fk-(n^*Fa-S z9$k=BIkCNxmV95xmgTL^^mi5q;VaWqNx3=AQn1Z;30Vq|D293ymx6)a zmDwS&s-i*!W|!#V-T1Q;YChHw!-w3l_h%~51^UqE-(^28uo;)igbmwy$Js1T%?+)! z&wbNh2wSpB-_D;gsyVQ;_ih{BF6YGABU!xOYaH(vO(Hu_q;gujNo+1qrZhCeHxwWyc({ARHufZqv_C8%SmOSvU ztL&eG;5@}f%SWSc+a_u3?+ZNCuy(yGAfpsk)^8%7MddH4+pyNh6rFnPD^?l%o6fh|k^S2;QH_c<(n`=>tmPmJ59 zc*g}N;|^O9Xg)CWp)npo?jJ2PX%IH%$@Zgoa7FTu4F@a+q>tbjAm9hPBoeWeST7`c zR#8#0o;A+QG=3Xhgqf!(iqyC~r5b(^Nd-fC+BE?-3yXF$I-(+si;IiKx8D%+2$NnT zV?$QvkY}3SItWLgxQ=$y!zXdYmw;;GjY1K#fdD$4@Y1f)1e0Uwa!{pK(b~%|hVr#0 z@pS@{dJ?)`B%UbtR{1c|O0@tvo09Ko3N8`ez_39UaWC>&p+coBhjr3HBp?0!NS2xz zPjRQjC19RM&N^rsW=xwRzWF`=jKj%fO73h~Z@csB4m?_fI9VI}ba*>7J;6V0Pd_$? z`Nbt5BAO3*TwAfw$-(@hcixp_d8=K=xqKF8c9fs($aXYB2)1p9XeieAgWJ?rc87AE zzIQ`PfFr0`jib#q#)BE-8V8p$BF5>+SeAb<9%{;x80bD`I9Qzzg zI#s&aRbQ{}TdjZaij;MYEp#=eddV#-Wmix6WW8S=J$6!Nh>UZXGMMd_$-V?kn{vuD zY?jm>YI96bx2C1eB`U;#IM;iI^yCVO-$osupE)p#_V_&tUmsIc449jIS0}TTQZj7k zf^z|igg6(fuG-kQh2%amNfXpI6x!b0NE+w|*{x-T^m!?}9Bn zF5`4^8$u}JXc->N-79is%erVfmRaw}M6p8+NLBYF;b&Pg=sKx2CXpRXYk8_$J#P-1 zC@uLydi-Saz74#rEbeBziA73`g>60qr+M-CHSgSjIZ<;$vbl<-ND%>^oca0H;y-n& zzcFr*5h?=A!n&Ra;1P)}8Uh?@TwtND*$gs8!(EFH?-VIoT4q&L zy^f`q>ah~=Eu?{JN4p~mRRXZpzK>JrPv@Cwqg+6h59?+smIt?rT!Ma*uKi6*#y>lj z94MZQL~9xwRm4%PGrN5cwcY2ll?q$5xt{dYI{o%xj z?mZcPq0!%C6C8`;*P>(j^IZT`#Wzhj~HF%r+`X zq~ewbp=LiUC~YzmFAs_`5TYd$(Vp74crSF~-!FzaPjm2}J2g{xe zoFguq|K&eW`gepj)3|c&n-y6_7`z*^ve>@(l+QG%)mhF zY^eui)+KkLaOjG*LhfSxWtYtoK=7=o^_VcOfFOoN$eh@#*pJ3}j!B+fzjht^$KsxM zlJQ{Md~e=F-ljej;TiU4oD526p)YC!dBWYmtbCsF^|%1CZjyDOHCmx;pOrVg>pdmg zB7qWvM25T>Qj%P5W0#g|`QU37JT5Co(q*k?qD=+;yLtQX!c*g)UVZN}7s?>H7KK0z zoHsr@mNEQ+PR?qmxh1kJVi3oyqkfUn_#NfcWqkf}qSrrY$VWM4MJvzAI7@q2x|5+| zP%4OkjLUJNK!gs3R>C=yW;O^~8^=?Rj#KD6wL;T~7U}-e86O7C#nc){MRcKLIsEL< ziTCpunT+MMc!s5X&T6oJN{TFh(HIMwa z+!mI?BH|kb7E13k; zgN!nR+9guh)N#!IyuX)jDGj6En7A0C)7Oz$&W9-51p^lSO4n+un*?=v?ZWOPeM-Tm zsek5Jit?k3m@sw7CZ&Ior8h)6eyIO_&LOg6W>Y#Th|6C6AQiL84&rz@;9Lw7p zU0thjuidOEiPh3$>OP2A8oX#%N^7BU-<`hLU=F)>qQg_d`vGSiOQysRzVokw&hU>K z&YKSXY+ZAnuu&)*vdK-FG*fJ7i8bP;v11VBMLmkn7g+{x12bo>tYX zvbSNq%)a;qlKUkfd2RL*aG>~NmGReqP@MllUb_zE(Wi;(plo-HIa;qwc94;sBQ**` zeE6F_E%jg2mZN7)HW)lH-`M->E)i!OF%mC0<@CNq~rfn(|J9+;4*RCe%mn zv7d#z@Lrc zzda{Gevi2?`WVP9P%gl8F4ANQ?~TxrNtS6JJBPunTWC#mkWo6X<`_6Fa}c z)y}<=c#g8ed*4Fg%N6JZk9gX?5bEM>CGjJrsty`~rhLT=%Ock;I(DD652HGpAq5bb z(WurVR}KR%3TF+dpkR@#erDuay!9Pz?^ugh^z6ye`dSRmiA3eFD%+PiKXg$Mt1h1J zDc|0R*RIZQt6!fnmgzOsc%!*5SR~V!^(-NbeNNb14IK;3^M%UPi^^y26elVY@2N|P z6@A}~1){5KAdLI$3ej0UuhFtC9od~m&u@(u-ZEWvY z=bdY|+V`oY2h;Xtt*b5n2>~nCcqdn`d0qW%fZcH0B0f-CTc0(MLv#G7#mdF?p&P{4$z$IhGXi~98p^<_&-PVCd8 z>X>n}u~7l=7HN(FqC}FAj&1~HP0Jm~OnjgWNGq}XeQcDH3CAe~vTqhFQjK6dEYpQi z@=hj-iDrr-J1xw$@wGad;p%Av(o#g6d#1DE#Zc(ElGS8$M%`bU5E2 z?>0r~WyN@o7AWlZ4oqZJv8X{y*TkZMAwg(5&1BI6+z}a`b`Un={IyQ9dEY59Y-A;I zu*7labQr-uh-%fAx-is^k)D!@A+B8Hx0=&mJgA!cyD!)b9!4u%eh^$1{ zY$Zac3SFr+a-2Gi9Qs63#cD@f6!n%?U| zlG<{$E547c>m3v_B`=%}0z?r@qk19XZ`O5ssC_r|vQNC z^|j7>b%mmCiGD#jhZy>6Auga-G0IR7jG5t&HVYW%4$vN=rsF=c1mp>L*xc%VWL7Ci zD8(wL2d?Ki=d3wZpV;u8iAO4MzAm&m7L_XzB* zmZA0jEb(hrfc@EpzPb-=GWfQk&cvFf>)^U}lf()($JBu9+}J?<89%`kA{4&2KC`8O z>g)LW=RfG_Kaf^p6Kq(WB%eDK=1WV78s7VqoX%({LNRVHL?tlTLDt{+q&c-`bZ$3f zTY-scLfiPB-m;vnnorD8ZsG&_3;2fQ(3H&YTmrVvmLuATo5A5d3$Y=EI}6R9MnWTg zvigUj{vAn2a|GGEJ0i(4=#NOMMa7kUiyf%3bNwJTX=pMe1H+t;;DG%Fm3(vFUmQD+ zy*rrx{QkLe>V>-(lPqVXxPWPhT8(>12p?B#aEX^0R^d&ojADAQvCK1%?%G*P?Xq)o zBh~;^s`0HEq|fSwOR83bc=4`&;jk;mI@V9NST$JLBhY)v#OED^_roN+E83JVFNYmf z$x(1%p#CbXI5}GtpTj;)u)gLLEciac#mmwogzL<`0e{!|5IXzDxa*!{!HBoEF5QjR zK3ArR?ZUQz2|0(~-nhDNE93KPPu9DJ-Glo%5zOBW-$lC@EkfdUv zAfXxVSj&LyW1&pS_hAGEd;Eu^U1AMs(l!%iOR-%%C+Hxk=PbuHlg>#i&!t-!KKojk z+1%t=%%{(%Z+;8nymsx^zXGeW5WlOO@a0&8+Xc1|A8V)_XPuvZB#()Or7x<(;=y1r z15-k=j#n=uR32)}!`$MQ7(FLfy}++2LOlorwS$V%wN*47ZjLiQcc&)Q_CC}EC)w5} z*)erG77c2HqED1$!qh0&-I*$ zl|bBvhXoObwHaHa#!rOIMxS8h%hjp%g)lHMFuhfulQX{AO8~lM8sy4RtpXBe?cfB8 z9Q71HCVeYbD#?zSTKDKYvK=#TAv0fVbmCl5x?>SRw@M{4?$bZ(>ywc(mopB zjB~v{t|u|gM>$;S)H68EY;RM@Q*U!SFDU0kR$}xo&Cvxz(8J2QwaQh@TDf#nAO9Ry0dR@za5qk7MkrPk!eA8}MpA~|la zhweS5dKd5m#Sw{M?K0cN~ z#W}Q;proM}X5Zz~U2cf`;|paOsb-e=25xQ{;G)e1Tk+lN81f3N+r@y*+S4a@Es-7+ zesGj#*0GK@|L85B<#()8lPJ)*sfQu?Y+6nHV3Y4*cZMBrQdxx<&7&c#{7j-p82x8n zitWHctafP)47M{VU6Zcs;^sI5)meD*wg(3@<<$_7m82l_^1&(>lY6=f(tbt@9#6Iq z;`EuZ+0JE(sCwCF6AIQ#S$wza${Py`Q?eY^J*xOxECcuiy~k2Q?y^~R?d;7l6|?re zUc0_CD(g~k(rnnBRo&m^{-p&Q`LW`c$q*k-7KV|TgMva8xBsf74w&Xa;7oD#iAUo=*y>nZ=EY#>|9=) zJdVYihJ@xB6TgQ|@jYh9&b2)PQ`HTGAKRi4H$pmfoUQC-_BI46#C}`0S(#D!7iVJq zouYt2`96+y23Av}t{NQ!WA1M(GUg+imgvkRE0m6oAi8U#=fqAkg6nX-K)j|QYrDoh zP-c|Lr4eP*B4GOSXp|nY{I-(uO}uaimaam~Eaig{IrSmGd+pz4`=9X@2rbp_O-qM_ z?7aW54YB+m=^qT_-jFocglcn z*&kJU_IxJ|O)mziL%t6p-~8^r%Df<^CO;l)xPJ-ISLQy04T2_rPb}7QgMHQ4RsUM3 z1F1cF7TlhTTxS%$Ln&CVB-#4mUTA8&_NJf7d2ykimZ-Ao#{QmbJex3r8=H(WR7Zs1 ze~((5HgwwA8%B<@`HU+Ly6XrWYi&x+Xxk}APCUE|9G|nC?$8Srx3AiYfq*NuQ#wWu z#I+|HE&{a{Kfn6Xj%1oLa{CO{_w6CjVxTTj< zb@n8wxJfQ4eYc4`ZV_QFGkG}dy@XfvU8CLU?5iGER@Bl1$+GN-i+Jla1%!m!nJw1u z(vuk(*2*YTG46^RPMgG$v{P;bp{HX_sbGgsfavViXeXrhMYnEj;X^bmc-`c~?6R^) zalkfWQpjs_ruNVnR5N0M&9H-IlYu#Am{7fq+(-Ov-XKw;+M6tuu}PQO;aoU-V_}N` z_pVf?;6`8o#TD({t9|T|Np-O@h1YZ;P7CABR(ayL5Ez2RvAkJHpCEO(re#p29n|YbGgF$AG=_rl2KLmXf!c($tqGL_bN;B2m2o#C$k3n4cN_7X|sJ z$9t`GA4tmx1Gh0J#=SH%WGebAvHz`>%;rSaO2?mXZ>Fzu$8Q;^0dXM=7PJg{+c$1V z>UXyf9&DKIdsK;rtBCSS>(`xcRcbyh$CT)0Qg{bIe7iyMu&k_zBCEwUmT<@;BRS9U zcqB5>Rv<6ZDJp5BhE&^58?6t=pQm^`+w}9jl=crEbR9P7Y!s?5DV}vAr@beQ7giv| zF=U22x1)MeFeQ5<^9Ig)M}{%x*SwoRhy&LZ24%s1O4$~R`<`q&*2Iso4LG)vs{a=D zstq5}Qwi@ELxJhCYk!mXr1epjDwA2;;(H1JASWZ95-PBSu4L(u6fk&1BvXT znuo_+ToCG6tcONnd5lY0e~{CJ^|A=7-hkJKcJU>PqRbE0<~-Zr@&=;wOdSJ>dPLe3 zmyYxg(L3neNQm|l7I~o)$IM(*^>I7Llg=c)a%#p`gx+9_M4ifJWg80m4euy1tM!2Re!7mc+4aX-Ch@x%`O3T7w_DlQ%f3EzhLm5?g-~-ZWL-KXOs)dLZh4+CPd@qpShbGjqq7`L-gPm z*eCZMR0!BWZ*Us(PY29U*ST??3Cf*R$Ic)AjeE<=y%6fi0)hN+GukU5bv#T$3Fsh_ zP`nfY5Y@ZLHAMilH|bgrubJ`o>b7|Vd>U$VQ=PwET$8%Ku+68ZdKHm)T2ypf{`_BB zznAwB*T}69ys9I_LxzzhpIm729 zZUgJ33@%iCeX&2z1UT4_I8-0)@o~P0LjFQgnU`XS7@Xkck7}#YlfvzR6spu@~w^{$F|y1WjEX->sn}_ z?wsk;!@AtTELf2uUT-qJj7dBj@v7I#;g*B$T|V$YW*8aeYAq=9Hr2W}iaDn|-= zC?+W`@l;~(BVrvXZ{){hy$F#SDyfU&fqYB|){%^|9HP2-eEfU$sj;8AYnjy6)at9P z>fyAT6{$4JaXDP^c%k&j_+Q&RtbQ-|2$C+5@cwLA4{Zu~s6j_-cJN|uOS`QAE^l;pq07vnwXY6>ctJ}1V~0n~YFy@zmKnUZ2K=@A zU|iucl3!(ol5B;>VIq#jr)H~`l8!PChM1+Q#(@_RX8v^-&Yuv~fI z({k~sG6(zi=KA2Ee(J{uhzgr_lD-yrSN;{Jnm-;Bv&y5L9gOJ*N4XFY%C%uSL80 zt# zK3<%wXq?_@KG*-gdU_NcvUhL^IJUZ2h!-a?s2LEa3=Aj?g1yD))4YN}L55PL8iEl) zL}e8tGKY=ZNK)!noA5ItmG>yFQB>cZ69=p-or*uiHes3;HN6?2=kZ*3?ua)r^6I;i zgab@NhG*}~(ui7E2x|2-L?&2{E~s1rUf8QJBwPZ%PFwFBatY{< zdGU>j=lh2LC4ld6W?!`A;9K*#M#|p1=a&FwN6Xh=E&+9hMEu#7z0AvM!_ovR10-(!E&dBB?C|Fpk0g>{ic*VEJ($Qb*KKBL0m%=_FLb z>v?z{ZN_{S02Q|jX$-MaH$)(ty~&^i3+Fu3dZ%_#J#yX8HuMw$WgA@(Hvx{1Z=rta zaLV=Z`-?Hs5@QsFyiK_qbfh;oP2i$>l;U}r z6cN#2;eC9u;=NR~d814r*fmT@_B!(Cna}ce1vBg?<|l&9sg3L3i}8|+aP5QEnbWE@ z*|QrBA#-ImI}Q>1$ie1=ZHG(1mvq&I+a3OaGg@~+PbO%HhJu(U^%~1I7Wy;CJOxD5 zafz?xCqhXfyLR1euML{%`AJY?Gy3z<#bA4MGd7m97GH(QlEPTr+MdcQNC*@Od6h7C z>J$Dd<$LoNicS`O4jQ)<;vPr^A<{4B_{HF9{#x8w^VH1qA=M4~5Jh(CIhbxu%Bbh@ zB|xZmxKZ@*!J(6^gY>qj0dW8K>KV~vM7f&U@#%7`D#x9U1N{;`N6{RYxW*Q<)f6#R zQ9rG?^@TV;+q3?G_xrtd8Z1 zJ*LRQ$VeG^--D>1bqU@;RHG@4G0#HwqaqLd1w-91w)fVi?@BePU{9L7;mi*d*U5#nPDe1l)iN@?Ldt(B~Q z6WmF@F5330Xm6cosQg2Bg1LC1F^oMD*-=c19C7k_k&w->fa@tSd^a7{sX0U`8JxWH z^_}MDn&|0V7tX?V7`gw zY#!#L(a%|W@q&nbE5>wvluns(1SG0TXT36?sgImuuPGBg*+^TH`qFdh-Qc4bv54Q9 z+my6luAeznG@_LW@r-SgqPk*LF2*Q-Oi2L*qG$t$E90xGCl0bI@@C)E1v#k}eF2t2D3+B8%a z_}(M+ypH<4_{}5x=Qf|HLvPJ_8csph`)N+Dmy2|b^8JEfMV_BZ<%P{7@L}m$$vcbc zb0xwLeMU2IXknc>O!{$ghi6xP8ldy`NNy|u!a(Bu; z%h`JFCh4=T(wV}RBy@g|&=0KQ6?@vg*C3&p3~}mQbY)Yx6YG(Zv!ku1Zgeo69Uk`6_ zURktI5)?eyd-HAU{UJ;zbG>tnHD2?6_{yhj155A3=nC^r&~B$=6Is=-y23wqklfL3 z;Ic`J7S+RxN`btWBUp#w(%TfjY>Sb}Ee27;>F{A(e8b-A!IlZ{PSgY@Hb~70$3#R3 z;yeBJZ2Xi}W_$x1%F^oGhy0eHZ&(W5=Tz?m3s@K9`dsuKYifh~kI>Vsx?FK!f~Qc% zLYPI#JJ~5jO1Lb(%VJA@|>d7PgjW7`C>*-6@`W)oedecnRpTwfvSLr_1&A z$LxM9U?sSmA$oiVaNs{jKNkf@s?){MGZ{c?FdrV0S9};r> zB-lx*ftVAI^_gHArmshr6-|`=kM_PRs;w;BmM(WC$F?yxCbq$tj0!LrM3+e>2q8d- zESq2o2@ymNg03rTiEw8d!h+U>$IrL0xdkZ3&uoYdBxRQe-#^Y`V- zq2+$>*0)_CA=dt+ft~uz$@2)s4zlvNPRAX@O8^T6cJB>3o$#%bH z(TX5AZ9UU?9amKEacxWVJVPUe?|~C6Ok{K9nH{z&_Dl1Ag*5QC%2Ms3iaRq&Z-`@}5|8Og#*Lg3&MJeV-16>drd@y%MrfhG{|Gwiy$bK`_J z*KK&7&y);19Mgma{(f<*^8u)IBKmvUt$+|!36Dq<4zWM{4srfc z_OR$zVs*l zH6HPSH(Ga>$+k^WQh@8t5QuS!yVjE`DgQ5iN8P}nR0;Y>-2CoIss%WD>UguyW}RWp zQ9!uuoGmvkY8?O7g|bbF&p_hlx;N=DlZ955?-@mCLV@i#ZFrqfHh=f7C=?1uiv*h= zzC0MHNfT=4=pwDpF|~6pShMXp?2GDPhLK@idb7DQxIWiuo4S={0v6& zigD9|V{C+PWfW~?!Ebd2H?-$Z?}ZtSH-wle;cn)S4S!YjXwQxnr{%Zrh>N)eX^1X_&>^Ua5r z`M9@NT+C}d>wMFj`~H@fcf@5QE_*viKUET)rJbxh^OcAm&!)%8nj%Uiqq@4_@7`rS z_T_uFTF6U_;w@~AN9H}jb6|^m?C!e2bp=oJMrCtUEdyUm-$&K;dCg7@3Gmj>Oo>Db z^G`RCSzQi^h)a~OZEPI7q|m4A`Yj`#g-+upS6<7Ei2Ea;i2FlocIlivU4MGVkx%MY zs_n@$I{0kZDn*w$U)5Q5DmqDDOiNhJ9uop9_U9 z`V`{7X#`OFnl%HGa)CR*E?Q^zIBoGB8wzAp68pf7%m9M@F=nD8Z4RpQk?f5G<{8L4plEdFRX^J~Deg}I^d@PSN zSb5p=z>r*+9281>n4)2CPqq9ho`^<{70cah(XA#tbaR3hOf`w&G`^IW zo&BC04UNC2m6i4x#V;22ne~Twpiol+50jnSSdKc5XyUtMQ%gRPi}y79J#o@u|9AwW70wg5<7sNy?hN(Gh**%nEL88 zQM<`CRqzc_H`2+Yp-5D^w$Sa|gBJ`d)Hcce%!9c5%ClU6DlAeb_gLn=)xNjPV$T$R z<%+J_o{i#Sqkh~$)aS?Le)|A*rIV@}fpUyddSO5AUPfnMG!Su*G)V`{nZWDQ(e^L) z|7&jWMvV`iHaaWos3doqRw5YoRqnD9Afw+4fyN6$vg$@e zQ+_-%IFvsaDwuWm~>eA=NhqFzINtGN{pm9{|L8FcnZ5wY{GKkVineWDJ1l9&+y3z(8h6147ZIn z6k`5M=Lpl<@x^h%vR;xe4$Aq!aE}AfsZ7a1^Q;wd$w5%Bd1@v{hjHr3S*CPmUEfpN zza@Alc*no`jsr%DaFpg995~XrD&E{sY>ER#UN`#Ze+{0COV82~5@fj-n{xo~4-Wn& z1*FuA$p{C9J?dNIL~S{EPW_oHt_|tKw20K)^N}mA(v@|@6_*(NJo$<%ua{oO`)=H> zX1tg}tdxdmQ|_)tAw@-`-_4=nUwd$_c1kwx?DE3v$+jr3zlqrL(YAPud6?RW;?c}6 zOsD8wTyc4@ZETDidZ^m54MRJ^Ne_9Bf<~2g{U+G7%!5w5g>+#yD)*?kVogwIrCPgY zj=ev$$*V0E!_LUv76uJ0TQ^k$Qk>2ysB@5`ww$@8#Ua8r9xgvL0A8r70J8~gthMPd z{Jl?Y*!}s1&lB20yK360k9HC`Z;}`X&fTGBFiXxmh7%ZhbYF4RTbwC^uDDcQa*%+o zE3R6oP8r!DAVmEv*X)z9)ONS8jYRrP6MB2x1{v(gja$Uc-w8R~LYJIKjgt|1ec^nE z0^J7q3~#r3iR)H7qLt2;40c9%O+cTBCF69I~dSDfg| zwWRTrgFUmm4yj<4Ud5h{dy7^@U3g5=b|qR=ZYK;7IKvN2*o%b67&y?4WjGbKX7mjc6A zT;Eu>Q8Nc@2)*YN%4c~P#qKtB45H+)&9v>WhQN{p2=XM4n6-n!L0k(6*OXC7k?v-gKJQ?YT27)jKo@erdKgtBaI%0Vo1u_ zF?Z9Xj8C3mj|GPP1zSFLPdU#z^cvLR^a3geU(89AGO_l)g7cU`L@^Mv8XKZh#kRF^ALWW>#ifD;4ncU z!Q7^*>JD?(h0j)I!0A=+t+=F>;xhQg!$6Fe%HPAvV-^fp_GxJE(0F=_9BFM)I7s#BM($) zi?xRDch0^$NL*Ssbp=0>Qyx z$=;mUxb_DxJD;NRB(uXt+nxFD z^QXERVXr)8@;RU+GI~d^)}WwH5B+ij53Vsv0R>fFP9!-oeR{KPQlM^aKh5u?B2+_HI5|-Rh?%7Tc<&IVmA1<3MS#D?z6rE~N)-I|& zA5oAh4s~w`U!%<|5PLcZR8cEZi=@%*cbfc6;c2rpSvkWVZE`71(N|yn0X`+u$>pudwq_b%`+#QnJ`Raa9NfG&lOT*gDEWep8g6LEck# z^&U@CReUcE*1L?ub$v(*yG}?vQ0A?IR*k|YGIaG8o;Uc9ZWWB(dcZe6Hu@@=x1@Xv zxN@DWrLZP`mbD30Gpd~qCrwglXh*4X?8>`~bzzW-n~8tvYGVO7P4fd&M)o;Q;~B&B zeanT1K=F5-?J15`r4kHdg!05U6Dsc}pMJ&h7q_eBGuz!aG4Z58af7=FgbqyH6#oyS zL~aOA_(8Q+!nUQ}mXj29W1a}L)LCAi?!@K2oGab1O?-eWUep`B=)Z`q^x237u{S(Z zofpC|lTVrA)AFbfj%#ND;bl0h+v(9Mx#@nXh|cz+zU@q}#Lpbu1Q3=1iQRdM^=Kuw zZe;3yajn$Rc|}5OBx|w4vDG3AyG>+G!>=0DJZGF5Q^C7Dwk6p;BKcVn&Fp8&0Wqi( z4aFCI3>&B^^zzs4%C!t_dHaxFmwC_EmI6)n#hj(K=)AN#P`WxyQF;NzQT%UWt_gK_ zMmQJUP=U<1OjSzi@WpTx0qdM;vQRHC4e`fOPbn_8Hd(JT%bAY7CmtZEuic3#(dFJ@ zRERirxcNSGe=4rGCe_YNmh%~B5f}~QnAhE1nsWVoNGx*RXNfWoyu|dAa*_|G z6E*oY3{U~fy>3X%>CT1>Ub|~3agKX%YF2i#Zm4)B!J}z6Zj~%&+p<|9*;O_jmjt|2 zU72ah+eNEak6w^4fo6emE0Ju+g)vDszISnSX`*XqF%ff->zI@4fl&3|x>a9~VzY(6 zncea}J*)xe%n1XOW>!5mh^W9^`*C%`T%gu$bqRX^I1nJWGBOjP)yE7zuD}6>^bcm$ z!pezLlqyRKOC}-IvM~n^$hE=A1!LxbUj1jOTiJCwa0+>*u}ecb&Tu zAG+>3B#-prdk2|*r<#$2=si-}R=NP8nFk7&A`ps~!{YowrpwHLf^3i6Kxy=z4C=xz zJE3I*82Q5wNJCgujID8GUV_Oz_+JbDie-23FQ>s-*dFo5quG^n>Re6P_QefDIw~ns zrmBnHv?2+dh1bmC>+2Kz+m56owNIUSuef?d<9{pXEDxc^f4nZFWvm#iAr!i zlQ1<{;>VI$kw+k8%Z^$NK;lb|eE?XU~k!toOQ@`#5 zQou2#qZ!LJ`aNC6j{p46zWtxRe7!iCy*?Itr#=W3SV%M)C2E?v$xDmUjkO}N`e#Q9 zn=hzIh9cV-cl!xoVNr*ZoY0WQjUp}miI7)~&)5U`@Mop9JcuAUwDnm|rdrpQYVhB{ zZ2$o^oU$qff{yxlKD<+LmQJJIDQ&bcquY-C&2zojGczmiVR8||?9I9IYt3nvK^sui z-@RncINM@bVT=4We(XKQ|HHv{)$i7*a^<47&jZfOh<~@=W{5eT5q<}WH6Y+ zgNDd@7$^4@D9!{G@75O1FU?Z55mp^kh}(W=FrzLM zJ~g3)Y9UyzjXn#zAZkn1X0SbFs|e;vk}3{4JnGD@dyxfVQ#q;U;$2+4=Tx?iJ4eXb z@co<+5@r+QkU)bLBTQzOD+=mTlc^i}SitqzqcbGX&QV1K_~HO;qkc#ZG5lG|GdrYn zy}PszOrJc~vlG4#e^L7*}u`8Y%)5= z497Wj!u0P8N4YGqmJ7rj9I~rHo%i0MdKnDghAG$*`L(0X7vxOM$HT0XA5NB~IQ+dA zOt%p6?>4wYj1|1I_Xr{)dN7E3Y13JDX&;2aN364W)HA=Px|gkPn)?mitfS4`n^ib% z^WdyMPWAk#xhJr5a8kp~`DNFg=f9I0?ag~e__ApAv;d%MXOYhN6`q-OW54^e7bf@Z2a*4W?=eh1O6!G{gw$X&lO!kkn8BDA%Ta4l# zA4?CbUu4&=v&z78e3kQ1j>qi#tLYHv!02fC_o)UkZ!@-F?Ln*z#9k79B;}Uk?9hBj z;jZclV3#V4^ZuCm$B_Pq_L|dBwTczT&8g_bG-{@_7_4t@Ung{59xDo~TlSB|@IdX8 zTQ6|$oSaTvAoB6^3Hr5m>|6db33dgCUzVn%#p({Xz$STvj*g-*MLOTdCTjtVX$ST<9RS81#W$|qE}#=2Yx+lAabbeJ<2O70_yr*iAArWA-;_G_60Mrw{yK{1UDAUhH|9x3 zUEZ;=O=|C&MD|aE<=OPq-C7c}AKWJ6aLu|q9_tkYEnYGOM73>6R6I@p6{YE#-ViV= zYGf?#I3kg1XQ)aqac(un_ilff2%qByZzwho#B6p`N31h!mf%3RG(!|Wlq-j>$bIq` zh6|~I{`xe#cFJY0(;_7`_pr8Sv#6d1g8t}py)4Qb{#~n-yhHQ%qLKSre{}nQX#esN zJmngjk@NeyOe!(dxo=y@W^8P(`iZ5Fbu1}4hkN_XFGI-@w$r}E`XntB8D!;rP+`@d z9OPT$WZ`e>{z)v>?c}HmHc3?rXfhC~$z5+Nc5V#oK(9nN+bKnqIay-J&JcFs|=vbT~X{ z?Q5SJ7IS_d0l@0w`YUa<1b26O=s?PcTeXY<}4v2&Imjc-`luICk5N6wn{Hb_UJ{d z51TBPMQ-9ZTNN@d?}A#`cR!9tec1Gj8R0z^DOhulzXi)@^#TPPtY_m|MS?=1TJ8Ir zgJ)oN!TBb>DwsA^&v`aW|S3xmG(@Z5S1lDf$qKBQ7TCQb0A+1axc~Vw@wwZ zLibc-)w^&8-OG-om3clwLz~;n?cnK^*v-a*q$XwJ9y=pYD8_~2F88?9*>G>prQU(Q zr*zHNzDq4p&p^I+Lgd8K7Ycz`>~i*w=3hO{Nadh_PctwX?lm;_S_>?ZGXLJZyc9X{RnZq zRo9%tm!@ykd}&!A=@X2vEHg(8ha84)Ze{D@VOB$q7L zyPpGI{<|sfxYwzwDao}AzvrdToxv>TCA+hvSdJ!gIxeX?nWzL5NduFn;qE zUubj~O7PxYR(Q%x2=K`Wh^3c4ipfXGZNZ*bq2x65jvZfXG#*NjS>WZr{2_5l))y*k+7|J3!N>xeL#yPV{t45THjra_$%AIPyGX+FA zzt1-5Y_7GpnE&rrTm*>8&knDS9Cm!krr{2N?9UT52dBvKAI8000gKy>!cOfeR;~^1 z@gKWoI=Jcg`xArnVU-R7iHN+1nQuN9m);vcv{`M)neH7S4)!#H8^u+`A3k27`)wAf zEV2_j96m>;%EZf52}#sFsu>oy{kAB=)H&bXd)#lJFOD$wCcz4$I%z#+&FUqTO!$>_ z2jh&U-Bc+Pl4JH43Pxt;Ci~%ir2I>ooY*+^@*ah!@eZ^I9$0?C`u{?TK1pe~vpO^e;mp>=NpNr)Gi8sSF2C8BzxPgU4 zX?S`2o+;-fcP*_gDay9bHgd?BWv1-`!U;rMd&~>IjqV{BHn>>-NA5Wh1I6jd+!T+U z=fp$Dr4h7>V`*LGfq=UKo%NFoj4kOD)QC!IG>8 zcMpapk5B_JVZ>VK8&QYew(gGK(*l%%51uMb@tBq{8GZ^CmE~>#yX$48y;Ge(_>vR? z^aBbKk_`kPWPSk?4-Z6;er19_xs?5GR2RJcWSNr+<+!SNQC>Z{o_`g2bzH*g{$$Ge z`-7}ZbXK973WH);OZS?kdnAGm*DU-4rG3c{K6WtumQKnuOP{K19B)}wn-gt$%9P9I zjZ!ML1d?AY`986t3eT2INRc_TETUt4Hfa4Jgv_2OLWG916(K=L@Y?`SQ)PWQW#!vI zh0bh9d&7;fDJa%FDpApbG!EtYBjlv=zuoGN(Lc96`SDAYj+mLo3pgy&dB?r7V8u^KFK{XH>|dW{Yz3u z(x_Wd3uZ*PgNRWLeRzmmJ}MqVw*Z7_g1}Q$#QE34al$2otnl*>+HtmL-baA-iGeLJ zff??oRiuvD<1n?4u4_NghGZ|Wk6%PQAak@)@Ue=_>0D^>NRM#JyzUE!o zFk$QR(UbVIYfR;+yzdYiX>)^zNxWZeC>z3>cw6Qg*37C5%

zwskO z0}Sxon$a>I=RC4jJYwX_kia&;E;LAVLR1fYU|jE|I$vzxOG8o}b@ z?Bs%y@{#2_Rg=QdCu~73IRchnO~%98R_dCP$}d$+PnPQ!y0^EtfVZ%KtB0K+Oj1%( z5Go`nB*c%=;79qopbk(w|UDHYh6(q#GLP>cVmYjj(j}M9Xq<{nq;FlC{DYbz-<676L3562ap(Es2#Ax|QaazeP+$#VJd zTie(oJe|;7a!#&xt}Og4Fd4xUubhx)%uYFfA_@K%&pTB+6W)I_as@Qn18Mm?`jaU< z<#?V9+37?gtWV;H{t^FAD=7tQ)EUQ5BGI*R{|5&%0w)4Dga^t-&)3aHmg|}g%GJ}u z%I55}{{mF>utA`0tmT9-Yn>k|$qyBm5&Vbf_sq%s5-9ti)ve_u#jRj4VT33@3@VD? z7ZDK`<(Cw-MeqxYTiPOoEJZAZp%TBbewzFXNyQQaBq}5-Bqk~e6M>0Kib_C#+nfsj zWuoWmX=Q&BmYmRU&A)kntN(AN`Oo3{E7U)S_5aaCyPbKJ{&-O_0?hmh|1rN9o|J+o z+TPVe&e+uxg|e|_QFHY~qEHAK!85Xd#P>g6jhIC7$5Q-PHaWXyFv?P=3&zz$&(+mQ zP7&eah4Js7?EjOKzthg?AY<~*nZ+ykJ8#Jy&jX484mJb_f{lX%!NJAF!6P6cAi&2b zpdcbXPeM&WLqknLMMcNR!AwWb&Ok-Q!pFkS$#s$EA}upNl%E^Q!F`eY1O$YOi%Wn< zKu$nF&P_)}$NhiZjynKSJkTC!4-8@hut-5*QqXZHK#$4eSm2XS((eYr0fDixa4|w! z4F69VMi(0bI-Ud0gE4j_U=qxCAo#cCe=b4$PLkXMqT{tK=W}>fE7R{#;%oVaksLCv z&|c1``D3!uYxmyae}umey|ib>K~S67Hqk(6R_sSVCJ;HN*3gorX${~AN#+&b=H%V* zBhKV{b=Gj-f|U<7AA9RgjV%kyxv(oYuzPT!7--tI`DrH3*E}J|!2GUk&p5?A?Mr|{ z`i(@$-`0D+@%O7T1BPseMBgo2KHdPBK7VD>3xURYy*)5dD#9p&C8!)#2OqDyQA*pK zv6PB2ymIuM&f&tMZWOZXOX^LNxLbJ z!A4e6$=vSpXNYterQU4!b{nSdFlX~=0EYzImk0d;Q-`G;U0SpZ43_s{1+C! zz`4>z)tz2UR~)(c+Sw|n^UXu!_jHY{w+6yqGpsq0Q1Uu!Y+W=ey+IyI&BjD$$?R&x z*9-s~ha4IU7Y+PCLBEis)FU44oOFoIm7mMBnEl`^%jz!9cX^QS+2KKi62l`%ep2X_ zG$&68<*JOmBEtcP_5tkhrGy5dtBeov|K)PFeVY@$iPl~}a&1HOdKuh_OmKc7+){*FX z*sff10-3a@O3OyUIS1+ydO2l3pHvXzpG2XQ?%*P0IL+`05d#ZR4dGzFm*|EHy)?C(BTHXi^ zFKUFoua)Ch7wg~a$Rw0y52_@_k1&O$JFL?eH$d;G+#+JL)hVt@E5kn@5wUj<@Nmw9 z)={XauAB zeD5x=zW9*efRa-;*79Kr>`uo{;KPaS5oVQ|?XNlvw%IuhY!WK85y~-_&-bp6kqXD( zxf;MLyg_@n#c29<^kj>?J-JM}NF%Nmmg-?f6cdG&jk^$nLporPdxN}p?P#CdCE zQ$5KkxNO6I?0Ho3ioKFgWa~36&{;3`(@GXYE-4i?? zLt&sMj~lYV-&4l5X@;)4KS^J#jhh~_nw{6m`q1;^n?5+P)q!xsaHk}{Vy%*_$>3_c zm;Uya-OQ5Ok^huzR!Ly%T)0EyVa2?jx6Tjl&IDWzx+hFpc1ZKJseqWhQ>eM{Z(Ai^ zwLvQj4ck#N&Jqv=@(m)Z;m7J>cMs)zfVjANuLiT-v8%N66rIm#Ak>dU9-HGvXr62OT-`x;H<(#^rBdBBWqgC+!ew z|0Gyb$d$lvQR-^_H0K<7hjy<8LWx3F=xP7K5a=`Kn+#P8CF`O_KgGI~ec~#0MsLli zj;+$l8$?AKeOIVdG~J(U&hSm-9a zoubrvh@UGl;C>e=Tn%XQyuHpbUu{6V`gA~YL}J9Hj!OJ|g0dHrt9<$uadC1T(Y&er zuxq-z=ZtGei;`XywHQ^ETG2V>q)>=d+RId;pSBlXH!^fAqc4S44#wV+qwHZT=K^aX zRp(7ZiRS8h6dB>PIrP)Vu40L#7G64rE z00Lv-{FMeUnc$?t!X_mlV}%L9$#p1%gAk`F08?4XgN_)?aNZA&*vl4MEucb``x6U? z=aqVIa1Jat%>_u$mc@Eksj|eId6g9mZkEw}kF6FGO~>9a(^J`cp|6~@z-_(Lc$DYj zl53S!?ZhgA+aoviLtPRX1M8?6zp zZJ9K~vNBi9^c6R^2Cc}>MHQiXeI3F0jp`7Y?Jd#(g2eb3qhSBQu1^J56V)lu6<&v& zP^gi&lf1++fC-hI6u<(3!PuAsg~tB0L=LZHXZ~E0{Q9kNf}GZO2!6r2eUwh;0ihk!rBOr zU~=|LmWjDl*oxOe9{ft!IPzFWi5Z2ORf{PQ3;(Hfao#DD$1-IhD4uk&1Jef;t9e#?hpzK`wB*Yfx)(fd_-b8tuEvlK7ZMP|v&^q|ulkxBdmnevx6l`QCURxz z^_f^ZScUl?t7KDlHk;wiDrHFeB_!7q1ohjpm)VM(Vh(nYNjSmR> z%x}gGcfXJLYR;-(t$#q8SQPJH=EQ_UvolUpx=|u^5el%2lVGJpn8@m{tDzYvW>zRa zGF04`elUf6_fjm$RUd8m(DpM>_`tPK_hzJw{KN!9Y(<=afCBEu&M`pAir)}KQ42nb z%IM=V2zIHsoVciud_}kI!w8oWk0P|cuPYj8G;6b7+B{~Tz+L^Wo!4cyYG?p4!2qAbp` z7!4x1uZ!mV_V7k@BhvaE0x{D))3!yQ5IxdELbsq%4O_D?e$bPVH2l=xiAW=_cVG9V zw=UJqTs-)GFuf{M2;bQE9dhpocU=*@8da4*X{v}t`%IpV>|kmQ{ZQGlRJE*(oXM{3 zAWm384}e^pS>DKQwB$=f&2k9T;AXpsy#HR-+E_Bp1HAZU4x>9Mo?lYBdw14U;wiN>5WP6kS48o(LlyGXuVVmiBnrIZE}&kE5m)KH5oTFrKU%=u z9-gGhV>M1`XkYTGieNW+3_sbXsflDNGO;YcOz$?0Oc~+^x#{8yqCzvuc2S>Ar%KJo zrG;$M`eT{lsUMi$`z}sNOSZ1+kKO!{EPk-tGS6OW@Y2>V*-qgwX~EWiZB<=&JVP$Z zws)V$g!Gf%%N75Z?-}ZC?iXd>%CN$L#PTjKCpXt?xyOZt8ioU z!R_m;n`LGOuXk_EJ1k{utl|%8-+BF*47KY(Mji3veOI8Tw99sx`cdQ(=EdY8!Bj+8 zkTZD`L<+Eyz;qDqPz4sac5uRj_K#I#JGp;VPx7po>IrIa{wFTkX1=2euW{SDkBs&Uk#3^YMG)O{RHAwBEB9kfl7nQZDIg89ecdB=r zuZWF|=Vp9x5K^>H_w$9EV~~7Zb74wQ_tO%G8Q!?rl@X<22%7s@ZyEoQtAiLo$HZJ^ zTeIY{2U(DxOQATpUZNzo6?k|0+kX1hNzx0}8*QSxLB^k%LRm)~X#7DX;dD3JQ;1m~ zCN?!5!u3XImCa_~21sA37GK*>IZ7*>_t7=BKv%~kaV`Q-0>F3WQhAlmNZoL#vw?JY zVFAT^KK(~NihUZ)HOBDoB8qOqJE{mKv@D^w@vv|6f|c*f6jS1tlLP+Em1Qb)3K?R7 z%O8*8cGpHhhE;GZ6!TnA5SZn;``(oIrbv;Qp{>=lK-kBW4uEe?Id5tk``2ZLKD}Y@cQ z)4|{B(FV~CsQVDsuKDhjvNvx>R}x4KMRz&}=V>C6M;*0@J|FQwXu`LgL)Tc-!5-wn zj~5=WtfALix~hqe0RaLaIWMGUb1tcY_K`WU=Z7&jTgXg#5S7#QwgV!a0&^h{#x#!2 z3i*1esGKo>9;bH2Vs)UCaW+t-S8=iYzBs?{+cdvgo1pq#ngSEXMU$3X=rccb;@tz^1{O@c3$_aSiJM zr#DPdd9`w*Vb#i;ICS&l(W9ynOGBBx+Ht|mbIs2E$;PNpQGFy0Evs=x=2qhx}VH`o9Dch@?1z?|0ucOL4Of)ao-}dG|jNiPHAjTkC>~C_ld0m zCG=c{vx`*f#6ayaFw|Xa{emUb@fe6=7EC_UU7f|R`0TFG({E_Wzk5Bp9db+V3jI2T z{@tu(DQ|tba)CN&|FK+vP2BJsfp(U+;mg%y0DlRSf=-XWfRnn1WOqd7Km8}MdPgQ< zP-NoINT0)50N^}k1i-{+M}Q__2-D?*J;wt;fAd#+v4w}kM@|vqfxr2naG8~3;B)q5 zGiDHT{}!BA9FfUczQQQ~9mB6A{L5gFZ+Ape-@4xL@ic~Ch5HvDf*~ZAjsXgT4+|JU zu+}fZ^63MOwI~d;e_;6Tr(FzDb4s}87~8vMV!FbA@i8>!_mxY`b>#bQAH&b?ng0Uy zBQj&bzrfG%Wmbnos{RDQNZmBK;m`jI<+FzW0rcrk0Q31i*$MnUNCp9qGdq8`L-@^?WuAn;nF|qdzrn258lN&`z%Pys33_+A3Kw zJNbFc<;~bzmY^W20t2@3d-)-f(>R`R?HZb1ck()m!h2u&cv|xG>(;av>sm@caTUxM z=b1?{n*dBZvyC}%o&@7P!u{_p49OA0w(yFg`Znzyc`Td0PjFXMpC!GWBi+ogZle#wrz>fr zqH-BgwrwZ1HeCIR3$T^HEt?%3lHC_Ku0GJ&O`mOzpaB|>|qwUjw2IpSx!%7AN~l}yQKp{kD(s`shx*pJ@B8wr10%f&v3e2}PD zUoZTT#l{F>RbI$@egHn_F{wCL&uF%z%~3j9+|7;Z9hD_uCGcx?8jr9O!cB0vq=Pd4 zNSA5uBxQhG7Q0YS`0fJrGBKBW1{Y7YJ`KOa5S>SOA*9j4>4H_ zG}Pc;S0ry5iDEh5!CigsR=B}EZTW?}pNozGOJ=vcn|eBrlJ=wh^!(dBLGwATrB-l! zp}fJvfcLt6b}kEZca=n+J+G&{8PYU5mFd&jyB(;Pi&NI4sP#lB*II=vWpYgotrge? z%%lU!4sZ&4t@jQR&Onfu1dQZGR2qDod3yhH*P8C$^Lw)*5@8F>jmEbcODu0l8>GFZ zOAHrv+8M`BNW3kBCwcxDxOqfK>KF9zTfjuB5d;eqsg&U>^-){U!0qAl^~OD(OV0@# zadNJ#;9L*)BU5FqPmGARXWvlhQxMdDN9b-#tk~`D$in~eTL5+*Yp)YCik{GvSS+3b zWz-VW0I?h4?G<&{rc$E6+1m5ML-uQx0z*75p2ury^V@tPuVpg{am8udd<4YxVfjCLIZz;D(*Dy0}bS*YE( z`r=XUC*pGc*bnRmxp?l=x99{-)81$(L+u%&1lr*#N^yLjAC07HjJSL-p}IpWtg@KA z8GGF)vcrgz$mIt+8B276;BKUv`B%GdpYgXw8S1_Alq|gjr+MJ|K>t|fJ(i9)LsJ=G z4G!}_a;Ss;tlJ-jiMk2!mUqP6)L1&Im?ZF@);euy5Rftx?kI~j z21<0Hgyh1X%|Eqc-U$KfL(a!Vi#?71KPE7n2mhtdE_4P;J}N$S3w5tS9qmfMl-u;HqM5wOcEVz zs0+lu=syOSh-Qi(0id8*0%c<%%ex8#te?0qK#l>t5#p%VZeKDQ4q#mrgv?yeK`R7{ zER_TxTg>M$p36-y1=X){Vt9deu(>C+dgcswt7VP~>yB7kTwY!%*fup{=`KDv!O zj5_&NYurzlSEzI&;J%AX1PaPb4SNJe9Hj+)=Te?Aw9ZRVG~s%_F`)B9I}6h3*{YVd z;Yp|!ab!v%dsdz@$Z>892vKfLgz8M#S(vupWaXGG_SXjRun1B^f@!;3mt4{9w%2UA zdT8LgQkmLGY%gQun14Q!YHQj<)IKW+RMnvhR~$m>8w!RZDDPWK?Am z5>e6HViHDc$MNptU{`Wfva3?yNJudjUr?5Rq5ECsO{ov}O%a+p2=>qMV4^T)(q0#oQndDZhI@v}Vi*Z{;l^&&r zyX^XWwleR2;AS(r`AxlYq%QboFxYFcb#x7RsEMnH`z8Tyn4px{oT=Lxbf0}RB^`gJ z^W`I&x_3;>?CX5+$0n3Yw(^DSd^9ey_{Lo0 zVR>KOAMWK2w}U86?-*DXKc4+xkl0Wi literal 11841 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 QFCX~J2mW990IC0f03MqDTL1t6 diff --git a/apps/jellyfin-vue/metadata/logo.jpg b/apps/jellyfin-vue/metadata/logo.jpg index 7459ec7a4ed3c371dcc417fbae8a0f08de4968a1..9bd4da905cd9092f0b724a2d0df8d0de26e76b9a 100644 GIT binary patch literal 86714 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 U*!a7|M1Q#&|CTSi{Nd6615;e#R{#J2 literal 88628 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%0D0q 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 EPp<{avH$=8 diff --git a/apps/notemark/metadata/logo.jpg b/apps/notemark/metadata/logo.jpg index 51ef97099345b5d6c3ac0a45711aae45687df570..44f61a28de7d04968d707fe52cea485f88619c32 100644 GIT binary patch literal 15387 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 TW$u}1$A3Znzeh3ILI3{(U&nM1 literal 17597 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 B9)17- diff --git a/apps/serge/metadata/logo.jpg b/apps/serge/metadata/logo.jpg index 3b3d5e87f9e241569f2607f987a6ed05e903d5b8..76d07404db126d14df4a4dbc529cfd5166569f41 100644 GIT binary patch literal 11934 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%0DB?Ck|1&rqiC`|X8->XCAb?DGP!fR^*8 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 diff --git a/apps/speedtest-tracker/metadata/logo.jpg b/apps/speedtest-tracker/metadata/logo.jpg index 9c34d46292730ebf2a574dca6a3d8c8a8c2cd728..8ceaaef80224d1ebec50d686a0d4c61099436be0 100644 GIT binary patch literal 27695 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

{-@CP$7VlwQGiu~w;m|GZvT_^;QUr`G<3 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 A6aWAK literal 31109 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 z Date: Wed, 4 Oct 2023 21:42:47 +0000 Subject: [PATCH 118/263] chore(deps): update altran1502/immich-server docker tag to v1.81.1 (#1346) --- apps/immich/docker-compose.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/immich/docker-compose.yml b/apps/immich/docker-compose.yml index bcc93e60..fb81cf9b 100644 --- a/apps/immich/docker-compose.yml +++ b/apps/immich/docker-compose.yml @@ -43,7 +43,7 @@ services: immich-server: container_name: immich-server - image: altran1502/immich-server:v1.81.0 + image: altran1502/immich-server:v1.81.1 command: ["start-server.sh"] volumes: - ${ROOT_FOLDER_HOST}/media/data/images/immich:/usr/src/app/upload @@ -68,7 +68,7 @@ services: immich-microservices: container_name: immich-microservices - image: altran1502/immich-server:v1.81.0 + image: altran1502/immich-server:v1.81.1 command: ["start-microservices.sh"] volumes: - ${ROOT_FOLDER_HOST}/media/data/images/immich:/usr/src/app/upload From dce9f19aece04f1e46d31e1e23e567ae00495586 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 4 Oct 2023 21:42:51 +0000 Subject: [PATCH 119/263] chore(deps): update altran1502/immich-web docker tag to v1.81.1 (#1347) --- apps/immich/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/immich/docker-compose.yml b/apps/immich/docker-compose.yml index fb81cf9b..9399c577 100644 --- a/apps/immich/docker-compose.yml +++ b/apps/immich/docker-compose.yml @@ -114,7 +114,7 @@ services: immich-web: container_name: immich-web - image: altran1502/immich-web:v1.81.0 + image: altran1502/immich-web:v1.81.1 restart: unless-stopped networks: - tipi_main_network From 74501d37314b5838cf26fb08f46dc6fe20c439b7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 5 Oct 2023 00:57:22 +0000 Subject: [PATCH 120/263] chore(deps): update tailscale/tailscale docker tag to v1.50.1 (#1348) --- apps/tailscale/config.json | 4 ++-- apps/tailscale/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/tailscale/config.json b/apps/tailscale/config.json index aebf3d8a..d5b26fc4 100644 --- a/apps/tailscale/config.json +++ b/apps/tailscale/config.json @@ -4,8 +4,8 @@ "available": true, "port": 8093, "id": "tailscale", - "tipi_version": 14, - "version": "1.50.0", + "tipi_version": 15, + "version": "1.50.1", "categories": [ "network", "security" diff --git a/apps/tailscale/docker-compose.yml b/apps/tailscale/docker-compose.yml index e2147be8..ad7e05bb 100644 --- a/apps/tailscale/docker-compose.yml +++ b/apps/tailscale/docker-compose.yml @@ -4,7 +4,7 @@ services: tailscale: container_name: tailscale network_mode: "host" # TODO: Find a way to remove this - image: tailscale/tailscale:v1.50.0 + image: tailscale/tailscale:v1.50.1 privileged: true restart: on-failure stop_grace_period: 1m From 228ec061fd51022d5e7d2758aba78ee286d1a3ce Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 5 Oct 2023 00:57:42 +0000 Subject: [PATCH 121/263] chore(deps): update actualbudget/actual-server docker tag to v23.10.0 (#1349) --- apps/actual-budget/config.json | 4 ++-- apps/actual-budget/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/actual-budget/config.json b/apps/actual-budget/config.json index 4c24b351..37458da9 100644 --- a/apps/actual-budget/config.json +++ b/apps/actual-budget/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 8011, "id": "actual-budget", - "tipi_version": 10, - "version": "23.9.0", + "tipi_version": 11, + "version": "23.10.0", "categories": [ "finance" ], diff --git a/apps/actual-budget/docker-compose.yml b/apps/actual-budget/docker-compose.yml index 94a899c2..a036166e 100644 --- a/apps/actual-budget/docker-compose.yml +++ b/apps/actual-budget/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.9" services: actual-budget: container_name: actual-budget - image: actualbudget/actual-server:23.9.0 + image: actualbudget/actual-server:23.10.0 restart: unless-stopped ports: - ${APP_PORT}:5006 From b15677e969e9c4cef0e316105f0f34a54d4c979e Mon Sep 17 00:00:00 2001 From: Osco Date: Wed, 4 Oct 2023 23:26:40 -0400 Subject: [PATCH 122/263] MongoDB and Mongo Express Initial Commit --- apps/mongo-express/config.json | 53 +++++++++++++++ apps/mongo-express/docker-compose.yml | 42 ++++++++++++ apps/mongo-express/metadata/description.md | 28 ++++++++ apps/mongo-express/metadata/logo.jpg | Bin 0 -> 13757 bytes apps/mongodb/config.json | 37 +++++++++++ apps/mongodb/docker-compose.yml | 38 +++++++++++ apps/mongodb/metadata/description.md | 74 +++++++++++++++++++++ apps/mongodb/metadata/logo.jpg | Bin 0 -> 37188 bytes 8 files changed, 272 insertions(+) create mode 100644 apps/mongo-express/config.json create mode 100644 apps/mongo-express/docker-compose.yml create mode 100644 apps/mongo-express/metadata/description.md create mode 100644 apps/mongo-express/metadata/logo.jpg create mode 100644 apps/mongodb/config.json create mode 100644 apps/mongodb/docker-compose.yml create mode 100644 apps/mongodb/metadata/description.md create mode 100644 apps/mongodb/metadata/logo.jpg diff --git a/apps/mongo-express/config.json b/apps/mongo-express/config.json new file mode 100644 index 00000000..b19173e0 --- /dev/null +++ b/apps/mongo-express/config.json @@ -0,0 +1,53 @@ +{ + "$schema": "../schema.json", + "name": "Mongo Express", + "id": "mongo-express", + "available": true, + "short_desc": "Web-based MongoDB admin interface, written with Node.js and Express", + "author": "MongoDB", + "port": 8208, + "categories": [ + "development", + "data" + ], + "description": "A web-based MongoDB admin interface written with Node.js, Express, and Bootstrap3", + "tipi_version": 1, + "version": "1.0.0", + "source": "https://github.com/mongo-express/mongo-express", + "website": "https://www.mongodb.com/", + "exposable": true, + "form_fields": [ + { + "type": "text", + "label": "MongoDB Admin Username", + "max": 50, + "min": 10, + "required": true, + "env_variable": "ME_CONFIG_MONGODB_ADMINUSERNAME" + }, + { + "type": "password", + "label": "MongoDB Admin Password", + "max": 50, + "min": 10, + "required": true, + "env_variable": "ME_CONFIG_MONGODB_ADMINPASSWORD" + }, + { + "type": "text", + "label": "Mongo Express Web Username", + "max": 50, + "min": 10, + "required": true, + "env_variable": "ME_CONFIG_BASICAUTH_USERNAME" + }, + { + "type": "password", + "label": "Mongo Express Web Password", + "max": 50, + "min": 10, + "required": true, + "env_variable": "ME_CONFIG_BASICAUTH_PASSWORD" + } + ] +} \ No newline at end of file diff --git a/apps/mongo-express/docker-compose.yml b/apps/mongo-express/docker-compose.yml new file mode 100644 index 00000000..752f9c73 --- /dev/null +++ b/apps/mongo-express/docker-compose.yml @@ -0,0 +1,42 @@ +version: "3.8" +services: + mongo-express: + container_name: mongo-express + image: mongo-express:1.0.0 + restart: unless-stopped + ports: + - ${APP_PORT}:8081 + networks: + - tipi_main_network + environment: + - ME_CONFIG_MONGODB_SERVER=mongo + - ME_CONFIG_MONGODB_ENABLE_ADMIN=true + - ME_CONFIG_MONGODB_ADMINUSERNAME=${ME_CONFIG_MONGODB_ADMINUSERNAME} + - ME_CONFIG_MONGODB_ADMINPASSWORD=${ME_CONFIG_MONGODB_ADMINPASSWORD} + - ME_CONFIG_BASICAUTH_USERNAME=${ME_CONFIG_BASICAUTH_USERNAME} + - ME_CONFIG_BASICAUTH_PASSWORD=${ME_CONFIG_BASICAUTH_PASSWORD} + labels: + # Main + traefik.enable: true + traefik.http.middlewares.mongo-express-web-redirect.redirectscheme.scheme: https + traefik.http.services.mongo-express.loadbalancer.server.port: 8081 + # Web + traefik.http.routers.mongo-express-insecure.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.mongo-express-insecure.entrypoints: web + traefik.http.routers.mongo-express-insecure.service: mongo-express + traefik.http.routers.mongo-express-insecure.middlewares: mongo-express-web-redirect + # Websecure + traefik.http.routers.mongo-express.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.mongo-express.entrypoints: websecure + traefik.http.routers.mongo-express.service: mongo-express + traefik.http.routers.mongo-express.tls.certresolver: myresolver + # Local domain + traefik.http.routers.mongo-express-local-insecure.rule: Host(`mongo-express.${LOCAL_DOMAIN}`) + traefik.http.routers.mongo-express-local-insecure.entrypoints: web + traefik.http.routers.mongo-express-local-insecure.service: mongo-express + traefik.http.routers.mongo-express-local-insecure.middlewares: mongo-express-web-redirect + # Local domain secure + traefik.http.routers.mongo-express-local.rule: Host(`mongo-express.${LOCAL_DOMAIN}`) + traefik.http.routers.mongo-express-local.entrypoints: websecure + traefik.http.routers.mongo-express-local.service: mongo-express + traefik.http.routers.mongo-express-local.tls: true diff --git a/apps/mongo-express/metadata/description.md b/apps/mongo-express/metadata/description.md new file mode 100644 index 00000000..84fa25b5 --- /dev/null +++ b/apps/mongo-express/metadata/description.md @@ -0,0 +1,28 @@ +# mongo-express + +A web-based MongoDB admin interface written with Node.js, Express, and Bootstrap3 + +## Features +- Connect to multiple databases +- View/add/delete databases +- View/add/rename/delete collections +- View/add/update/delete documents +- Preview audio/video/image assets inline in the collection view +- Nested and/or large objects are collapsible for easy overview +- Async on-demand loading of big document properties (>100KB default) to keep collection view fast +- GridFS support - add/get/delete incredibly large files +- Use BSON data types in documents +- Mobile / Responsive - Bootstrap 3 works passably on small screens when you're in a bind +- Connect and authenticate to individual databases +- Authenticate as admin to view all databases +- Database blacklist/whitelist +- Custom CA and CA validation disabling +- Supports replica sets + +## Screenshots + +|Home Page|Database View|Collection View|Editing A Document| +|---|---|---|---| +|[![](https://camo.githubusercontent.com/bf9f84dbe8904f11cf1feee1257c384fc370f74b91aec78a27109466938c5676/687474703a2f2f692e696d6775722e636f6d2f58695968626c412e706e67 "Home Page showing databases")](https://camo.githubusercontent.com/bf9f84dbe8904f11cf1feee1257c384fc370f74b91aec78a27109466938c5676/687474703a2f2f692e696d6775722e636f6d2f58695968626c412e706e67)|[![](https://camo.githubusercontent.com/6933157b5afc955b83ed44edb82c87f9ce88e358515adc23d133cf7034dff0a1/687474703a2f2f692e696d6775722e636f6d2f585763496759312e706e67 "Viewing collections & buckets in a database")](https://camo.githubusercontent.com/6933157b5afc955b83ed44edb82c87f9ce88e358515adc23d133cf7034dff0a1/687474703a2f2f692e696d6775722e636f6d2f585763496759312e706e67)|[![](https://camo.githubusercontent.com/0d117c0fefa49f0f9d72d68633876694f6cc887915b26375375c073cc3b559d4/68747470733a2f2f696d6775722e636f6d2f556d47537233782e706e67 "Viewing documents in a collection")](https://camo.githubusercontent.com/0d117c0fefa49f0f9d72d68633876694f6cc887915b26375375c073cc3b559d4/68747470733a2f2f696d6775722e636f6d2f556d47537233782e706e67)|[![](https://camo.githubusercontent.com/7e5c4cea092e84aedb38a5a39acc86e4d69040a0fe8389ed22d705fc25833985/68747470733a2f2f696d6775722e636f6d2f6c4c333861626e2e706e67 "Editing a document")](https://camo.githubusercontent.com/7e5c4cea092e84aedb38a5a39acc86e4d69040a0fe8389ed22d705fc25833985/68747470733a2f2f696d6775722e636f6d2f6c4c333861626e2e706e67)| + +These screenshots are from version 0.30.40 View the album for more screenshots: (server status, database views, etc..) [https://imgur.com/a/9vHsF](https://imgur.com/a/9vHsF) \ No newline at end of file diff --git a/apps/mongo-express/metadata/logo.jpg b/apps/mongo-express/metadata/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c25cd38f2ae8064c1dab696b431b2d15d3c54f43 GIT binary patch literal 13757 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 literal 0 HcmV?d00001 diff --git a/apps/mongodb/config.json b/apps/mongodb/config.json new file mode 100644 index 00000000..5b81e5c2 --- /dev/null +++ b/apps/mongodb/config.json @@ -0,0 +1,37 @@ +{ + "$schema": "../schema.json", + "name": "MongoDB", + "id": "mongodb", + "available": true, + "short_desc": "MongoDB is an open-source NoSQL database", + "author": "MongoDB", + "port": 27017, + "categories": [ + "development", + "data" + ], + "description": "MongoDB is an open-source document-oriented database that is designed to store a large scale of data and also allows you to work with that data very efficiently. It is categorized under the NoSQL (Not only SQL) database because the storage and retrieval of data in the MongoDB are not in the form of tables.", + "tipi_version": 1, + "version": "7.0.2", + "source": "https://github.com/mongodb/mongo", + "website": "https://www.mongodb.com/", + "exposable": true, + "form_fields": [ + { + "type": "text", + "label": "Username", + "max": 50, + "min": 3, + "required": true, + "env_variable": "MONGO_INITDB_ROOT_USERNAME" + }, + { + "type": "password", + "label": "Password", + "max": 50, + "min": 10, + "required": true, + "env_variable": "MONGO_INITDB_ROOT_PASSWORD" + } + ] +} diff --git a/apps/mongodb/docker-compose.yml b/apps/mongodb/docker-compose.yml new file mode 100644 index 00000000..94908978 --- /dev/null +++ b/apps/mongodb/docker-compose.yml @@ -0,0 +1,38 @@ +version: "3.8" +services: + mongodb: + container_name: mongodb + image: mongo:7.0.2 + restart: unless-stopped + ports: + - ${APP_PORT}:27017 + networks: + - tipi_main_network + environment: + - MONGO_INITDB_ROOT_USERNAME=${MONGO_INITDB_ROOT_USERNAME} + - MONGO_INITDB_ROOT_PASSWORD=${MONGO_INITDB_ROOT_PASSWORD} + labels: + # Main + traefik.enable: true + traefik.http.middlewares.mongodb-web-redirect.redirectscheme.scheme: https + traefik.http.services.mongodb.loadbalancer.server.port: 27017 + # Web + traefik.http.routers.mongodb-insecure.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.mongodb-insecure.entrypoints: web + traefik.http.routers.mongodb-insecure.service: mongodb + traefik.http.routers.mongodb-insecure.middlewares: mongodb-web-redirect + # Websecure + traefik.http.routers.mongodb.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.mongodb.entrypoints: websecure + traefik.http.routers.mongodb.service: mongodb + traefik.http.routers.mongodb.tls.certresolver: myresolver + # Local domain + traefik.http.routers.mongodb-local-insecure.rule: Host(`mongodb.${LOCAL_DOMAIN}`) + traefik.http.routers.mongodb-local-insecure.entrypoints: web + traefik.http.routers.mongodb-local-insecure.service: mongodb + traefik.http.routers.mongodb-local-insecure.middlewares: mongodb-web-redirect + # Local domain secure + traefik.http.routers.mongodb-local.rule: Host(`mongodb.${LOCAL_DOMAIN}`) + traefik.http.routers.mongodb-local.entrypoints: websecure + traefik.http.routers.mongodb-local.service: mongodb + traefik.http.routers.mongodb-local.tls: true diff --git a/apps/mongodb/metadata/description.md b/apps/mongodb/metadata/description.md new file mode 100644 index 00000000..dafaeec8 --- /dev/null +++ b/apps/mongodb/metadata/description.md @@ -0,0 +1,74 @@ +# MongoDB +MongoDB is an open-source document-oriented database that is designed to store a large scale of data and also allows you to work with that data very efficiently. It is categorized under the NoSQL (Not only SQL) database because the storage and retrieval of data in the MongoDB are not in the form of tables.  + +The MongoDB database is developed and managed by MongoDB.Inc under SSPL(Server Side Public License) and initially released in February 2009. It also provides official driver support for all the popular languages like C, C++, C#, and .Net, Go, Java, Node.js, Perl, PHP, Python, Motor, Ruby, Scala, Swift, Mongoid. So, that you can create an application using any of these languages. Nowadays there are so many companies that used MongoDB like Facebook, Nokia, eBay, Adobe, Google, etc. to store their large amount of data.  + +## How it works ? + +Now, we will see how actually thing happens behind the scene. As we know that MongoDB is a database server and the data is stored in these databases. Or in other words, MongoDB environment gives you a server that you can start and then create multiple databases on it using MongoDB.  +Because of its NoSQL database, the data is stored in the collections and documents. Hence the database, collection, and documents are related to each other as shown below:  +  + +![mongodb-nosql-working](https://media.geeksforgeeks.org/wp-content/uploads/20200127193216/mongodb-nosql-working.jpg) + +- The MongoDB database contains collections just like the MYSQL database contains tables. You are allowed to create multiple databases and multiple collections. +- Now inside of the collection we have documents. These documents contain the data we want to store in the MongoDB database and a single collection can contain multiple documents and you are schema-less means it is not necessary that one document is similar to another. +- The documents are created using the fields. Fields are key-value pairs in the documents, it is just like columns in the relation database. The value of the fields can be of any BSON data types like double, string, boolean, etc. +- The data stored in the MongoDB is in the format of BSON documents. Here, BSON stands for Binary representation of JSON documents. Or in other words, in the backend, the MongoDB server converts the JSON data into a binary form that is known as BSON and this BSON is stored and queried more efficiently. +- In MongoDB documents, you are allowed to store nested data. This nesting of data allows you to create complex relations between data and store them in the same document which makes the working and fetching of data extremely efficient as compared to SQL. In SQL, you need to write complex joins to get the data from table 1 and table 2. The maximum size of the BSON document is 16MB. + +**NOTE:** In MongoDB server, you are allowed to run multiple databases.  + +For example, we have a database named GeeksforGeeks. Inside this database, we have two collections and in these collections we have two documents. And in these documents we store our data in the form of fields. As shown in the below image:  +  + +![](https://media.geeksforgeeks.org/wp-content/uploads/20200123222337/Untitled-Diagram-57.jpg) + +**How mongoDB is different from RDBMS ?**  +Some major differences in between MongoDB and the RDBMS are as follows:  +  + +|MongoDB|RDBMS| +|---|---| +|It is a non-relational and document-oriented database.|It is a relational database.| +|It is suitable for hierarchical data storage.|It is not suitable for hierarchical data storage.| +|It has a dynamic schema.|It has a predefined schema.| +|It centers around the CAP theorem (Consistency, Availability, and Partition tolerance).|It centers around ACID properties (Atomicity, Consistency, Isolation, and Durability).| +|In terms of performance, it is much faster than RDBMS.|In terms of performance, it is slower than MongoDB.| +||| + +## Features of MongoDB – + +- **Schema-less Database:** It is the great feature provided by the MongoDB. A Schema-less database means one collection can hold different types of documents in it. Or in other words, in the MongoDB database, a single collection can hold multiple documents and these documents may consist of the different numbers of fields, content, and size. It is not necessary that the one document is similar to another document like in the relational databases. Due to this cool feature, MongoDB provides great flexibility to databases. +- **Document Oriented:** In MongoDB, all the data stored in the documents instead of tables like in RDBMS. In these documents, the data is stored in fields(key-value pair) instead of rows and columns which make the data much more flexible in comparison to RDBMS. And each document contains its unique object id. +- **Indexing:** In MongoDB database, every field in the documents is indexed with primary and secondary indices this makes easier and takes less time to get or search data from the pool of the data. If the data is not indexed, then database search each document with the specified query which takes lots of time and not so efficient. +- **Scalability:** MongoDB provides horizontal scalability with the help of sharding. Sharding means to distribute data on multiple servers, here a large amount of data is partitioned into data chunks using the shard key, and these data chunks are evenly distributed across shards that reside across many physical servers. It will also add new machines to a running database. +- **Replication:** MongoDB provides high availability and redundancy with the help of replication, it creates multiple copies of the data and sends these copies to a different server so that if one server fails, then the data is retrieved from another server. +- **Aggregation:** It allows to perform operations on the grouped data and get a single result or computed result. It is similar to the SQL GROUPBY clause. It provides three different aggregations i.e, aggregation pipeline, map-reduce function, and single-purpose aggregation methods +- **High Performance:** The performance of MongoDB is very high and data persistence as compared to another database due to its features like scalability, indexing, replication, etc. + +**Advantages of MongoDB :**  +  + +- It is a schema-less NoSQL database. You need not to design the schema of the database when you are working with MongoDB. +- It does not support join operation. +- It provides great flexibility to the fields in the documents. +- It contains heterogeneous data. +- It provides high performance, availability, scalability. +- It supports Geospatial efficiently. +- It is a document oriented database and the data is stored in BSON documents. +- It also supports multiple document ACID transition(string from MongoDB 4.0). +- It does not require any SQL injection. +- It is easily integrated with Big Data Hadoop + +**Disadvantages of MongoDB :**  +  + +- It uses high memory for data storage. +- You are not allowed to store more than 16MB data in the documents. +- The nesting of data in BSON is also limited you are not allowed to nest data more than 100 levels. + +## Learn MongoDB +- Documentation - [https://docs.mongodb.com/manual/](https://docs.mongodb.com/manual/) +- Developer Center - [https://www.mongodb.com/developer/](https://www.mongodb.com/developer/) +- MongoDB University - [https://learn.mongodb.com](https://learn.mongodb.com/) \ No newline at end of file diff --git a/apps/mongodb/metadata/logo.jpg b/apps/mongodb/metadata/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0d06672de8ea3e3e485171ed9187aec3c67ef2a2 GIT binary patch literal 37188 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 GfdAPoAH8(| literal 0 HcmV?d00001 From 97a58052a79ce312a1a4a4689d60557a0ce1c83d Mon Sep 17 00:00:00 2001 From: Osco Date: Wed, 4 Oct 2023 23:40:22 -0400 Subject: [PATCH 123/263] Update Config Params --- README.md | 4 +++- apps/mongo-express/config.json | 7 ++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 6a93225e..112dd1df 100644 --- a/README.md +++ b/README.md @@ -89,7 +89,9 @@ This is the official repository for the Tipi App Store. It contains all the apps - [Monica](https://github.com/monicahq/monica) - A Personal Relationship Management tool to help you document your social life - [Mixpost](https://github.com/inovector/mixpost) - Self-hosted social media management. Schedule and organize your social content. - [Mixpost Pro](https://mixpost.app/pricing) - Self-hosted social media management. Schedule and organize your social content. -- [Movary](https://github.com/leepeuker/movary - ) Track and rate your watched movies +- [MongoDB](https://github.com/mongodb/mongo)- MongoDB is an open-source NoSQL database +- [Mongo Express](https://github.com/mongo-express/mongo-express) - A web-based MongoDB admin interface written with Node.js, Express, and Bootstrap3 +- [Movary](https://github.com/leepeuker/movary ) - Track and rate your watched movies - [mStream](https://github.com/IrosTheBeggar/mStream) - The easiest music streaming server available - [Mylar3](https://github.com/mylar3/mylar3) - Mylar3 is an automated Comic Book downloader (cbr/cbz) for use with NZB and torrents written in python. - [n8n](https://github.com/n8n-io/n8n) - Workflow Automation Tool diff --git a/apps/mongo-express/config.json b/apps/mongo-express/config.json index b19173e0..3f58276f 100644 --- a/apps/mongo-express/config.json +++ b/apps/mongo-express/config.json @@ -5,7 +5,7 @@ "available": true, "short_desc": "Web-based MongoDB admin interface, written with Node.js and Express", "author": "MongoDB", - "port": 8208, + "port": 8087, "categories": [ "development", "data" @@ -16,12 +16,13 @@ "source": "https://github.com/mongo-express/mongo-express", "website": "https://www.mongodb.com/", "exposable": true, + "no_gui": true, "form_fields": [ { "type": "text", "label": "MongoDB Admin Username", "max": 50, - "min": 10, + "min": 3, "required": true, "env_variable": "ME_CONFIG_MONGODB_ADMINUSERNAME" }, @@ -37,7 +38,7 @@ "type": "text", "label": "Mongo Express Web Username", "max": 50, - "min": 10, + "min": 3, "required": true, "env_variable": "ME_CONFIG_BASICAUTH_USERNAME" }, From 3df7f3beb2029703fc73c389e0a03f4b1d9801af Mon Sep 17 00:00:00 2001 From: Osco Date: Wed, 4 Oct 2023 23:52:57 -0400 Subject: [PATCH 124/263] rename to mongo --- apps/mongodb/config.json | 4 ++-- apps/mongodb/docker-compose.yml | 40 ++++++++++++++++----------------- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/apps/mongodb/config.json b/apps/mongodb/config.json index 5b81e5c2..8aa6b73f 100644 --- a/apps/mongodb/config.json +++ b/apps/mongodb/config.json @@ -19,7 +19,7 @@ "form_fields": [ { "type": "text", - "label": "Username", + "label": "Admin Username", "max": 50, "min": 3, "required": true, @@ -27,7 +27,7 @@ }, { "type": "password", - "label": "Password", + "label": "Admin Password", "max": 50, "min": 10, "required": true, diff --git a/apps/mongodb/docker-compose.yml b/apps/mongodb/docker-compose.yml index 94908978..576e2ba6 100644 --- a/apps/mongodb/docker-compose.yml +++ b/apps/mongodb/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.8" services: - mongodb: - container_name: mongodb + mongo: + container_name: mongo image: mongo:7.0.2 restart: unless-stopped ports: @@ -14,25 +14,25 @@ services: labels: # Main traefik.enable: true - traefik.http.middlewares.mongodb-web-redirect.redirectscheme.scheme: https - traefik.http.services.mongodb.loadbalancer.server.port: 27017 + traefik.http.middlewares.mongo-web-redirect.redirectscheme.scheme: https + traefik.http.services.mongo.loadbalancer.server.port: 27017 # Web - traefik.http.routers.mongodb-insecure.rule: Host(`${APP_DOMAIN}`) - traefik.http.routers.mongodb-insecure.entrypoints: web - traefik.http.routers.mongodb-insecure.service: mongodb - traefik.http.routers.mongodb-insecure.middlewares: mongodb-web-redirect + traefik.http.routers.mongo-insecure.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.mongo-insecure.entrypoints: web + traefik.http.routers.mongo-insecure.service: mongo + traefik.http.routers.mongo-insecure.middlewares: mongo-web-redirect # Websecure - traefik.http.routers.mongodb.rule: Host(`${APP_DOMAIN}`) - traefik.http.routers.mongodb.entrypoints: websecure - traefik.http.routers.mongodb.service: mongodb - traefik.http.routers.mongodb.tls.certresolver: myresolver + traefik.http.routers.mongo.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.mongo.entrypoints: websecure + traefik.http.routers.mongo.service: mongo + traefik.http.routers.mongo.tls.certresolver: myresolver # Local domain - traefik.http.routers.mongodb-local-insecure.rule: Host(`mongodb.${LOCAL_DOMAIN}`) - traefik.http.routers.mongodb-local-insecure.entrypoints: web - traefik.http.routers.mongodb-local-insecure.service: mongodb - traefik.http.routers.mongodb-local-insecure.middlewares: mongodb-web-redirect + traefik.http.routers.mongo-local-insecure.rule: Host(`mongo.${LOCAL_DOMAIN}`) + traefik.http.routers.mongo-local-insecure.entrypoints: web + traefik.http.routers.mongo-local-insecure.service: mongo + traefik.http.routers.mongo-local-insecure.middlewares: mongo-web-redirect # Local domain secure - traefik.http.routers.mongodb-local.rule: Host(`mongodb.${LOCAL_DOMAIN}`) - traefik.http.routers.mongodb-local.entrypoints: websecure - traefik.http.routers.mongodb-local.service: mongodb - traefik.http.routers.mongodb-local.tls: true + traefik.http.routers.mongo-local.rule: Host(`mongo.${LOCAL_DOMAIN}`) + traefik.http.routers.mongo-local.entrypoints: websecure + traefik.http.routers.mongo-local.service: mongo + traefik.http.routers.mongo-local.tls: true From e2b060b6ff069ba3249a0d3cf097c9f3f0d0ec04 Mon Sep 17 00:00:00 2001 From: Osco Date: Thu, 5 Oct 2023 10:05:58 -0400 Subject: [PATCH 125/263] update tipi version --- apps/mongo-express/config.json | 2 +- apps/mongodb/config.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/mongo-express/config.json b/apps/mongo-express/config.json index 3f58276f..3c963fc2 100644 --- a/apps/mongo-express/config.json +++ b/apps/mongo-express/config.json @@ -11,7 +11,7 @@ "data" ], "description": "A web-based MongoDB admin interface written with Node.js, Express, and Bootstrap3", - "tipi_version": 1, + "tipi_version": 2, "version": "1.0.0", "source": "https://github.com/mongo-express/mongo-express", "website": "https://www.mongodb.com/", diff --git a/apps/mongodb/config.json b/apps/mongodb/config.json index 8aa6b73f..ee54ca33 100644 --- a/apps/mongodb/config.json +++ b/apps/mongodb/config.json @@ -11,7 +11,7 @@ "data" ], "description": "MongoDB is an open-source document-oriented database that is designed to store a large scale of data and also allows you to work with that data very efficiently. It is categorized under the NoSQL (Not only SQL) database because the storage and retrieval of data in the MongoDB are not in the form of tables.", - "tipi_version": 1, + "tipi_version": 2, "version": "7.0.2", "source": "https://github.com/mongodb/mongo", "website": "https://www.mongodb.com/", From 007da3662b11c5080fd791692557aafb2f169682 Mon Sep 17 00:00:00 2001 From: Osco Date: Thu, 5 Oct 2023 10:19:52 -0400 Subject: [PATCH 126/263] revert tipi version --- apps/mongo-express/config.json | 3 +-- apps/mongodb/config.json | 3 ++- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/mongo-express/config.json b/apps/mongo-express/config.json index 3c963fc2..f0ed50fe 100644 --- a/apps/mongo-express/config.json +++ b/apps/mongo-express/config.json @@ -11,11 +11,10 @@ "data" ], "description": "A web-based MongoDB admin interface written with Node.js, Express, and Bootstrap3", - "tipi_version": 2, + "tipi_version": 1, "version": "1.0.0", "source": "https://github.com/mongo-express/mongo-express", "website": "https://www.mongodb.com/", - "exposable": true, "no_gui": true, "form_fields": [ { diff --git a/apps/mongodb/config.json b/apps/mongodb/config.json index ee54ca33..3b7c3d11 100644 --- a/apps/mongodb/config.json +++ b/apps/mongodb/config.json @@ -11,11 +11,12 @@ "data" ], "description": "MongoDB is an open-source document-oriented database that is designed to store a large scale of data and also allows you to work with that data very efficiently. It is categorized under the NoSQL (Not only SQL) database because the storage and retrieval of data in the MongoDB are not in the form of tables.", - "tipi_version": 2, + "tipi_version": 1, "version": "7.0.2", "source": "https://github.com/mongodb/mongo", "website": "https://www.mongodb.com/", "exposable": true, + "no_gui": true, "form_fields": [ { "type": "text", From 48a333350b353fefbf6b1772e2029cbe1cc87365 Mon Sep 17 00:00:00 2001 From: Osco Date: Thu, 5 Oct 2023 10:30:18 -0400 Subject: [PATCH 127/263] update gist link for owncast documentation --- apps/owncast/metadata/description.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/owncast/metadata/description.md b/apps/owncast/metadata/description.md index 4d8d847c..e9a27f10 100755 --- a/apps/owncast/metadata/description.md +++ b/apps/owncast/metadata/description.md @@ -4,7 +4,7 @@ ### Setting Up an Exposed Instance with SSL Certs As Owncast uses the RTMP protocol for ingesting incoming streams, the typical Cloudflare Zero Access configuration will not work as it does not have RTMP as an option for routing. -You can optionally follow [this guide](https://gist.github.com/HeyOsco/6e8102d7d82ffaeaae16f41bef98b739) for setting up an exposed Owncast server with your RunTipi instance. +You can optionally follow [this guide](https://gist.github.com/oscoDOTblog/6e8102d7d82ffaeaae16f41bef98b739) for setting up an exposed Owncast server with your RunTipi instance. ### Admin Dashboard Access From db302bd112109513e7f230f51e0d8cd1a9ad0b3a Mon Sep 17 00:00:00 2001 From: Osco Date: Thu, 5 Oct 2023 10:32:10 -0400 Subject: [PATCH 128/263] rename appid to mongo --- apps/{mongodb => mongo}/config.json | 2 +- apps/{mongodb => mongo}/docker-compose.yml | 0 apps/{mongodb => mongo}/metadata/description.md | 0 apps/{mongodb => mongo}/metadata/logo.jpg | Bin 4 files changed, 1 insertion(+), 1 deletion(-) rename apps/{mongodb => mongo}/config.json (98%) rename apps/{mongodb => mongo}/docker-compose.yml (100%) rename apps/{mongodb => mongo}/metadata/description.md (100%) rename apps/{mongodb => mongo}/metadata/logo.jpg (100%) diff --git a/apps/mongodb/config.json b/apps/mongo/config.json similarity index 98% rename from apps/mongodb/config.json rename to apps/mongo/config.json index 3b7c3d11..d8da7ade 100644 --- a/apps/mongodb/config.json +++ b/apps/mongo/config.json @@ -1,7 +1,7 @@ { "$schema": "../schema.json", "name": "MongoDB", - "id": "mongodb", + "id": "mongo", "available": true, "short_desc": "MongoDB is an open-source NoSQL database", "author": "MongoDB", diff --git a/apps/mongodb/docker-compose.yml b/apps/mongo/docker-compose.yml similarity index 100% rename from apps/mongodb/docker-compose.yml rename to apps/mongo/docker-compose.yml diff --git a/apps/mongodb/metadata/description.md b/apps/mongo/metadata/description.md similarity index 100% rename from apps/mongodb/metadata/description.md rename to apps/mongo/metadata/description.md diff --git a/apps/mongodb/metadata/logo.jpg b/apps/mongo/metadata/logo.jpg similarity index 100% rename from apps/mongodb/metadata/logo.jpg rename to apps/mongo/metadata/logo.jpg From f23b3f9fb65bfab86e95b4354d2bb79ccb243242 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 5 Oct 2023 14:36:13 +0000 Subject: [PATCH 129/263] chore(deps): update tooljet/tooljet-server-ce docker tag to v2.19.2 (#1352) --- apps/tooljet/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/tooljet/docker-compose.yml b/apps/tooljet/docker-compose.yml index 2a6ba2f7..883282d8 100644 --- a/apps/tooljet/docker-compose.yml +++ b/apps/tooljet/docker-compose.yml @@ -44,7 +44,7 @@ services: tooljet-server: container_name: tooljet-server - image: tooljet/tooljet-server-ce:v2.19.1 + image: tooljet/tooljet-server-ce:v2.19.2 tty: true stdin_open: true restart: always From 920e258eb009706d34932baab09c2fcae1f911ac Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 5 Oct 2023 14:37:22 +0000 Subject: [PATCH 130/263] chore(deps): update ghcr.io/dgtlmoon/changedetection.io docker tag to v0.45.3 (#1351) --- apps/changedetection/config.json | 34 ++++++++++++------------- apps/changedetection/docker-compose.yml | 2 +- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/apps/changedetection/config.json b/apps/changedetection/config.json index 307abab1..8a0e3e32 100644 --- a/apps/changedetection/config.json +++ b/apps/changedetection/config.json @@ -1,18 +1,18 @@ { - "name": "ChangeDetection", - "available": true, - "port": 8257, - "exposable": true, - "id": "changedetection", - "description": "The best and simplest free open source website change detection, restock monitor and notification service.", - "tipi_version": 1, - "version": "0.45.2", - "categories": [ - "utilities" - ], - "short_desc": "Website change detection.", - "author": "dgtlmoon", - "source": "https://github.com/dgtlmoon/changedetection.io", - "website": "https://changedetection.io/", - "form_fields": [] -} \ No newline at end of file + "name": "ChangeDetection", + "available": true, + "port": 8257, + "exposable": true, + "id": "changedetection", + "description": "The best and simplest free open source website change detection, restock monitor and notification service.", + "tipi_version": 2, + "version": "0.45.3", + "categories": [ + "utilities" + ], + "short_desc": "Website change detection.", + "author": "dgtlmoon", + "source": "https://github.com/dgtlmoon/changedetection.io", + "website": "https://changedetection.io/", + "form_fields": [] +} diff --git a/apps/changedetection/docker-compose.yml b/apps/changedetection/docker-compose.yml index f14fd078..03e03888 100644 --- a/apps/changedetection/docker-compose.yml +++ b/apps/changedetection/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.7" services: changedetection: - image: ghcr.io/dgtlmoon/changedetection.io:0.45.2 + image: ghcr.io/dgtlmoon/changedetection.io:0.45.3 container_name: changedetection hostname: changedetection volumes: From 465b0f564c5c105d237a9fa9a69431040ec68c00 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 5 Oct 2023 18:05:28 +0000 Subject: [PATCH 131/263] chore(deps): update ghcr.io/ignisda/ryot docker tag to v2.21.1 (#1353) --- apps/ryot/config.json | 4 ++-- apps/ryot/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/ryot/config.json b/apps/ryot/config.json index 7bc1db52..d617e690 100644 --- a/apps/ryot/config.json +++ b/apps/ryot/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "ryot", - "tipi_version": 21, - "version": "2.21.0", + "tipi_version": 22, + "version": "2.21.1", "categories": [ "media" ], diff --git a/apps/ryot/docker-compose.yml b/apps/ryot/docker-compose.yml index 4c18ca24..64b7d5e4 100644 --- a/apps/ryot/docker-compose.yml +++ b/apps/ryot/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: ryot: - image: ghcr.io/ignisda/ryot:v2.21.0 + image: ghcr.io/ignisda/ryot:v2.21.1 container_name: ryot environment: - DATABASE_URL=postgres://tipi:${RYOT_DB_PASSWORD}@ryot-db:5432/ryot From 3743a7a1beb2384c65a158594960bb20db181127 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 5 Oct 2023 18:05:42 +0000 Subject: [PATCH 132/263] chore(deps): update neosmemo/memos docker tag to v0.16.0 (#1354) --- apps/memos/config.json | 4 ++-- apps/memos/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/memos/config.json b/apps/memos/config.json index 0d2626d2..ced9ef55 100644 --- a/apps/memos/config.json +++ b/apps/memos/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 5230, "id": "memos", - "tipi_version": 16, - "version": "0.15.2", + "tipi_version": 17, + "version": "0.16.0", "categories": [ "utilities" ], diff --git a/apps/memos/docker-compose.yml b/apps/memos/docker-compose.yml index 30a56787..ea5b691f 100644 --- a/apps/memos/docker-compose.yml +++ b/apps/memos/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.7" services: memos: - image: neosmemo/memos:0.15.2 + image: neosmemo/memos:0.16.0 container_name: memos volumes: - ${APP_DATA_DIR}/memos:/var/opt/memos From 36b591a4ba6b675fb089ac3b714394cce426fa5b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 5 Oct 2023 22:57:08 +0000 Subject: [PATCH 133/263] chore(deps): update leepeuker/movary docker tag to v0.59.0 (#1355) --- apps/movary/config.json | 4 ++-- apps/movary/docker-compose.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/movary/config.json b/apps/movary/config.json index 20399147..980b98a8 100644 --- a/apps/movary/config.json +++ b/apps/movary/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "movary", - "tipi_version": 25, - "version": "0.58.0", + "tipi_version": 26, + "version": "0.59.0", "categories": [ "media" ], diff --git a/apps/movary/docker-compose.yml b/apps/movary/docker-compose.yml index e9d371c2..5d5a396b 100644 --- a/apps/movary/docker-compose.yml +++ b/apps/movary/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: movary: - image: leepeuker/movary:0.58.0 + image: leepeuker/movary:0.59.0 container_name: movary user: ${TIPI_UID}:${TIPI_GID} group_add: @@ -56,7 +56,7 @@ services: traefik.http.routers.movary-local.tls: true movary-migration: - image: leepeuker/movary:0.58.0 + image: leepeuker/movary:0.59.0 container_name: movary-migration command: php bin/console.php database:migration:migrate user: ${TIPI_UID}:${TIPI_GID} From 2270191fa5728cb81aa290fe0f6a81bb6180e39f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 6 Oct 2023 16:59:40 +0000 Subject: [PATCH 134/263] chore(deps): update codeberg.org/forgejo/forgejo docker tag to v1.20.5 (#1356) --- apps/forgejo/config.json | 4 ++-- apps/forgejo/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/forgejo/config.json b/apps/forgejo/config.json index 6d2df1ca..a70df637 100644 --- a/apps/forgejo/config.json +++ b/apps/forgejo/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "forgejo", - "tipi_version": 7, - "version": "1.20.4-0", + "tipi_version": 8, + "version": "1.20.5-0", "categories": [ "development" ], diff --git a/apps/forgejo/docker-compose.yml b/apps/forgejo/docker-compose.yml index bb3f902a..1164e81c 100644 --- a/apps/forgejo/docker-compose.yml +++ b/apps/forgejo/docker-compose.yml @@ -2,7 +2,7 @@ version: '3.7' services: forgejo: - image: codeberg.org/forgejo/forgejo:1.20.4-0 + image: codeberg.org/forgejo/forgejo:1.20.5-0 container_name: forgejo environment: - USER_UID=1000 From 88f70bebe37b72a6f2642abd549a34c07747d5b5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 6 Oct 2023 18:45:47 +0000 Subject: [PATCH 135/263] chore(deps): update budibase/budibase docker tag to v2.11.15 (#1357) --- apps/budibase/config.json | 4 ++-- apps/budibase/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/budibase/config.json b/apps/budibase/config.json index 15d94d8d..9e050bf7 100644 --- a/apps/budibase/config.json +++ b/apps/budibase/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "budibase", - "tipi_version": 14, - "version": "2.11.8", + "tipi_version": 15, + "version": "2.11.15", "categories": [ "development" ], diff --git a/apps/budibase/docker-compose.yml b/apps/budibase/docker-compose.yml index 1f6b016b..bfcdf8c0 100644 --- a/apps/budibase/docker-compose.yml +++ b/apps/budibase/docker-compose.yml @@ -1,7 +1,7 @@ version: '3.7' services: budibase: - image: budibase/budibase:2.11.8 + image: budibase/budibase:2.11.15 restart: unless-stopped container_name: budibase ports: From 11db83570b57111fa5b5893b7de955b9dc80bfb1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 6 Oct 2023 21:53:02 +0000 Subject: [PATCH 136/263] chore(deps): update ghost docker tag to v5.67.0 (#1358) --- apps/ghost/config.json | 4 ++-- apps/ghost/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/ghost/config.json b/apps/ghost/config.json index b4015d8e..2355092a 100644 --- a/apps/ghost/config.json +++ b/apps/ghost/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "ghost", - "tipi_version": 51, - "version": "5.66.1", + "tipi_version": 52, + "version": "5.67.0", "categories": [ "social", "media" diff --git a/apps/ghost/docker-compose.yml b/apps/ghost/docker-compose.yml index 8a29896c..0eb4c0f5 100644 --- a/apps/ghost/docker-compose.yml +++ b/apps/ghost/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.9" services: ghost: - image: ghost:5.66.1 + image: ghost:5.67.0 container_name: ghost depends_on: - ghostdb From c1b0007ee193d736932cffada9d793fec36c8a1c Mon Sep 17 00:00:00 2001 From: jonnymacbean <75743578+jonnymacbean@users.noreply.github.com> Date: Wed, 27 Sep 2023 16:34:01 +0100 Subject: [PATCH 137/263] add kwiix-serve files --- apps/kiwix-serve/config.json | 19 +++++++++++ apps/kiwix-serve/docker-compose.yml | 39 +++++++++++++++++++++++ apps/kiwix-serve/metadata/description.md | 1 + apps/kiwix-serve/metadata/logo.jpg | Bin 0 -> 12163 bytes 4 files changed, 59 insertions(+) create mode 100644 apps/kiwix-serve/config.json create mode 100644 apps/kiwix-serve/docker-compose.yml create mode 100644 apps/kiwix-serve/metadata/description.md create mode 100644 apps/kiwix-serve/metadata/logo.jpg diff --git a/apps/kiwix-serve/config.json b/apps/kiwix-serve/config.json new file mode 100644 index 00000000..35898c4c --- /dev/null +++ b/apps/kiwix-serve/config.json @@ -0,0 +1,19 @@ +{ + "$schema": "../schema.json", + "name": "Kiwix Serve", + "port": 8080, + "available": true, + "exposable": true, + "id": "kiwix-serve", + "tipi_version": 1, + "version": "3.5.0-2", + "categories": [ + "media" + ], + "description": "Kiwix Serve is a web server for hosting .zim files", + "short_desc": "Kiwix Serve is a web server for hosting .zim files", + "author": "Kiwix", + "source": "https://github.com/kiwix/kiwix-tools/", + "website": "https://kiwix.org/", + "form_fields": [] +} \ No newline at end of file diff --git a/apps/kiwix-serve/docker-compose.yml b/apps/kiwix-serve/docker-compose.yml new file mode 100644 index 00000000..7c349984 --- /dev/null +++ b/apps/kiwix-serve/docker-compose.yml @@ -0,0 +1,39 @@ +version: "3.9" + +services: + kiwix-serve: + container_name: kiwix-serve + image: ghcr.io/kiwix/kiwix-serve:3.5.0-2 + ports: + - ${APP_PORT}:8080 + volumes: + - ${APP_DATA_DIR}/zim:/data + command: '*.zim' + restart: unless-stopped + networks: + - tipi_main_network + labels: + # Main + traefik.enable: true + traefik.http.middlewares.kiwix-serve-web-redirect.redirectscheme.scheme: https + traefik.http.services.kiwix-serve.loadbalancer.server.port: 8080 + # Web + traefik.http.routers.kiwix-serve-insecure.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.kiwix-serve-insecure.entrypoints: web + traefik.http.routers.kiwix-serve-insecure.service: kiwix-serve + traefik.http.routers.kiwix-serve-insecure.middlewares: kiwix-serve-web-redirect + # Websecure + traefik.http.routers.kiwix-serve.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.kiwix-serve.entrypoints: websecure + traefik.http.routers.kiwix-serve.service: kiwix-serve + traefik.http.routers.kiwix-serve.tls.certresolver: myresolver + # Local domain + traefik.http.routers.kiwix-serve-local-insecure.rule: Host(`kiwix-serve.${LOCAL_DOMAIN}`) + traefik.http.routers.kiwix-serve-local-insecure.entrypoints: web + traefik.http.routers.kiwix-serve-local-insecure.service: kiwix-serve + traefik.http.routers.kiwix-serve-local-insecure.middlewares: kiwix-serve-web-redirect + # Local domain secure + traefik.http.routers.kiwix-serve-local.rule: Host(`kiwix-serve.${LOCAL_DOMAIN}`) + traefik.http.routers.kiwix-serve-local.entrypoints: websecure + traefik.http.routers.kiwix-serve-local.service: kiwix-serve + traefik.http.routers.kiwix-serve-local.tls: true diff --git a/apps/kiwix-serve/metadata/description.md b/apps/kiwix-serve/metadata/description.md new file mode 100644 index 00000000..30404ce4 --- /dev/null +++ b/apps/kiwix-serve/metadata/description.md @@ -0,0 +1 @@ +TODO \ No newline at end of file diff --git a/apps/kiwix-serve/metadata/logo.jpg b/apps/kiwix-serve/metadata/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f31a9e0c3bdce49488796765c427a6ba22cd75fc GIT binary patch literal 12163 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

AzBRaLY9Ji^%xk{ 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 Date: Wed, 27 Sep 2023 20:54:27 +0100 Subject: [PATCH 138/263] added description --- apps/kiwix-serve/config.json | 6 ++--- apps/kiwix-serve/metadata/description.md | 27 ++++++++++++++++++++++- apps/kiwix-serve/metadata/logo.jpg | Bin 12163 -> 26000 bytes 3 files changed, 29 insertions(+), 4 deletions(-) diff --git a/apps/kiwix-serve/config.json b/apps/kiwix-serve/config.json index 35898c4c..c6f7140d 100644 --- a/apps/kiwix-serve/config.json +++ b/apps/kiwix-serve/config.json @@ -1,6 +1,6 @@ { "$schema": "../schema.json", - "name": "Kiwix Serve", + "name": "Kiwix Server", "port": 8080, "available": true, "exposable": true, @@ -10,8 +10,8 @@ "categories": [ "media" ], - "description": "Kiwix Serve is a web server for hosting .zim files", - "short_desc": "Kiwix Serve is a web server for hosting .zim files", + "description": "Kiwix Server is a web server for hosting .zim files", + "short_desc": "Kiwix Server is a web server for hosting .zim files", "author": "Kiwix", "source": "https://github.com/kiwix/kiwix-tools/", "website": "https://kiwix.org/", diff --git a/apps/kiwix-serve/metadata/description.md b/apps/kiwix-serve/metadata/description.md index 30404ce4..eab0c153 100644 --- a/apps/kiwix-serve/metadata/description.md +++ b/apps/kiwix-serve/metadata/description.md @@ -1 +1,26 @@ -TODO \ No newline at end of file +# Kiwix Server + +Kiwix Server is a .zim compatible web server: it allows you to deliver .zim files over the HTTP protocol within your local network – be it a University or your own house. Simply start Kiwix-Serve on your machine, and your content will be available for anybody through their web browser. This allows you to view a website without having internet access. + + +**Ensure that your there are .zim files in the `${APP_DATA_DIR}/zim` directory otherwise the server won't launch properly and will need to be restarted** + +For doumentation see [the Kiwix wiki](https://wiki.kiwix.org/wiki/Kiwix-serve) + +## Features + +* Full text search engine +* Search suggestions +* Really small and efficient +* Compatible with almost all browsers +* Available on all platforms +* Available as command line executable +* Embedded in Kiwix UI +* Able to deal with one ZIM file or XML library files +* [RESTful API endpoint with OPDS (XML)](https://wiki.kiwix.org/wiki/OPDS) + +## What are ZIM files? + +The ZIM file format is an open file format that stores wiki content for offline usage. The format is defined by the openZIM project, which also supports an Kiwix. The format is primarily used to store the contents of Wikipedia and other Wikimedia projects, including articles, full-text search indices and auxiliary files. + +Download ZIM files from the [Kiwix library](https://library.kiwix.org/#lang=eng), or create your own (see [Zimit](https://www.youzim.it/)) \ No newline at end of file diff --git a/apps/kiwix-serve/metadata/logo.jpg b/apps/kiwix-serve/metadata/logo.jpg index f31a9e0c3bdce49488796765c427a6ba22cd75fc..588df3e83402892660358562f4c3677fbd8e10a3 100644 GIT binary patch literal 26000 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 Qwf{=NeF*zgHeU7q1I+v9f&c&j literal 12163 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

AzBRaLY9Ji^%xk{ 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 Date: Wed, 27 Sep 2023 20:57:51 +0100 Subject: [PATCH 139/263] change dir --- apps/kiwix-serve/docker-compose.yml | 2 +- apps/kiwix-serve/metadata/description.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/kiwix-serve/docker-compose.yml b/apps/kiwix-serve/docker-compose.yml index 7c349984..6c5e0b83 100644 --- a/apps/kiwix-serve/docker-compose.yml +++ b/apps/kiwix-serve/docker-compose.yml @@ -7,7 +7,7 @@ services: ports: - ${APP_PORT}:8080 volumes: - - ${APP_DATA_DIR}/zim:/data + - ${APP_DATA_DIR}/data/zim:/data command: '*.zim' restart: unless-stopped networks: diff --git a/apps/kiwix-serve/metadata/description.md b/apps/kiwix-serve/metadata/description.md index eab0c153..6739cd45 100644 --- a/apps/kiwix-serve/metadata/description.md +++ b/apps/kiwix-serve/metadata/description.md @@ -3,7 +3,7 @@ Kiwix Server is a .zim compatible web server: it allows you to deliver .zim files over the HTTP protocol within your local network – be it a University or your own house. Simply start Kiwix-Serve on your machine, and your content will be available for anybody through their web browser. This allows you to view a website without having internet access. -**Ensure that your there are .zim files in the `${APP_DATA_DIR}/zim` directory otherwise the server won't launch properly and will need to be restarted** +**Ensure that your there are .zim files in the `${APP_DATA_DIR}/data/zim` directory otherwise the server won't launch properly and will need to be restarted** For doumentation see [the Kiwix wiki](https://wiki.kiwix.org/wiki/Kiwix-serve) From 6f17737a454ee02e5c2b42aaa62c6ff8b986a2b3 Mon Sep 17 00:00:00 2001 From: Nicolas Meienberger Date: Sat, 7 Oct 2023 11:57:33 +0200 Subject: [PATCH 140/263] chore(kiwix-serve): change port to 8169 --- apps/kiwix-serve/config.json | 8 +++----- apps/kiwix-serve/docker-compose.yml | 2 +- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/apps/kiwix-serve/config.json b/apps/kiwix-serve/config.json index c6f7140d..dbeedfac 100644 --- a/apps/kiwix-serve/config.json +++ b/apps/kiwix-serve/config.json @@ -1,19 +1,17 @@ { "$schema": "../schema.json", "name": "Kiwix Server", - "port": 8080, + "port": 8169, "available": true, "exposable": true, "id": "kiwix-serve", "tipi_version": 1, "version": "3.5.0-2", - "categories": [ - "media" - ], + "categories": ["media"], "description": "Kiwix Server is a web server for hosting .zim files", "short_desc": "Kiwix Server is a web server for hosting .zim files", "author": "Kiwix", "source": "https://github.com/kiwix/kiwix-tools/", "website": "https://kiwix.org/", "form_fields": [] -} \ No newline at end of file +} diff --git a/apps/kiwix-serve/docker-compose.yml b/apps/kiwix-serve/docker-compose.yml index 6c5e0b83..56b739a8 100644 --- a/apps/kiwix-serve/docker-compose.yml +++ b/apps/kiwix-serve/docker-compose.yml @@ -1,4 +1,4 @@ -version: "3.9" +version: '3.9' services: kiwix-serve: From c24fa98911703427c28e631057e47a8f366915cd Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 5 Oct 2023 14:36:13 +0000 Subject: [PATCH 141/263] chore(deps): update tooljet/tooljet-server-ce docker tag to v2.19.2 (#1352) --- apps/tooljet/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/tooljet/docker-compose.yml b/apps/tooljet/docker-compose.yml index 2a6ba2f7..883282d8 100644 --- a/apps/tooljet/docker-compose.yml +++ b/apps/tooljet/docker-compose.yml @@ -44,7 +44,7 @@ services: tooljet-server: container_name: tooljet-server - image: tooljet/tooljet-server-ce:v2.19.1 + image: tooljet/tooljet-server-ce:v2.19.2 tty: true stdin_open: true restart: always From 8252cf91b7cc2a4d201921e4be4b923cd934957c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 5 Oct 2023 14:37:22 +0000 Subject: [PATCH 142/263] chore(deps): update ghcr.io/dgtlmoon/changedetection.io docker tag to v0.45.3 (#1351) --- apps/changedetection/config.json | 34 ++++++++++++------------- apps/changedetection/docker-compose.yml | 2 +- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/apps/changedetection/config.json b/apps/changedetection/config.json index 307abab1..8a0e3e32 100644 --- a/apps/changedetection/config.json +++ b/apps/changedetection/config.json @@ -1,18 +1,18 @@ { - "name": "ChangeDetection", - "available": true, - "port": 8257, - "exposable": true, - "id": "changedetection", - "description": "The best and simplest free open source website change detection, restock monitor and notification service.", - "tipi_version": 1, - "version": "0.45.2", - "categories": [ - "utilities" - ], - "short_desc": "Website change detection.", - "author": "dgtlmoon", - "source": "https://github.com/dgtlmoon/changedetection.io", - "website": "https://changedetection.io/", - "form_fields": [] -} \ No newline at end of file + "name": "ChangeDetection", + "available": true, + "port": 8257, + "exposable": true, + "id": "changedetection", + "description": "The best and simplest free open source website change detection, restock monitor and notification service.", + "tipi_version": 2, + "version": "0.45.3", + "categories": [ + "utilities" + ], + "short_desc": "Website change detection.", + "author": "dgtlmoon", + "source": "https://github.com/dgtlmoon/changedetection.io", + "website": "https://changedetection.io/", + "form_fields": [] +} diff --git a/apps/changedetection/docker-compose.yml b/apps/changedetection/docker-compose.yml index f14fd078..03e03888 100644 --- a/apps/changedetection/docker-compose.yml +++ b/apps/changedetection/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.7" services: changedetection: - image: ghcr.io/dgtlmoon/changedetection.io:0.45.2 + image: ghcr.io/dgtlmoon/changedetection.io:0.45.3 container_name: changedetection hostname: changedetection volumes: From 4e1cd31287d0b065b3633f8143353c1403260fbc Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 5 Oct 2023 18:05:28 +0000 Subject: [PATCH 143/263] chore(deps): update ghcr.io/ignisda/ryot docker tag to v2.21.1 (#1353) --- apps/ryot/config.json | 4 ++-- apps/ryot/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/ryot/config.json b/apps/ryot/config.json index 7bc1db52..d617e690 100644 --- a/apps/ryot/config.json +++ b/apps/ryot/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "ryot", - "tipi_version": 21, - "version": "2.21.0", + "tipi_version": 22, + "version": "2.21.1", "categories": [ "media" ], diff --git a/apps/ryot/docker-compose.yml b/apps/ryot/docker-compose.yml index 4c18ca24..64b7d5e4 100644 --- a/apps/ryot/docker-compose.yml +++ b/apps/ryot/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: ryot: - image: ghcr.io/ignisda/ryot:v2.21.0 + image: ghcr.io/ignisda/ryot:v2.21.1 container_name: ryot environment: - DATABASE_URL=postgres://tipi:${RYOT_DB_PASSWORD}@ryot-db:5432/ryot From 53075be8bdd52f64beffa76f8c1418feb433767c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 5 Oct 2023 18:05:42 +0000 Subject: [PATCH 144/263] chore(deps): update neosmemo/memos docker tag to v0.16.0 (#1354) --- apps/memos/config.json | 4 ++-- apps/memos/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/memos/config.json b/apps/memos/config.json index 0d2626d2..ced9ef55 100644 --- a/apps/memos/config.json +++ b/apps/memos/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 5230, "id": "memos", - "tipi_version": 16, - "version": "0.15.2", + "tipi_version": 17, + "version": "0.16.0", "categories": [ "utilities" ], diff --git a/apps/memos/docker-compose.yml b/apps/memos/docker-compose.yml index 30a56787..ea5b691f 100644 --- a/apps/memos/docker-compose.yml +++ b/apps/memos/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.7" services: memos: - image: neosmemo/memos:0.15.2 + image: neosmemo/memos:0.16.0 container_name: memos volumes: - ${APP_DATA_DIR}/memos:/var/opt/memos From de9a9879469a81e32d8523497d3116331f967146 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 5 Oct 2023 22:57:08 +0000 Subject: [PATCH 145/263] chore(deps): update leepeuker/movary docker tag to v0.59.0 (#1355) --- apps/movary/config.json | 4 ++-- apps/movary/docker-compose.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/movary/config.json b/apps/movary/config.json index 20399147..980b98a8 100644 --- a/apps/movary/config.json +++ b/apps/movary/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "movary", - "tipi_version": 25, - "version": "0.58.0", + "tipi_version": 26, + "version": "0.59.0", "categories": [ "media" ], diff --git a/apps/movary/docker-compose.yml b/apps/movary/docker-compose.yml index e9d371c2..5d5a396b 100644 --- a/apps/movary/docker-compose.yml +++ b/apps/movary/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: movary: - image: leepeuker/movary:0.58.0 + image: leepeuker/movary:0.59.0 container_name: movary user: ${TIPI_UID}:${TIPI_GID} group_add: @@ -56,7 +56,7 @@ services: traefik.http.routers.movary-local.tls: true movary-migration: - image: leepeuker/movary:0.58.0 + image: leepeuker/movary:0.59.0 container_name: movary-migration command: php bin/console.php database:migration:migrate user: ${TIPI_UID}:${TIPI_GID} From 92dd5f604b099d70124bea5f753252bcaa71b43b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 6 Oct 2023 16:59:40 +0000 Subject: [PATCH 146/263] chore(deps): update codeberg.org/forgejo/forgejo docker tag to v1.20.5 (#1356) --- apps/forgejo/config.json | 4 ++-- apps/forgejo/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/forgejo/config.json b/apps/forgejo/config.json index 6d2df1ca..a70df637 100644 --- a/apps/forgejo/config.json +++ b/apps/forgejo/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "forgejo", - "tipi_version": 7, - "version": "1.20.4-0", + "tipi_version": 8, + "version": "1.20.5-0", "categories": [ "development" ], diff --git a/apps/forgejo/docker-compose.yml b/apps/forgejo/docker-compose.yml index bb3f902a..1164e81c 100644 --- a/apps/forgejo/docker-compose.yml +++ b/apps/forgejo/docker-compose.yml @@ -2,7 +2,7 @@ version: '3.7' services: forgejo: - image: codeberg.org/forgejo/forgejo:1.20.4-0 + image: codeberg.org/forgejo/forgejo:1.20.5-0 container_name: forgejo environment: - USER_UID=1000 From c3e74223134f70f572c680b9ffe7405ba8625b96 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 6 Oct 2023 18:45:47 +0000 Subject: [PATCH 147/263] chore(deps): update budibase/budibase docker tag to v2.11.15 (#1357) --- apps/budibase/config.json | 4 ++-- apps/budibase/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/budibase/config.json b/apps/budibase/config.json index 15d94d8d..9e050bf7 100644 --- a/apps/budibase/config.json +++ b/apps/budibase/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "budibase", - "tipi_version": 14, - "version": "2.11.8", + "tipi_version": 15, + "version": "2.11.15", "categories": [ "development" ], diff --git a/apps/budibase/docker-compose.yml b/apps/budibase/docker-compose.yml index 1f6b016b..bfcdf8c0 100644 --- a/apps/budibase/docker-compose.yml +++ b/apps/budibase/docker-compose.yml @@ -1,7 +1,7 @@ version: '3.7' services: budibase: - image: budibase/budibase:2.11.8 + image: budibase/budibase:2.11.15 restart: unless-stopped container_name: budibase ports: From 341fb77c31957cc76f6199b38836e41b358615db Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 6 Oct 2023 21:53:02 +0000 Subject: [PATCH 148/263] chore(deps): update ghost docker tag to v5.67.0 (#1358) --- apps/ghost/config.json | 4 ++-- apps/ghost/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/ghost/config.json b/apps/ghost/config.json index b4015d8e..2355092a 100644 --- a/apps/ghost/config.json +++ b/apps/ghost/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "ghost", - "tipi_version": 51, - "version": "5.66.1", + "tipi_version": 52, + "version": "5.67.0", "categories": [ "social", "media" diff --git a/apps/ghost/docker-compose.yml b/apps/ghost/docker-compose.yml index 8a29896c..0eb4c0f5 100644 --- a/apps/ghost/docker-compose.yml +++ b/apps/ghost/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.9" services: ghost: - image: ghost:5.66.1 + image: ghost:5.67.0 container_name: ghost depends_on: - ghostdb From 71f7728f091d578b97fdf21dcbd514a4eb153af4 Mon Sep 17 00:00:00 2001 From: jonnymacbean <75743578+jonnymacbean@users.noreply.github.com> Date: Wed, 27 Sep 2023 16:34:01 +0100 Subject: [PATCH 149/263] add kwiix-serve files --- apps/kiwix-serve/config.json | 19 +++++++++++ apps/kiwix-serve/docker-compose.yml | 39 +++++++++++++++++++++++ apps/kiwix-serve/metadata/description.md | 1 + apps/kiwix-serve/metadata/logo.jpg | Bin 0 -> 12163 bytes 4 files changed, 59 insertions(+) create mode 100644 apps/kiwix-serve/config.json create mode 100644 apps/kiwix-serve/docker-compose.yml create mode 100644 apps/kiwix-serve/metadata/description.md create mode 100644 apps/kiwix-serve/metadata/logo.jpg diff --git a/apps/kiwix-serve/config.json b/apps/kiwix-serve/config.json new file mode 100644 index 00000000..35898c4c --- /dev/null +++ b/apps/kiwix-serve/config.json @@ -0,0 +1,19 @@ +{ + "$schema": "../schema.json", + "name": "Kiwix Serve", + "port": 8080, + "available": true, + "exposable": true, + "id": "kiwix-serve", + "tipi_version": 1, + "version": "3.5.0-2", + "categories": [ + "media" + ], + "description": "Kiwix Serve is a web server for hosting .zim files", + "short_desc": "Kiwix Serve is a web server for hosting .zim files", + "author": "Kiwix", + "source": "https://github.com/kiwix/kiwix-tools/", + "website": "https://kiwix.org/", + "form_fields": [] +} \ No newline at end of file diff --git a/apps/kiwix-serve/docker-compose.yml b/apps/kiwix-serve/docker-compose.yml new file mode 100644 index 00000000..7c349984 --- /dev/null +++ b/apps/kiwix-serve/docker-compose.yml @@ -0,0 +1,39 @@ +version: "3.9" + +services: + kiwix-serve: + container_name: kiwix-serve + image: ghcr.io/kiwix/kiwix-serve:3.5.0-2 + ports: + - ${APP_PORT}:8080 + volumes: + - ${APP_DATA_DIR}/zim:/data + command: '*.zim' + restart: unless-stopped + networks: + - tipi_main_network + labels: + # Main + traefik.enable: true + traefik.http.middlewares.kiwix-serve-web-redirect.redirectscheme.scheme: https + traefik.http.services.kiwix-serve.loadbalancer.server.port: 8080 + # Web + traefik.http.routers.kiwix-serve-insecure.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.kiwix-serve-insecure.entrypoints: web + traefik.http.routers.kiwix-serve-insecure.service: kiwix-serve + traefik.http.routers.kiwix-serve-insecure.middlewares: kiwix-serve-web-redirect + # Websecure + traefik.http.routers.kiwix-serve.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.kiwix-serve.entrypoints: websecure + traefik.http.routers.kiwix-serve.service: kiwix-serve + traefik.http.routers.kiwix-serve.tls.certresolver: myresolver + # Local domain + traefik.http.routers.kiwix-serve-local-insecure.rule: Host(`kiwix-serve.${LOCAL_DOMAIN}`) + traefik.http.routers.kiwix-serve-local-insecure.entrypoints: web + traefik.http.routers.kiwix-serve-local-insecure.service: kiwix-serve + traefik.http.routers.kiwix-serve-local-insecure.middlewares: kiwix-serve-web-redirect + # Local domain secure + traefik.http.routers.kiwix-serve-local.rule: Host(`kiwix-serve.${LOCAL_DOMAIN}`) + traefik.http.routers.kiwix-serve-local.entrypoints: websecure + traefik.http.routers.kiwix-serve-local.service: kiwix-serve + traefik.http.routers.kiwix-serve-local.tls: true diff --git a/apps/kiwix-serve/metadata/description.md b/apps/kiwix-serve/metadata/description.md new file mode 100644 index 00000000..30404ce4 --- /dev/null +++ b/apps/kiwix-serve/metadata/description.md @@ -0,0 +1 @@ +TODO \ No newline at end of file diff --git a/apps/kiwix-serve/metadata/logo.jpg b/apps/kiwix-serve/metadata/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f31a9e0c3bdce49488796765c427a6ba22cd75fc GIT binary patch literal 12163 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

AzBRaLY9Ji^%xk{ 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 Date: Wed, 27 Sep 2023 20:54:27 +0100 Subject: [PATCH 150/263] added description --- apps/kiwix-serve/config.json | 6 ++--- apps/kiwix-serve/metadata/description.md | 27 ++++++++++++++++++++++- apps/kiwix-serve/metadata/logo.jpg | Bin 12163 -> 26000 bytes 3 files changed, 29 insertions(+), 4 deletions(-) diff --git a/apps/kiwix-serve/config.json b/apps/kiwix-serve/config.json index 35898c4c..c6f7140d 100644 --- a/apps/kiwix-serve/config.json +++ b/apps/kiwix-serve/config.json @@ -1,6 +1,6 @@ { "$schema": "../schema.json", - "name": "Kiwix Serve", + "name": "Kiwix Server", "port": 8080, "available": true, "exposable": true, @@ -10,8 +10,8 @@ "categories": [ "media" ], - "description": "Kiwix Serve is a web server for hosting .zim files", - "short_desc": "Kiwix Serve is a web server for hosting .zim files", + "description": "Kiwix Server is a web server for hosting .zim files", + "short_desc": "Kiwix Server is a web server for hosting .zim files", "author": "Kiwix", "source": "https://github.com/kiwix/kiwix-tools/", "website": "https://kiwix.org/", diff --git a/apps/kiwix-serve/metadata/description.md b/apps/kiwix-serve/metadata/description.md index 30404ce4..eab0c153 100644 --- a/apps/kiwix-serve/metadata/description.md +++ b/apps/kiwix-serve/metadata/description.md @@ -1 +1,26 @@ -TODO \ No newline at end of file +# Kiwix Server + +Kiwix Server is a .zim compatible web server: it allows you to deliver .zim files over the HTTP protocol within your local network – be it a University or your own house. Simply start Kiwix-Serve on your machine, and your content will be available for anybody through their web browser. This allows you to view a website without having internet access. + + +**Ensure that your there are .zim files in the `${APP_DATA_DIR}/zim` directory otherwise the server won't launch properly and will need to be restarted** + +For doumentation see [the Kiwix wiki](https://wiki.kiwix.org/wiki/Kiwix-serve) + +## Features + +* Full text search engine +* Search suggestions +* Really small and efficient +* Compatible with almost all browsers +* Available on all platforms +* Available as command line executable +* Embedded in Kiwix UI +* Able to deal with one ZIM file or XML library files +* [RESTful API endpoint with OPDS (XML)](https://wiki.kiwix.org/wiki/OPDS) + +## What are ZIM files? + +The ZIM file format is an open file format that stores wiki content for offline usage. The format is defined by the openZIM project, which also supports an Kiwix. The format is primarily used to store the contents of Wikipedia and other Wikimedia projects, including articles, full-text search indices and auxiliary files. + +Download ZIM files from the [Kiwix library](https://library.kiwix.org/#lang=eng), or create your own (see [Zimit](https://www.youzim.it/)) \ No newline at end of file diff --git a/apps/kiwix-serve/metadata/logo.jpg b/apps/kiwix-serve/metadata/logo.jpg index f31a9e0c3bdce49488796765c427a6ba22cd75fc..588df3e83402892660358562f4c3677fbd8e10a3 100644 GIT binary patch literal 26000 zcmeFZdpuNY|35r(CQZ&ErXngyNfa`bBuOf}Bxx$iDI`RUSw#pTI;g}bNhc=favI|_ zA;}@fm_c&LFyk;5vu1g&_I>Yt?|Xmm`}@70@AEvb=l926wPvmvYpv^ZeXh^-IlMog zYZf~f`?08bpxXru#@ZUQ0fWJaVMGOFFoK{Z0RCYFlrh4;wlSD<0xG|^-38YD{hB4< z8a)hn#mIs4@)Fs9+#BhJ5&HYR5#asju^*h^segOd+pM?MX!8yuJ;PO742<+Pg9ZkJ zy^X<$f-8hJ>*;N|E%@7$1$NyQ`n~2$ z|0Tsl#D4$&KW;4cg1CCsVg*K8Yzc_S1qIe%mPiW-N((Gj3p@ouzVP2D{EY#CP9b3t zQ894|NdN>02nsF{5)>8|0$_tc$j@+JNLpBC^_JZtvPaH}uJMu6yPohwOnpxdP5x*z zTVw0F%c0^D3W_U~l-Fu%ty{lAf182f_8mrMd(HP*?6*8%`^&N8b|>slI-PgE;Nt4$ z?(64&B_Qx>P}q&|h{&5!(TR8N-n*al;NhdE>CZBrXTEs(DmO2`ps?uO`{K%~>Y7^m zhr0Tf*0wM09i3g>{R4yFhQ1GvjE-@pre|ikbMX8Ez!v^C9Ps+L5&dC20L&0rA|xaz zB>Hna0!sqGDJU%@yn2g>%a-S0nm;K);V?u^Y2gPykGrpfm=LLD6+jqcQ(~o{OLV51^s>{{R|V{tuv` z^*^NHxtC4JBPYxJ0OZ9I_YK%BA&Z#FJC@&TjSauKE~$~1Fd{Evj&Imi&+z*!_~QR% z0b6YQZ-~rxsV-m7ZVJs;p~?l)4;QrLmzi$e`K9;kYvEF9%JD>t)zTI(w;|6LF|^%O z<^;aeg6r%-U4qsX`V!qadw1OW+GWYrS+ZU`9vF7|vul zE@Fg_E@DE1NY$pE6qYW>qY7QwcIK#q70;$;n<;*@zSGiY5fdjs7;4~of^MoA>|dxo zA=xto8Dv*-1*%m1mD*{F?S0lgf1Y2r*22&hdqkrqmtuB;~1%ix^jYI7yCkaTPK(Dtl_ALm1Dz zFlMrdsn|vNI@v`*v65iY&J$1Gm(m^#kBlmp@7rIYU&M8?ZS63-S3|Mzi zGWNwr#Bz=52K!~(!;bD+P3IGJ-p`0oGj?u0-ny;KK+4AAUEKHfeue$cHzMQqcb=C! zOFL>Ly-VenBjy;n|A!~E_~l5oN%TK3WhDrc=BiB%mKF@YchDp?J-+AlBYU+NF8i zv&m&(s22ZaX$GW_*R-vzac5Ohz>afQHBx5;7On${UIx0ZB=r*5wl?yXFGwwF8-4me z3{77w)y=rjv^RfPJLZzjqlRwFZp)pV8j?famLJwnuSu-?_vgwtwi6vc$cStaD(L|_ z5C9#xjkR;BONgfz;&0rmvgzOH>pu~@=9|lT^RS*fe4a~G+2!q&53kk<^4;;w`&72C z;W!@LDV}5lpXI0>gRMAvlNT-1Jq)$ElA~|8=ajFOt~1%FcQd0&43`C2*4JA!5SWUI zrFOGBfON!w<&uVXr*!I%LL!S8w~kUci~U^cEnTX*t3&@m5H{!Q2Pjy1+5Og(cLGj< zH5lmC7x^iRaev-L^dqB)OzXkN;d48pvrKHBoVvcUQaADYC*paUzaVK!++t4EV&$!u zBIQMCOQP5PuTSh^`=7<8v}9ni28zT9pvoT973I1f3Vmv9dc^oQYMZ}gVV6|C^wRrY z!=KlEdn~L}gSm{$C$qHJHr(B?ZZ_#NK3}cOv!5&uUtxSIDSOB2QjfK0)JR;Z;ghzB zbxjz$i$@gbs3eusgG#&~>@tx}Q;8QNsx(gojH)SPr+bY;dK&jq8Z?ICHQ(2Xir;yN z6GbIs!4$lJpMX~aJk|b4BgsgsQdjb;5lq-~h2}d4k)X}m zk@&$`NBT9>RWPI9B37SzlPcx!Q6_r2*-K`s>hRl#SreX_w}v#L_tN&M-UOPi{FKvB zrrne*5F=qAMu{dmJin?8(g#Li!BA>AC;W)#OqShHVGhSs6theQD9{u8WSl;pz?a}& zP>V#7mEz#Wa()=at5ln#J+RbNgLCZRI#iAQO6nwE)?otjfEIC*!g z7H}*#_MihCY(mx^JGr+m+ifJoaf@&z_PnL`!p{pmCxLP3WMAb_$Fm0cDz#kcSM!Xn zys({x6QRLZdQ3#S_nyQo)JA)I-%r^kEO+ETI&q5~|GY>%RMWSi1Tx!C3sESy=`kFX zY8v0lGaQ3B?k1waMaN4Epk9xK#vIxX9I53qay$Or)c4c7Zp4q~q01tG7RslN%k#A8 zJOiRiTX`MFY~V|N``bo=>h9wa_yB)DFVnCx$Z}aB1;q`>n?|bPZnC0;g7UFcZhL#fSV}2 zta&VHl)#KzW@I-(K%^T`$veFLz&F!E*Y1AaX=xaZ%DE@)o^2Ah)~cJn)M2nRu&7wD zb(#NQgQ$~TQ@ma_>dal}O;M`p+a~e( z(_80A54Oz={YSPI`eW>)9S$c90*3}!2Zv-KhvDlXY7d_TUalNI+O}z^Ux%fmu4lEH zyZ5L^F=cQL#R~Gv*1`fj>g2%6-Z4f;|gfQ`Gn6_yP$~HZQ7k@xm}K#wXE5_OSY>`1Lj>E&rIn z-zM@uewQD`EhQ-s&EeL;UafxbO6z63>Qwa(FX89p=cAwV=M=XZvgyi8Q}L_o2CkX( zMWdb6a|C#+7WXck^5kS-1GkeiORhTqZnqX!A;D`~h@}9kl+kxTXZwuVHqz@;VA}2y z-bS_DFd)m92CI(Xeh_#&2AcT3ybT;y`89l_S~OaX_x6Uj4st*9$uruMH_5qLQ5VrI zqsOD2Lo^%~F&8|pW11$OxFky65@^=2*eSEMg_?j}?h3SR__o&+DfsCpPyFGW1lB~B zSNaxfp=Q;1m0G5ppStk=4{6JSz#74RZGuPo6Gw)R4(w9YZ~Xm z4YGkc@99F9k>qQi8Cgvye1$DPn6v`1Vr$jnBfE8LY$A*@%8U9L%e!{Ja4X`*ma8N? zgiEcw2^Ig+0jt~1Wi4VvfV)CF;Wg8={3}G$DK{9q#kFhjeHAES|Mi?wt#fH>(#~f} z?{7eo8`I&thea2pkC@A0{)baw@egsXM+opdy$`98q5LaV4Y5>Y(LBDls`$1AKE)4 z$k`wag$G2JT4n_{R2N6alv-?g*S5_e%4;HH=V`aj64_bJYdc>3H}2G*t>&LU>u2d~ zDo}YbK0fGn;o%L}n|k)i*D$J0yR`WiAtnQY*F;{YGC??!_a(AMH#+FNA*4cdb6&Z? znt7pYttlQ_JbHx=3qiWw2cWD6{_7I1qa-TZTXcLh9c{(2?HFOHk{o?;|BO-PyM1el zqiT;u#0d6Qi_L7+aFR#q34GcviC1!GY+shHqcrJuQ&EYRzywb4Be$LHr*y{;d9=jrrfzI*SS%$5C#s4=u9-uWQeoqwb}FNd0&SkKkJFE01&=9q+@bf}ognYeX= zh^YOQ$F?3U2wvAQ&dWsWsYUTMlU)om>qp)#Xp&Zx6uc#gtJ>wNj&>KaTj{(^y)CXW_72}HUZ9BckxWG>!R({ zj??&e+K2+WoOpsmsc4EWSA`qd-Rw>{tTHGioAUgtE|OQA>$A~frO*4TYLD%Bwh(O_ z#7rZILCg$7u3ZGxjd9~nZS0F`o!OMFSDagBU4IFA-m<&no0pSQEJx0VmWHJh;2r6x zq{_e~tVtQ4PA4kxQ*?#nYiy!kUMlQhdWGN)6m{o0rq!Cvue^DtNphNcqJlD2$iYSV zPb&ThNY&z)vue{{FzTlr9Ub>yNWHpp=#iz$#*a1{kI+|m=9DPM4RHMBh-KDQa#sU; z5o3uq_0E}4^Lyu$@vP^*gt`>W{_F<8^;LlDNAb)8NY->?AO%%T=Gp$R{gIb-E9tbz zm&xX9RZb%c$&^Q?|$D3`+01|nk$^ZTjYR{e50RRcB> zjcaSk8n55W*slr9wIGUuC1(fGoY8e7cqNDlmMP8z>W@-zG#aigex}fp`8Cmahv~P^U&nZQx0GEK|(SlfAr}rdJxBUOLVjZ(woXY8#ZB{2H$8vhdUobCUy%=pMUp= z{*56OUHk+1hH6lm+?Nlb^OR8T>p7L0jx0DMiat%5_M^-IRUOuj;B^?|+U)e|x7o)V z=#a~Wap6y7fIHRxKw8#eo<{%gPfDvUteJ_(TX0{2sXR$^1x7K8XX5VDkja=o;z7cd zH;g_iD0K;cw0XCstXBQQ&72ut_+9iu^DbNm1yKMnhYe7QQ{ZL>=_6?c+}L08zFZC= z!Y)Eg7$WSu-*K{4tIFEL?L|d|ti~pj52l|Bhw|1qt@W5+I%F;Jk$NThpFCz#G+h)M)g0+VVU^@fM@lR~}IS~g~D?Vr%~%Ffog7hZaC_ig%;{U@|m2cM(1`CK8F z5SYi(0wYhc3ky63Y@~V{&%Wrazti)zXGesq^R1!N1_$Mw)i>B>K$ofPeUq@UU3IEt zh%Pq(5T4#>Q1Gl|ZCO%0GyY>){^>B@(G|5`%b})fvrjALTMkZOa3kU7mk3x>^+4=E zN2q?&O~z9H7(8$xYKk3Cj4Asy__t_fV^QMeTq z<75X$_vvni@iofJ-ge^r)hu%Hkqg$)U2UnXq84h887eWy-ZaQf1SFqFF2RQ9LanlF zX$!Xsqi#)<=ESp(GohXn$Enq2<+B)r|AlM+@1y?qR{az!2WsTO7SC_*-=(x~ABd7H z$zci~sWYuC?<)WVIYPAk6q5}mZf-9U=LdFZiE);KQOcKTg85u6!#@ zrlsnz4;2_jl)7c~x+%vN$#kEtY;VnM-+?(hZ>PNrmycsxHo-bgtY9Ek8JuD|dklt? z`oGNdU3ksxJ#c}yw2Rl$W2o6Oh?{EJQt)nCx?;s5#uf*ZIU;Y!JpgEVLR=L;Kp1Ca zi?n&Jv0=qyPqSi?Sor`IB@)m*@a`kMo1;!_gTI zC)%bPcurm3j}C7(>fC*zkO zp5j9mZe-nq9ns4OHZFLL-p2G4_`BYqF+Ovso5aEx{hRr~{t;x$@b?sMEb0DQo4a?= zW4)5FjgZqQp??^tm^J)|UQ{Qjr(~dLyh)#QP)&xjmX(#b&}n?N5WvoYg@KLGyGAHk z7f}n~t+ZldyOS!Yg_KB7CBMm=MlM{n*Bb_1zv#!$9z>_Qjb8E0cHwHI{=-=HzmI8c z?^*e!iF5$(@@>+%3U43a&t4SoM$V&;cRe-8eAS0?$HorQoigoT3QSPeV&*St@n?p` zS8UqT(L-fhPQt5`SW#evzi|A^Uo*3Il&)vDh<9z%RT?`?&e3e5%0GkFmyr24(Y=e9 z`*Dx$7C^3nW(+Zt3AuBKERJbiRI!NZ%Cne~=UTmXpL00h=I`-r#dLOtfN$KDeQ6de z`sEIb)-l+Y6nJ&!co-0>JhpHwBi!#D@fb(%gatSA*6fPqea1zMxW;AuZr=Pho5$HE zwZ5&~lKNAg!_(W&MPuf*xf%Qj=)89ifyQD&-Q<35?4XrQvh*Y?vO8@qbjZL)d@i=F zgPjQmVht2F9$iJ;4#M(5QAF0zmRwVO!0VB>i2Ky4FK2fdN;~^bSzH!nS8b}>y#1;a zlrE(o?tS;OD6A4lr=@Dc!2=$X!tmt5;%5I?z2ikCZ_C43*`Ci2ExlZ`=5_iq=Jiwe zpxh!v-U=1F%2NW|IA)@)Gg)1xALucln!iTJur}!60o{Hv)BO{+LsligOqe_yvREjJ z--bFe*kGk-P*@<`5Xy(sOr&{cu6g z2|oC7g!aaAs4Ebn7hRMw&YN>8`a&4`B`M8{S`6Tw9w}ZeAnVoTJl$S^Oik}Qj?*!v zHm0LeGk|;dW(i%NLazo&<1){pLU6_MmLsi;TcGOxY1aH9Mm!Km=>?g zU!~t@ap=noyiG^Vb;8q2-SX`HHEM>j6&va;grq+MH~93wSbP73QfhMsQOOJ*K*g%6 zsLV$w9$ug3a23^VNmE4L1J5pHCQNEn0OKl|@`x$DM4d}vm zM&CrH*Uqg-^k2keOYejZQ}eKh(zd4-E0rm%1Wuwy)OI&Nsz{gE=b-DsLCYZaio>Gw z^RKpsG`D0fPofQyr$5^*ED%Ki>z(n;Sp1Tw(Yx7COwIkFW(NXoD%r=&K`FwA6imOFEX zr;y?cgfMNNN9RlvtToB%$VsR?QRhp8q)G<{$rpX6vg)T$ugbjOdMXv4#eJ`0)S+B}buhiDg!9}M0}o$jgXs6+ZG zb9<(2!JXy%=a3OWWQG4^C|QxXo(vx_+49;Ago@8~+e{)1 zM=xSX>ph>ov(fbLi-b=s(f)uO;Ta9!)YW5fQWg9)pTIW9 z;%aNBnfFqY)giT{mtzJe7B<@L#&fzc0G$ca=Kq4Y062gM(bP>2XYqk%6sJV+MN+b! zU4xj8`Lk2H(Nty~xwDdc+*ATC8Fbu^E8%|Fs0;2cR}Tev$RjY6-SN_(v-oo54Gxvm zeCrm&v;O@zy!nd6f^SJw_IYe|+9GBIm%s19AfLMQ0J(nVvnV^<911KBK$L_Br#GWt z_)j+~;1`_xuUe6co|X+);@RhMl`$dlgH7=ZWh1CYYrdEcq?+A zFNi|0PJf6R%1}F=zU={(dN9b*alSR424?UnW%?nFsZ39QPlIvTnA@gn8} zbjoHtWvwl*(&JjHtJ>}Kq5{YZ&$ga~^%c4He6m&!oWKkCACUD5s5!Ky9z~LKq{#xCT`TDkCffZ}p%Dd=EIWeioiQ3jwDR_Fago^V zEwpZP4t?d>BhnTEyOtCO{UJ3{YC8x5Yqk?N4R(A*lz|s9{Uy5cu-(a+x{_A!L55^p zwcmNavBcGOW}!Efxy2wPe?w)yTg0$E18S(S){WvK)_UHitl?OaMC8^}->!C(BM);+ zB=EuRW!VX&Ly6)2jQQiv8!mb9;YmN9&VhPsQ&i)T`0ZLwafHRb6|2H%M~&^~r@?Gj zKD_8jf}kasp&{ zk&%_hUXkcQ*$F&pQqQB3UZPg1f8l5UAI~?T$_bx@j;3ZF0(w}WIKKCrE~mPoF#KHR znrnClWZkCEx3dX5+Vb5h*{#_*`ov8?Kc9OWszSv^ELLO%En>Fo!Uo>xG9fba`0J;D zK;uP>r>D26NU2{w+xw>Xx50f6Kgm>nH(SJP(orQno)nFG z%?|DiOs_gQ9A;t(^LW@zAwX9>lrw{A%!un3dsMcRebPh@l% z19XC?R#8-d!4+gGJb>O3E%dLH8y6Lw-Z-mOeaT(LV*f;7oKuB;q1wUc*YFX_f1>+W zd|(k{ZUgH(aDkN!B_gN!54@@Fu>rK>sp@c5KP3Hi)Gn#JY2n<74Nt8-*4`@(s}I{! z7r)iXvTWIkWuo(6I=BR&6P!uydc7lWR znX5>{&d@va$NnIr|Hb&#mr-+CJT<6o8v8w2Z6zhQZ$_slT2^2rkOzD)QOpwHEX8-Z zd&KGvc-J;A3E9^%dBW9eq4yJ1e7r_eEaX8nhEIG7Ak=6a`znOU>e8l@Z6f<*Im6MM zIhW|lmU_V%L&e>kMa;z?-;>Gk&JwPNJ;#ZSuWrJ<9xL4MGb0A2V4zF+b{vRFfp>ay z72C4ai#YU3@=CXL{L`O1Pv1aHV4G3GGe{87GtvaBd)Fr4ZOum2PX%hS+Rou*N0SuH zIFGj77g)qV>jW26pO!-XigfQ#GR{OlbqlOAP^MC|VCLBq@RVQ%iK<^O7CmDcDgUFl z{3OQz&u;IwyPJCsJ-vnxqr%%6s1&t`^Gtb;H4iit{P~K9$9Dour41r4Dl7}BPU{F(*Y#K4PFHuWEwq7PdjOY%2To`tq%#Ms|p-3%8=fq)B1) zt(XZm`!u!bWq0Lcx7H6qy}QEZmO&kR4RC#{rtzPS-F->R4y!^}cM#W7x&mKU8Tz^{ z+)vgII9_!8)7eMjPgkc0_HI7%`PwgW5n#n0@rl2mLij{SRDgaKe%uT=`;wX$#rCdI zxydTm3tZB-!o=+2yWKB)LOv91KMXC6{Fb74^ZB^+AY~-=pCB>(9}^iri^;Sb%e9HR zFvNM?Ut7SA97w(6ogL^~UAT3$I5xcHyAsPw_F_U&ThL{rxO=1ehehFfux#C^0N`8> zsJH`w=2%80Z_@B6Tk$5b*NnE%6Av%E#fAwzBU0T8>gk*3eWyNP?BwA=0;>@azZoo} z%g9pjnu0bcQ^&hFPZ{G=`%Sx^{*d0MHoU)WaL?-ZG0%Nc5-sQtrPtGiptu0mYu-xY zC4Ly*mAV}LNX}P#;5WHEkmOj>q1iq4h1%BZuz%O|s)swwdM0iw?Z@EO{sUe2?~`ZS z+%oZflNnj6nBh3KaD#lgy|#Bk)BBlED0Bex&6N_u86Kzc4iL4Qq5d^+3VW`)T)7qK z`2%14VqR|#DZlD;j3NZ|xT`<`7nBb)ag)pVu|OdLw1t|_N*}io4UDem{@|CW_Bpl@ zAyRLz_CWo;W$j9%d{8;S&G)phY1dBTUP;?KRydW0MTViyFt zPxC;r5^Zg{EZk)K-cY$C;v)9O?8T|d;k|g5J?NCf&GR5>*1?MX7w81xF@t>+2d}4( zmjJ0Rf#rQT>D;I<22DQYs)~E^H~6cb8x>u69oWRCsGV=TIk2Lx?$|2a<-o}S>~&N5 zK;t9ub&mFlTs9h(UeTdg9QVY?;bhOAl#`a{LH*Tx%D|6bK_by8L=m?4f!GbGcwPTD z4ws@Z5+CjVEV0Kts&=0zE21IhanSqloghC4JgJ``9{Z$sk0>gUH<-jTV}gkrDkE$wciE9c#mkpg&n7w##(5G2nnxO{&3wjJ4cw?#};acxQF zhoRPe(S)4Q&BM9&4&!0hYX`#l)}*WR@u{YSOnLdgWm0Uv^ak2SJIe|DAd8h75ih_3 zgX>6Zh)X%gUo%-(zJ{ryF;{iMD+deV11p35C_f}oabR~v!_ZFrlHpu7fkjU@<9JtD z78-ofIldELy<98%uufL{_IXEj-@XIrcGom4peu~Z%pm7b5jm*8m1xetYeMkO;y=*k zMkKA{8NAGtMGOtHrZdxginZt;YRh>Pwl9q3?IybNADFIlBP*K<1U_2CRFc-W;6k3K zKmTy{;m*U07|GgRHA7+5Ky`UE3CG^U09l^?CKmr{2HF4>40o2Qa&Erboq5{grXNLS zyNZvPi9;W5e(qBpb|Jm#ej2VlL+;C&sx>M9gu@9REiNo7E(&(IVHaE5eq2dNZA)|s z06~%zk(E_IN;bxG#o>4@RxD4~&DnGrTsx<@;9pFdta|ij*mS?-+{SF|PYb=&hLE@=7<;4qNa{&?;OZ zp%T|K%_XoiS=Q`BgCCnqtvt)J9){VR^;fLh`KBVI>&%^XA^TPkpV`4q9kak45}`q~ zQ_lQQy!#M8*;Ln^>;l_z&P_-MOYyWbAUA590JV zHKxC7Qv4s&bHA13YO}Rb$x*;we>QM9@Lb2lNt(fZE?KcuTBzf+T$|FKkPOnyql--- zdiL7F%Z1t+BUT90__NPBbFPAjB+(+xBUP@0Lew2_u)J6xWpGs|J1cuReWUE2D<)o% zLVD8qah=&-)LcAl%s|D)`kt}krX zPq|JOo0(}T-PUhy%CKtnw8gD0%N07sT$)qsSbSgO5my33YuDFNsa8H#8%F6d4|ci| zu|8{Jxs}|_zzrX|j%K#XqrL>T?;Nt+wtsTG>kE*l#x!y>CyL6U$~MjIsirW!qMOiWeFrM-+xrTy;&12UvQ*6s=n2 zE8KR$Kz*mg@MX2?rNHI5~b3-^u;~BjDfefxE9Qxo(sdUz9*Ey+M;-+=0 z%@d%`1cPEI*PJ-N3)e?Sl+1W`{FrL8BK2I#H<@#nQWGg0r0URqd%^niE$CP7dt1d=#w|6Z~{4mUW5vDJ|oF%b-SLXE;%jr*hr++RrDB^qk;0%e-m|yLOq>0$YYg){r*riw^o4&}=&pUV z7M(s+7JvBdy(f<}Wz?T^*Vld6V6n&8DZ?4$G)94RiF5$PL$l_ca|;R>SLeC7*ONAk z7V=DXW`8Zm-ejFQ_27b57P4+Dc|P#wd6ct)%02v!4yyEgm{cYBb$>@pev>M!ayZ$t zJ>TPn_eEXLQ}k^Gjd`NcCps@@-%1PB=7&Md8xZ?gqasKt^OWu3>1sWiXf;KAMLv1O ziOMCq-CT5RN*{McC0~Vp-am26+&V$-)Sn%Bsv1bB0XAAeVt`)2+H-unevuEJCcbHt zUx=zNO+~v3^bcNL+M8BP_}bV-vfO;|96+v0Lw-UHf@Bp~tA-$joP8B2NIx#?cJfnX zz_xJyy~^=N-QT-DUalU@Qx6r(Hh1uZ{K#yOCP8H024ZUgL?AcJoJdtXz|nZ?rnW6Y z2xInQ&^d*R>GzT*K1|MhkT91>4Sxi>I7x*KKzb++ka*a;^IT6qy}H+eg_kvz-Kebj z*7@u(;e=;R_~?XHZR)|um-pAuC!^6j9teP-B5>>@#!av$Fq2zpK%)I)(y?Lw?-c{4w;{8zYfJN4u>zhP*Hv%Z!Qw8q|-xpdXyV$GyFU{B?Y_n%ePs=skzYDd%A5+D@ zso9_Jhz}5`X_S5h6#1~N2+?FoKOQ0f$0LJBM9U|y_?#Cb6<;^dC-u+m$20v=z44Mm z+WduybI}f0Lj8~L+5F3`P~%%6+K2_jd_~TEM$Q2kh1NjRc$Yl23xJr*0waF#boN}t zbtSp53<&eOYp|8q@H@5VsHoJP)|s7VsH893+`n{lbjXDh$BM5uk19ssKTMh4gI5!P z*`(=$;!a7ME-We`&xW`$Z9NUG$ku^aQ_tPSo^Kx_F%;yw`e#udl-ZkkOxylks?dFr ztVWp>@rODi~^%E0iA>d2vlEX(LQh%Je%Z@$}6K z<`t*$j&z{Y*FXR?TO*GqP}$B!EC&E`k;iEqE$*)N>;T6=oPDHYtJ6*>Z}x828r}SW zYPQckJyjIewOCa?(WRTuUbl zKQ(Qn=)?c8Yh;%HZmc*qA}Z77wfp6avVvUw-1=d64OhMD)CvLMR>=StcoD;je~tDr zipbSX-SLMX_BB)oRWrKwe?x~4fW>B!6R(=%74;aB*1U$t|52R&+}7rjQ87T3utpnz zlp(MLBoXTlU1i*oz*JCU9`m$m0u-)zJr?kZdzgRce8r%#{O6D{TUTaY&%yvg5cx{#w!;->A~KYUN0gfs)2;ym#+!ZNZOxpq zWyXe(NBbrp>Zr+Bj&)J`#{P>Eoab@L{FHKKQahA44C;w5kYl)H4>sf0%=?*!HdMpX zqCta{xQBNh;B%5`>KRa!1?wJ92QlYI1DR}6CN)sypLS&jZatc0bFY$RIe7X^Dt^Jm zWUYn`_awFV9QC?4Y(huH8A})JLV+LujEvowqmyURk5_omf!Y^39D46PcZe4Nai6HZ z5JZrUFcx7PFiK#RR~n2Z zSQpvPQX+hN;QFdtDfgA)CfU4|c{o@s4Lh~|r8@0QR?DLwZ&}a53f%+5bSc%H#slFO zZDTnWactXU+Wf|0l7nY_9{p-O)c6TWZE`r3V>S zL!ymbM~AAp!i9Ucs!;o{-TQNEt42Nm$!FW$%d~4EE+I%rMsDeVk zpGw%6TRxI#96#rQxZsQn7kmh#JwQdK5Ut;{GZEQH8gALfcqCTMxImBc#y}xJZ*a6U z1A5^3dl&z1O9kW$vCj{))*8feS_c)!$uCb~^L{MokfS#~h5D1NlEzyv&IL}SH{~Bg zV+zo{47P_&buH`1`&p3wT`HdI2eZ@n^f1tbD+g%-e*{A3)(KMm*wosZhuh!ro*y1ZK`t@mQOmAEf+k3U%Sbia6TkqsU$2m zLt8@qYKDqW@~quJ#hcx@IlF|L+S+9m*id!fu46Y8%4?XKNFPM6eu^Wrl`*_us|Tnt zIM@VCxb-6D29Jw}LwKh~uGD*z)I2E9+?S;%JpU1mxnLUQyVM>3BMWl-0z?{QO->c^ z^Pw}8XhxoT?b`PoLL_C?+ZCUB_sCDbX+lH>wl`v+$a^~-JVZ`^c>+26W-=_DLX@Ii zAJmQvy6s!J+~T70N3coB4CvcEkb4!U2^EhwtY|#PYA7-@n@;bYaO=T5bZqP<^8HLqOFY22xouh z42A0v$v*%U7of%jwkJJw69Q5a!Y^S(XAia6w{4W!_4qC;9n*nRsJk{lN~d;}Ilfm; z;M|{`@;`n4r}Bwgw^ErOo4V^rYe`k* z`uw{ECD-NvW&<3ZLVNR6yMrA9_jaj;j)9#=lR1R%PJ~t$MEN@JIIfFPyr7m-w8Y%L6MB$QqvPv07 z4Ae1g3Q3#_8ip>~4ftb1#CaRhDa0Iqgz5+=0}us-|(X3B*o`+|MjEv4RE|7cDB znxGep)={{1{8-4NDU@7fI6l-*?sj2{yj08RXGnLyd6gD#^yv~l*uyCPy@}M6QSf=^ z{o7E5V+(kobY}r!uSnf^_CaW66G$RE)M!@Hk2rhUnw8rWxG6`_t`GMln)-aUl(zik zlFG`%qP&aEgyB0(2;RvU*qIuA8`;Mv=lAe;|Kgo&#aUW-$*^U;r_1`8K99GHn48QA zXymKiB1R%_5mUba0<>N3+6W2_Y&Rw^7|H{V0lrL?$HQ^UhSAs>i2WLmP<}0aH;Q3; zcGTLy>hW>2o*U%v|EMUAyEEXLRNmlLQ(6s`2u+YesdZ9G9`ZAk2@5VT0bw;J+j#pB zQBG2Yt}3aqegPk=@4#O+t+u}Igm?cI8Bs3u%O{K00!Zra|4_xgebe{ud;$IyU|t?E zmSmGwL9_!VHk?O8_|K&R%pbYAPR8Eb?41g424BG8rzo@Hly4U3(s6#mM7bnH+ezHb zvkHu0)VGl~dBp0x*7MY|Y`$JtWU}zd%jWqOLWlqVY})_pcD8>QWN$V}9^Ff3`!WdAJFCpc)($RJ*{|W9Bf6sK#d?2 zYDRh&Ptt-)`_$S}g7{%}HhK!)uESyHcn!O7!=k4%*>(ezXj5V2G@Du*FJ$%Yhnmcn zHwDRBqAT9Ly{8$US!{RTHYscuZgLx2ePB2oH6<#t$#kp`^IK;-EC7vkC8+^6|%y81h1k6EAV(=nPIC$KE#ZZA2x<%77o&o116{eZWO zN8e_S)MRw&kzj+27h`rZpy>G2`}}52I)FC$Tr%K| ztnLI7n0e%gcvK0kS9(4vH+0-TlG6idBWAjh}Th zZ)TM7%kx|7gi;<@=zFV#C zMorf4*hQPL9EC|BDTNef8x}4%^?^`&wD-MxWafFWzsLC=2;K(X;V?YL5i4$O*w2y-ir+jbq z*Iu6_CC6U5GUy5K!{CtLsyL~us{eM4$-ve9L_VRP6Zr(!ZN4&(@>4HfW_qT5M z5$Ch^*vSjff{W1ZA!x4|!JuOSu$T4}&$jGoy0M7CZUWZxIew)+Rm+hRo<5377Cj^d zhp5I+QVLUJuh^Z}ivPM^eZ39_aw6nWX;?wDk+1~O;^7g4u<-?KnBQybH8oqpzIE?Y zU+RO{#L~ZZ6gL0QyQZN(*CG67)z{yuPye3LZw^T_*uL?IV$Xofc*ej5ATkiCM)`fS ziObq&0j3){I2%qhp;B;qf3 zA0d7;8e4r+n-x=^)U6wtQ=g_nQo?`UdL`mp&=X)y}cHY;T z9O@e!&wWlB?Te4g$pl`_8u!2}lGj_V;d{ua8VLD>0L|&)Fz~>_*8)#nHT_?HOW~;W zg-}=Tn`X^R0CVPL0|(n6GIMC0Vt*4VcOQpbiT^L(P^-PKa*=SArlM~k)O-*1k2Ba- zEi|bA327w=V=d1vV(71j@!d(Ncom=nphBT^*wkAdepOYKs#n%2qq`z-50}9^Bp9E> z*ZchLjw^1XZ`5+=3bi)*=YxTpupRw^&&Q2Na`rV0>W+5}u*_)X8gI`WowQDB=u1cK z8*mHn&*5w2Zho*3IxIQ^jJ~i8(6D=;i%nfa-X{Jvpq zxT3@6M|*3b;8Gy;U{)Wzl$d201g~szTl8WhI6ecY<9e9E_-{ z_77|qp4-EJ1)XKwJVHFgzlZp|3N$>nG=lK95skep`}9;#;h7YCXTl1*SzrN$LA)5Y zon(w`F{Cbsm??dl1l-8zL(zzB^tcB5D3L=Syhv6KspMLnrX0#((V$^P(=AX^95;a~ zAb#xH%zoVR&d1i7?%Z7aubCIeZ!djGuiv+uwF~z{0L+>=AiWp%MkT(m&jD+&h*|!I zm5+-l7mZfv@Z+6|ap-X~-9O2a`}W2ewLDihMOex5ql}!R(tA*;R2ZO&0Gzk?zM^H7%0>$_7E1(c0Qd$;S^4}(s< zP7N_|z`IV2DlnmQ5DiNNwp4fr+>fpGzEw>f#oN$yiZ!y{N>||iTuEL1QDw}W}R#w($^QD`smpt=%dS=Zk%!WA3K&GHEfafbwW?ev;QN0to zS{U?E0e!|-;$Tw(x|NWOFM_~6K~w@bHA1W$5a6eCZ@|Hqh?|xxaF#_6+P0)Oxw+gR zF}eIHO(=33+FXzv?BpEcu{L(xW24?ni`a^F^;JU41J!>*sv_(LYs&0n&`?-wgaeM+-Jr5VfWxOmX@X!a2BN5rN&wv?)Sue3 z57rvA-$oGIRTU6!vOC4hLVJoMcRosoH0j_HP5tbFiVFf~X9KAol)Yo6Paq=j^-OXE zL4M*6U&XTIvCaS0%e4kIbwpthL3xybKtzQGML~%WD+H-2iH;zmjRCPiMVhghhyj6G zv86(}Du{_y5FMnT5ac1W2v`XM@`yp3SWyF52+!t0H82vnsDxW{Z|w5Jnd(66AN{qn zduR6Cnf><6`OZ1tmPKczX0Z>Y-OES$wk*Qezo#C-4b>SITTMX#gqOrt7D5GhIMo48 zGaVA|frcGaB$N;Ylvgp>t`*W0xyP7PVo zFYk8C|HX44{UwFB?0Wo4mtj0d7TbkYfndX@oG6sv71TzJ()BA0{RZRsbVV)Ws897m zZUiG+hd`a4KSB=8t+54Wll*phmoQ|`vl_iCz*W_hzyfeaQ#V+kt$`_$wWnois8^2M zCXu~^AC+g>f8pS4y0dz}!aju!`k#(;x>Ac*rve-5v>bv?A#pn=sE9WPBHZBT6bDPeYK8rewVP@%SkzB6p1g;P0&y?A;>-75?K0(ZYHMesb+oD^nvJwU# zV1EgFbf;zRlOED;Q7)?w@Vr8-sL7w)U8?s;j%-h6M4Js?K?AwI=MEY)x$(O4i~4Nd z56exEgd$O)f-iz&G$>x6x;+}(Vpqn~o){DacKhhFX#w6+cY`1Caf|>2)hK?+gZP^J zdjG`w0>QGPdbHzCA@0r%qHatK!ExazK1UjUpl?Jpi=4Cy#0uquJ9oIe{Cm>;B<6tt z5^WX-iRmeeBLmk+Jd?yAO1)D5oEg(grifph?DjU7V&CmDG6Xqnak6+x(#3&l8<)^; zsa{F5pzURtM*m43pWQ>_Jakz-7bH=fIuAGjT2tq`1P8K-8)dz&2CGNdkrZoLjGEM! zbh}UUTk}TeMhs!! z1|_olagJ^Qe$`s(hIS##Y6RaxfFE7-#p7*2DXqCF#(vc;$DS++Z&s0u;}<4IOzeLJ z>aVH)8$$Kh9{KIj!}l~j7(8h;2NDO+lt7U0CPVFQNy!nAN`Qo?P;RtAtwE~o84rS& zPBhd?d!Kq|=AJZXa7`g|0vsYh$a;eXSw9b}ld!B`h{sdK_{I`LCw$LK4ofHlBW2!Y z&Yx4iSw6;k5=w8)1L34`MdOwVBHxqby04U<>+BfI0rhZg=H@O~#G6peP0RrAK+SK; z+4{$eeqL3jSLJ}z$F5a8bk^6Y!qsTK^Czs)EO4iQ3q1xrnV2F{mM|xGDI@~Zz!K!{ zq1XZRwonsvpoj&D9_u0O~oG??d z{%tf&%~#ZifwtX+6~eFb-{@a?XWYHU-*lt#OohYg{^WhF%~TY5U-qWk_uu-&>Aru6 Qwf{=NeF*zgHeU7q1I+v9f&c&j literal 12163 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

AzBRaLY9Ji^%xk{ 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 Date: Wed, 27 Sep 2023 20:57:51 +0100 Subject: [PATCH 151/263] change dir --- apps/kiwix-serve/docker-compose.yml | 2 +- apps/kiwix-serve/metadata/description.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/kiwix-serve/docker-compose.yml b/apps/kiwix-serve/docker-compose.yml index 7c349984..6c5e0b83 100644 --- a/apps/kiwix-serve/docker-compose.yml +++ b/apps/kiwix-serve/docker-compose.yml @@ -7,7 +7,7 @@ services: ports: - ${APP_PORT}:8080 volumes: - - ${APP_DATA_DIR}/zim:/data + - ${APP_DATA_DIR}/data/zim:/data command: '*.zim' restart: unless-stopped networks: diff --git a/apps/kiwix-serve/metadata/description.md b/apps/kiwix-serve/metadata/description.md index eab0c153..6739cd45 100644 --- a/apps/kiwix-serve/metadata/description.md +++ b/apps/kiwix-serve/metadata/description.md @@ -3,7 +3,7 @@ Kiwix Server is a .zim compatible web server: it allows you to deliver .zim files over the HTTP protocol within your local network – be it a University or your own house. Simply start Kiwix-Serve on your machine, and your content will be available for anybody through their web browser. This allows you to view a website without having internet access. -**Ensure that your there are .zim files in the `${APP_DATA_DIR}/zim` directory otherwise the server won't launch properly and will need to be restarted** +**Ensure that your there are .zim files in the `${APP_DATA_DIR}/data/zim` directory otherwise the server won't launch properly and will need to be restarted** For doumentation see [the Kiwix wiki](https://wiki.kiwix.org/wiki/Kiwix-serve) From ca3cb69cb2b0fd81ca274390eedf25399368c843 Mon Sep 17 00:00:00 2001 From: Nicolas Meienberger Date: Sat, 7 Oct 2023 11:57:33 +0200 Subject: [PATCH 152/263] chore(kiwix-serve): change port to 8169 --- apps/kiwix-serve/config.json | 8 +++----- apps/kiwix-serve/docker-compose.yml | 2 +- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/apps/kiwix-serve/config.json b/apps/kiwix-serve/config.json index c6f7140d..dbeedfac 100644 --- a/apps/kiwix-serve/config.json +++ b/apps/kiwix-serve/config.json @@ -1,19 +1,17 @@ { "$schema": "../schema.json", "name": "Kiwix Server", - "port": 8080, + "port": 8169, "available": true, "exposable": true, "id": "kiwix-serve", "tipi_version": 1, "version": "3.5.0-2", - "categories": [ - "media" - ], + "categories": ["media"], "description": "Kiwix Server is a web server for hosting .zim files", "short_desc": "Kiwix Server is a web server for hosting .zim files", "author": "Kiwix", "source": "https://github.com/kiwix/kiwix-tools/", "website": "https://kiwix.org/", "form_fields": [] -} \ No newline at end of file +} diff --git a/apps/kiwix-serve/docker-compose.yml b/apps/kiwix-serve/docker-compose.yml index 6c5e0b83..56b739a8 100644 --- a/apps/kiwix-serve/docker-compose.yml +++ b/apps/kiwix-serve/docker-compose.yml @@ -1,4 +1,4 @@ -version: "3.9" +version: '3.9' services: kiwix-serve: From 3b440b4ad7167b08224708f8977a27b849383a81 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 7 Oct 2023 10:00:09 +0000 Subject: [PATCH 153/263] chore(deps): update bbilly1/tubearchivist docker tag to v0.4.2 (#1360) --- apps/tubearchivist/config.json | 4 ++-- apps/tubearchivist/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/tubearchivist/config.json b/apps/tubearchivist/config.json index 26d07bab..8bdd421a 100644 --- a/apps/tubearchivist/config.json +++ b/apps/tubearchivist/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 8120, "id": "tubearchivist", - "tipi_version": 6, - "version": "0.4.1", + "tipi_version": 7, + "version": "0.4.2", "supported_architectures": [ "amd64", "arm64" diff --git a/apps/tubearchivist/docker-compose.yml b/apps/tubearchivist/docker-compose.yml index a5990a65..dbe96cc9 100644 --- a/apps/tubearchivist/docker-compose.yml +++ b/apps/tubearchivist/docker-compose.yml @@ -4,7 +4,7 @@ services: tubearchivist: container_name: tubearchivist restart: unless-stopped - image: bbilly1/tubearchivist:v0.4.1 + image: bbilly1/tubearchivist:v0.4.2 ports: - ${APP_PORT}:8000 dns: From 9c78a9502bd00f49130f0708ff7ccc4d051b1884 Mon Sep 17 00:00:00 2001 From: Nicolas Meienberger Date: Sat, 7 Oct 2023 12:08:34 +0200 Subject: [PATCH 154/263] chore(mongo): update logos --- apps/mongo-express/config.json | 44 ++++++++++++--------------- apps/mongo-express/metadata/logo.jpg | Bin 13757 -> 7453 bytes apps/mongo/metadata/logo.jpg | Bin 37188 -> 18053 bytes 3 files changed, 20 insertions(+), 24 deletions(-) diff --git a/apps/mongo-express/config.json b/apps/mongo-express/config.json index f0ed50fe..d65e3eba 100644 --- a/apps/mongo-express/config.json +++ b/apps/mongo-express/config.json @@ -6,16 +6,12 @@ "short_desc": "Web-based MongoDB admin interface, written with Node.js and Express", "author": "MongoDB", "port": 8087, - "categories": [ - "development", - "data" - ], + "categories": ["development", "data"], "description": "A web-based MongoDB admin interface written with Node.js, Express, and Bootstrap3", "tipi_version": 1, "version": "1.0.0", "source": "https://github.com/mongo-express/mongo-express", "website": "https://www.mongodb.com/", - "no_gui": true, "form_fields": [ { "type": "text", @@ -26,28 +22,28 @@ "env_variable": "ME_CONFIG_MONGODB_ADMINUSERNAME" }, { - "type": "password", - "label": "MongoDB Admin Password", - "max": 50, - "min": 10, - "required": true, - "env_variable": "ME_CONFIG_MONGODB_ADMINPASSWORD" + "type": "password", + "label": "MongoDB Admin Password", + "max": 50, + "min": 10, + "required": true, + "env_variable": "ME_CONFIG_MONGODB_ADMINPASSWORD" }, { - "type": "text", - "label": "Mongo Express Web Username", - "max": 50, - "min": 3, - "required": true, - "env_variable": "ME_CONFIG_BASICAUTH_USERNAME" + "type": "text", + "label": "Mongo Express Web Username", + "max": 50, + "min": 3, + "required": true, + "env_variable": "ME_CONFIG_BASICAUTH_USERNAME" }, { - "type": "password", - "label": "Mongo Express Web Password", - "max": 50, - "min": 10, - "required": true, - "env_variable": "ME_CONFIG_BASICAUTH_PASSWORD" + "type": "password", + "label": "Mongo Express Web Password", + "max": 50, + "min": 10, + "required": true, + "env_variable": "ME_CONFIG_BASICAUTH_PASSWORD" } ] -} \ No newline at end of file +} diff --git a/apps/mongo-express/metadata/logo.jpg b/apps/mongo-express/metadata/logo.jpg index c25cd38f2ae8064c1dab696b431b2d15d3c54f43..820cfa0de48a29fc44f31ded9ff35524c86d2ce1 100644 GIT binary patch literal 7453 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 diff --git a/apps/mongo/metadata/logo.jpg b/apps/mongo/metadata/logo.jpg index 0d06672de8ea3e3e485171ed9187aec3c67ef2a2..a57bcc1cbe89ab1443340df33872d9dc6ba9adff 100644 GIT binary patch literal 18053 zcmeHv2U`=}*7kr{up=M{h>8LNlF)lm6p${xgLFa&y;nuBP#>upiqcC6NK1eakp9pG zBnYAR7J9E=Y>#^0bI$wyfOqF&X3w6z?scyIsklWW;7M05}>w#%=B5;vfPB+c|?w%a|e2E-&i z98Aoh7B1IKEvz7R;!I1JDyHiYb8#kZekCp?hx-=RkcVDQ7V2Kg8fIQlGhuTkNr~%X z9wHtv2bhJ6$#oByt(~)ohd9$Wa1mntYcrVX`nN7FP;sVvU$tJ>QF?U!zP*#hbzu+} zrx_O)*L6W*5Vs(=8IPc)iRqo|JX}0HU@jprw*V&(j|eZn2p{+LABBmi(8=6VMD2mh z4|T*Nai$-3xx2fA+<8IvPF7%UVPRn~7Y~?+hm+WY)7jI`#l(Zt&iUp~ga;PRW=;?X z7l^&x^{rZ-`~&-M-St~XC8ht~6$bn2gKx0TE@~FP`2Jg9XAMsW z3$U7nv%Ra6nFX=?&9A}^BKMsvOkC`pH0(D!wY`hIv$eg$bsjzt*Y(>wUBAF}5EnTybWlm!#XfWKbb->&t~CSm}6t^O0d#Djmr-@=X<^G?LzK3W9Me+yZ_ z{3G!uB00hXfxrneGP2`jCypOKL4JbxcjnZI6Q|CcJ$?Gj>CFF7+{ZmLzo;-Q(>^a(t7isCJDX8iGIr0BnIr<1toFWBCfny{T04W8@ zF$$8SI^YBGPA5G^LPGLu5IAv?gzWe+(o@7X;+bFVL`%qy9X~;O5g;WYB|CQP)bZ2D zP98h{)k4x^WE3~JkKem=Le<3a>FeZzY9<~^DYe3zRLh;FPLU}!ythsUxCpFtjonu_ zyFBV_p2|nf%uhiAkQ^f=BRzTQCjk-)(qr6YH|||JuF69MBEnEEzfSHPl~SWJy-Cfx zl5*4!oF#H1r8q_bNCL>y$d|wK`@i~s^}u?jy-|)`jBp#Lf$4A-ljTh<0w`(7Cf5Xd zM^dgq5|Uase6iYXiMo9799;Zng$6`PD$=V=fkE_O$gFOOSYx#~~riJQTqbbR1F*&{{Mje`rtQaY zM?iJePSpW;yUzY*_2SUZxYZGm-?;{Qk-ZLP8lJsZ@5K<|SoYl8yIsPOs}tEJS}(A3 z^K_FKW#EU#7hRL$4c=n9ghjmP!Ej*7-1_2%vRGG1?6s6}aADsf_?1qPXD|WuJWRoB zJ<=7@PCnaq8EaMY@=YS6$@Tww-M*eAVHr9juzuIRe?hdQW0jB==^?Cgig{0m(Q+nC zhsUmTd@ zp*BchN?Jt+zT!d*y#I{df8) zu=M@-SKY9Qv}hcovO4RQ_?cMZg|Zso<>y#e`fNHWGeu2TJD6Z`Vr5}FE}_G2tjVBp z$WgiE1!(&5AmLCHB4-v5%>_RgP%Q9~KNN2lU5^vbh*x@y%UW;$o$SBVT{(B5p2%nW zqM0=7Is6P_5ku>Ytjq;%+Mq3J_`tmSj1S!o`c-~f^2ryGYS7P*F|HJ;`cYUsqds(7 zBwEDGGHvWoMJ#1yDj{uuUgh3%cWnjZD9m)CkcdO3JjG<@sT#4Hv|05Yw?{&0j9vS) zhLiU8yLom$tvr03E)JyFP_9uw31%sz)RBIC{r#WZPLttIf8-#~4aBMHT)4{RcQR{3 zLs47T6NgULJD;fMn0+$WJW8c*%T56~)fOV4=&WxUZqcY{Lhtxun3MyYLirg<@BPw+ztY`QA&MS2&+ih-_J#r3c zfuB>jc6`O_3`Jz0?TS6O`D)7>Z{0uH{W!AZj!sLZ4vnv7M%a>H?(5v5rc2!0;WA!L zeHOJk6TBlR(2$@PHtb$>?TiFOZebJ8acdkVr>?dQuSa3<^}F)gmgNU}=Nk4{RQPaW z^eoJeeyR})$Sl5p0qvZeDFnyPqsWJD)T2lMpHyx}EYsTLUpnulf!f#wG` zx0`6ey6BRrB%`G^1gNOLw^q6MU7(tOh1X$`IQHG0`P#+({tb~K_@QAMoZzg`bA>V0 zrsHa)mHzC)fsqPw&X@jS{uT88?TrH=^YE5y9m@wsJo8G``+RK7!>z-)@8)W6xj`j{ z4}2sF2TP?Q7FrI*hc}SkM?gdf!MH7Azt(*reGj}AF|X&}SihM+)p%%z8BYiI`7d4g z*|ckDQN9v%tuJn`b{F?%&eQ7h zcm{+sqp@@_*vl#`i*pbO)mu%~H4)l@6J%U54NeEJn9-)d)TE+vegx?{l- ztv2?Bvh9U=CR%km=~8)CTx*=EzqFq&oY3HxcX3iQ=?IwXP^#2%4c>?6kO8D}Z^G_< z3>P8O`n*3-T}|zYD@&FEY34K}XkRJDT4lY8Rp2&s`)g{zRi;haU$`f7R7r5w2hn8_ zO36{Wrv)vJaG#p)owqr|ez^-?s~4%d4zkyc6$puSQ=un1w<8}%pLPVqW_KF4T&_Tt z%<#$#y0v!(^N(*G!cOC-mb8?b7gHJoZ;e!RPV&gm24Mt*U|r$_`4}6Gs2Dk6xeCW9 z*sh9WwIyf9U)#(xe^|X6Bp*H5rmTF45CYjfm2^8Enk#sFDIQA`3YwFcZAtV@e--Xf zmoxEY6r;0+o^cJIS2~!0;0zpfB*i>^W!U<2%n7uaDsfBiLXz(zk@y;H?)wk8OKKg} zt6r_nC2E*Le|p5if#DgytUiSKT)ANnrBO^PmW2&Jc-m7`3+hU=eO9#;jihGhzo`Ze z)q{RAjkgctSTVHwur9W2mc;?lo#Z1QQ8{<_LEX$nfIOenqGcHMa=2eYqtb`l1>b0V z;1MgZ|M!MhL3Lqx7?-VkwifY+#c@Yx!gD@^=hE&yEei@*zKa?HJMmLOcXmUa*X zYc~qfvs=N;6s7RLbJBs1nY2C#v;lx^gkB7tUAk_LgI=@Jt%`~I67Ry6ymxUSQO-RW zC5B`+ZU0T2LdzX-+PA4to-d{ZVf%I8;rJM59GXW-AK&oKd}?5b@d{YibTIe6SwsPT zFB7r6T_z~Hx#X~t*gA$`tCZfWDBV%)eE!AOaluhHO?}C_SuMIOZ6&G)9bzf3S8^FY zRxL)!buo$JZ`N1&@0lWBy(L%l`uOAzlPC$tnHlar_(Y{bjw7k3INP8MrmdiB6Q^T( z84p{r$J_5=F~95x>~WG;TsggPb8H;J6xnzo!IM*MUZK1t zub``L3jVM`iROJns9kP9hZrkcr~lSvBabpK`L&Wa(ACWZl$YO98!lZd#>U1aBlF~P zGbdjwFN|(}p?p~IWZwmV)GLaI{C2Rb-;Rq7i8ADf?$!WUL zO|_=d99C5J3Ni8r#gkTP1T$l|(6oXuTKQB1?rrT1nLE8|eKF@J<5SPJLd7UkH5p9v zL=t)D0h0XEp{~LrgtPedLIZ;&InNFc!dxt@lDx%5|Mb+{R7qRiJT8u3KH`d`>7pLJ zKIiNU*b4^JLe4No*$nwQ(pT{ICwG6-e*CoKLof9-J9PQ5fJY~OwhD`EQ1U$m0+-BG zIB^^MQlaBJGS7*xndYN}|h(0akBl^uOXaoEmM3q`&fW7Vr&R zM7@FkR44T-?>@tx;_^&KxzXEV4xRiB;IiBZL45C7{ZOrmLRd@~#8rN=Ke3*5%atj? z+q?JmgiSs=!$8?qJ$x4B>dmP0p;5pwVqd#Xnt2mYV$8bBTUCGV{ffpJ~RTpAN*k=QHZddb$Oh^Nk50)D_tpLl3n` zo0wDB7X}v_^xyaG@-Q!4#pt1X zB{*QIw|=Wr!Mz+!T{VG1B4Gqrvc3Ir`JmgYH55(EJKN~`DUEWQsr*X&r0gE5(o}h@ za2JAF#92w6)4WrUHB9qPlYokb&C?~!Ri$!Fv|~)#@L=2W!4>y>c>$d@SLv&6wVrnR z{!PuisvpL!AGE1n{PD2-PSBY}NR?{_lPM~{S%`~{P9D7CV5Bn!-Qr%;Y}?A^YohVk zzx_H!kBdYsnFca1?S%`vHKTn5#Dg6@WG^3ffnj`c3Vn8?E?%!q@gBd~3;+t{EO4z} zeu?Nz+VMf^h~ji?7sHYtChYb6_N{aY*tvc(;9_M_c3W9@MiM(!tYKJFkx9u5)xPlq zUI`Ehq;&arG*Wp-*Ij64o;$YsQD!LTXkZ@4a-icVo;AhDkeA!gl^U)8rjX`pP#7{S zokKx~-GxmymfI+HPu~+=hv3x)`>y$H7$OE|_D`iVT6(6aXlZs)VYybyP|2=RE*y3DnMHi*22d3`yQo*=}d(O95l<#(GJzcyR zj4QhP*KZ`rl!^0Do~3mQBg5u&fz?FTIH;OpJ_bFB&>UJozCM(s`qV4@h=ezd;o#wt zZs$~Ss& z){6bG6Ej!A6n7rCcS#rZphHp2yy>z&uY``l-iby?5$scO@{$VKd{1Y)hZXDKmr|yf zZe6FcwRVN_%rCPSYic{UNiKO6rbGcYcJZ*QHC-C)cbK2^O(Q}}B|8Sp3lHDw_Ago; z?}@OfC`aW(9Yv_eThuO)v(7-v;vbf?2#Jd6GVPg~wSaGSU;oWm5*J4|5iKQq7j1I3 z`~mwfj|V*I4wo8_4|VvkS{5`uIeByIepHW;|F&rO7Fm@YGqQNU4Q&axe5ZI_rn=`h zAON_0L0NsG4`x6VO@7@0QUS(TAhwnJ_2SPAc{ z$pt`ZziV@4pIP7E5sa6`OBnYnc`NEx1pC(Xk75XICUlvX0ftwd?Q^FclRBJ|Jnl7l zG@h`+t8|=uVGFn8+}w+qEpqz}3jmHs6oHQbbz)+qtdlpY#I+=m#K3rffiM|by&4b7by-CeG( zp`u+qJ8wfc*P(mibKLlcIIU{U_9wrY50IRk3rp7>%vn!8;P=rpxC!Dm3<(y{;pxG- zVLzJ}Wp3Snsgnw68TzG)MC@e`x>!t5UodmH+qfcBS1e~Q>j*H&eWo`0kyMpaeEJBO z81i4}Sa`ea*^BWx0xE~~N(Jm%e?bsyg`0EoF+o^~i2!^kmrv^M`Cs`{1o zU%=^ZCm(#+=U5xf95Mg8w)!M(S9HWiV|Jbj%i~`+^96kc{SXXX3%BBo)RMm#K=6-E z)B0=8b;Y72NukQ3-x?-rafVJ$Euuw4Dn9^LBsw$2O8C&ct#9OiFBel?THE+OoTU=Raxeu=Mi92$8lel zfm97Rc0qQ8Om40@Sdl2|rQU)Ib`8e|$-A%P)V4S_St_qcQor_wMOIwBVA(-oJ1*T4 zIb8RM;&%A;AF7B#`e^!KH3Js-S_<#()C?sVKYOrYF4f_ACtQ)@F`p{hXBXDOPv|_|u#>%fe#zoRGnOO>}m&O?|Fw z^|GJrTY(PQ%eGgn7$0J)^>C?bVY*#e9}#h`G`zz9VFUQy8x^W- zz?#d0^w?%cAPE2vdGdXZZI2dxoZqir#G0O}=S{^C=E#erI$n~%8_f=N=ko^vcmL@F zt>!!IgRzghAWJoLx{HDzH6ErbszGbmc3Oqg5sPpA9v1ERTz1rbPn0;p81eB`R8I`m zo3G+G63tArjiu%|P7TPCk8Y$QRx@k`(71jPzqV3jl-0_1&oxf9zXpE23ZC#0RblE3 z5Bd06=)}VZPZ&d^YjOoa`(LsCDaE*#-9qH2?vk6#?30>k^Cz8{y1Ga931M%#&dc;3_pjOo?mtElW-t!#qoj)WqH-FH)CDZ*5pevwRgjZ>8FY zKxPygQ!}rbGzw(~ucitN%^AwnqNaA;>kw-Yy_SMkxxYSk@DLM2(y3Qzo@P0m{p%GV zeuXVa$Ifv3CyTFp5=eTa;dA)R*a$fI;jO;{0nHw5PTjmF{#ik;B^bQ#LZnIL-6uaJ z&J8A2FVZ8Cu@LQSS~;YK*q!qkCG0>_disUu)P>$ z4togdW1eL)0>O1T?zz!fkpe6y=wK2Xf1!l1X2H!!LC_yI0mZRU#%|R}p;Chtg-l%2 z?|XrXEXad^XcjpuD?H32}IzSYxRzdmzV zX>^?BAOp{^A3kiwUu&P8Vg65wlf=>=dZ$M`XOXb4Ie*(^moGKg&nw8b>(iD#!bLW~ z*5rBS=F{s$b-y0iUv)b(GtBET;IuZ5fLW!+^K&8BMnEvDDSJ`Q^(OAI7jcPSMZT50 z1ASwY7~S+EKrenxPSPae&VDeyDT6*%INK2*l|jv_X>88tylz%a7pU-5d~^j6AaAzy{$T8=V}QC!b;iL7SjB$J0czKdGlFg}W~a#Q z`VYP&rxFc~-UK9V*}|K}y4GZLXn8ySP90=<1KRW+mEaE-0$8Q^;zYA-_Ob9e!-B~J zRO-HrZ-vkD7q_fDZ{NyEFWbQ-NW^C4gT0xlj{s%$kd-N?L#F3bY#{v#yke&W z*L=*4tSNw$2B%@*PUq@St(j4=0`m%cj`I)+Z*$+x5Mvu{SZW3<_IU*rE@;<-tg6V`q{1MjMI#~`Z>%&6tnP=G3bYoZtL z?(mZ&8RYyCAfq}xkfSjwAJtK*#5}{kn4YyHcm(9!;NxG^0d6H4_#v{A3vnU1v}Ee> z*7SX5Y_XPpcn8c`aa-z?vFlH$Z+kLy3WuQ7T=*3!Rk(j1{P0rjT2#_f=fpeXY8JMR zx5=0{Qov1dd+Fvdq-)%*M1dnf*R-<98N#_`h6!7l+fI?5aWQ!E6VmTV=6OBG@PzC; zLgvBLjztZ|_b4QZGY$YCj>o_&aa~opZ+#Uh#b^^Wl5ed;a>W9Av*3o85K1kTKT*hq znXwf2a}2Y+{QG$x6PT6Y&K=x$zTlME>SVvrIIwlZ>Kz_ddgCgy<_iyhtd^`Ak zVnu8q%c-+V{AW~j=8IlR=j`ExCzRr%b0j6%*B{^(Ez!atg0FL{|Fxzs93@XkL@vH? zMcP4ksY<2d1Y?!4RlVO9$9ie)mvFvFKK1g#f6vP`uzY7Yf3NDJ)gNeaC z`1X`)%Of~-$bVpSjhvjJZIWkKkSQ=ydlqW`wfWCyAn<^jHBi5stPd<-Jb+pLA$K-c zzuIz04s=Tn$!w|nC=8oUNB%gwhTD(LYL@>B3%XQsYr{OgD(cH>9dIg1ek%(k;kV*^ z$5Azo=?FN9nU@**JN?5V3gt4658dNykyTYa-ifi&X^UVk*|yaZ-!_=;v5YQ+1UJid$1mwN_7mUG3{RRhDOh%p z8K8!V7JVxQ;wL?~lirlnkFzs;wis+-4LFDmetV;J>kK4Pjq+05^}mSSXo=H1CKW9W zwZ~s&C|jo{UB%sHE%TqXr)u=ZOwW8BHrpbgjXg;c1AkGP&wu>djaY7BsjVlCumh>l zmoiW68QFgdj>o`3TTzoCKK>6%lg~T(dT2+OAeMc$Qm%v7t_zCZ5I!T8QI_e8-YQg_^|WTwjspNM)e^6MRP#W zT0Kx0D{Zxn%&0Ie$X4?C+oMr%uQU~OCY$4+N>aun#s_wLA@jvW70SEUzhf6vmAF^n zws1Ug)wgk(jNrFIZ9BrI+8yUu-3njRus%NpIr!S~&(J5~PUfw7*{E+|B9H6iUlLS< zR-0VY=Ol32@3Bbo4^eHWSWHWO$0w0rA(JNGNy$C}l=?*tQ$o!@WNXt!8LoD3sqx2$ z%!4G$EO*~d8Q#CZQYrKx5TIa0l}(kRQ91_$29rrDZ$~NyGHM~PJ1&E9SGn7cfR>T4 z%kl5OWB=TqYfD*Lj*mILd%J~PF!K%;x8E9)QXq4+fwn0emIS>4w>taru3`+G65qO4 za*EjtYG+IzM!Xq&mMb92!8m0tB6$SnVAylM*D7xAaR^+tbd%rHy;6zoAoQzDy6!;&wbClOs6Y*HF@JYu|L|j zn+o*+bNU_ic0GE2li>2_bS77g6XV6P6<1%_)^`RB6LX!dKSudeiRug-=dd}QLv~a! zoMS?q1Oro1)Y{E<{p{12gesM@&3~)P-71uO9A}cTctx%k(0a&3An9y5UG?UC1! z&PQBx^`a<6u~E5;`lv=Q=rh2rG9G{B@msmfSnIis%?Xnevypbv=%8t%c@AzgX3HJW z@AmaE@OP>2g!{0Dynj5=J4>|!kkHPHQnS0{KQ0Q{apl_0r=gktyR4*Y6FnFwZk5_N z@+uB{KICUE<``QuCx4U*)pmxo5Yx=)yb=BR*>l~H60DN2X24FibrNT2~E$3vUU3(@0OWT7r~|xo+y|p z+xa0p#MX=S?sv;>e$1C7L!>N7Ci?QfTb%{-Mr~4|wO6f0ab9X2ST;7{5fZ);DAls_ z)_g||OmnV&R81i=$wLAn#%+wqj<>(6-CO;E;8DIN8|bM0yzR?()L&bYTQe=aXW%F& zKZ0h**{-eB{6w!{Jc0wNGUVWDHc!kOR`kwSw-T3ZT%gCxyStUZ=6v`~apDorR>e9z zrZa3>p4}OL^X4F@AA6-UUoA{AllbY*aCQV{3$Hh95FML0T~y)i{-KsBO@(iM&kXB> z$-yh>nw*}W!jCQ2K)gE*SHu18pNHy&&%T%p*_YtBp4a*0Uq@&P#=-$=`SpeD3NwXa z#BPW5gzk>Q9`yFCsK8LH(xD`oH5%cW_1&^#i!s7I*>o;A-h^mV48EGt4o*zM*Xc`y zX~_&j&WN%LeCkSYut%u~OLBO?E6}b=1_H#4j^1p!C+e*2byBD@dFRD>(OwR?mZKkm ze~tB7y|bJ-=7SM2OI#ScJ1A*c-5rs?<3mx{;_%Ct-)kpJ5_=RBa@?s7MV#v0^EjGc zzCpBYO5<9UBMV{k>iJTMHl8(U8Y%0|y5ldNW>>a{WQ`V$#e?FlqCPFx0aR1k8SF2K zDU8+mhTSuRh(Pwy8aea*Y?{q7j_R&W+m&vieTqW7EARE3ACo(ASRRMofEsZqlrK)p zB_37@{#l8Qk?~kIeE9#(*N{mjTOdH6~`_eSF-f`vj1`%{-=6IclZ6*^VqxOjQ$N{epA!lPM54!=#1?;Q7WXS*r~O9wF?FTx{}m zyQ4zmyf*3eEe1?mXzu^L!SyEm`onKJN!VsUsrp)D1Uu%SFuc6dM6#+6&!WM#cTYn& zk?s!ojlP}{l*5Q-XS)|M5&r#=t3CGZnM*dy$K> z;|b6k1d7eSVt2aXd{9lWBpB*q2o1BHJ~c z^&F{mq0b>|p^=f19aK1B4|oV+Htt+xQzLJKH5OW323BHW(gFk*P}L!Y7t=LNzMpn;foEg6)YBP4I}dVS6)tldbdnCHn; zVE^RKncKIf_m&o3`s4}Axf^9g{f8V*$%JSONI)ub$Z>~NKl zzO;$TyD9Y+vQ$;Jv>B$>O z$GuW5h&8F-Jyi-Rz@I5m=!L7ERC@Ycc&Yfn)wUQ~TGVxO?Bp6=|5TmRR0!ZaP$d zlP77eo!S{Y4Wl^xvYB?AE&SYt>rakNA=zCa%`wt#%8&-RnQk3EMJ3kkxt4OP0L+lU zT)gl4jDm>$P&(^+%DP_%B_#N;6j9u_=vPvi1iQ)p>AO;<(@s+x=+biU(w5%kp<2| zCN@UxYQCwh<|lW*u_r;JU>o*JH()9t+er{baL=KEq9-U#^O2EL79l8=39i#4ybw5 zq^KDgx7y@4cDgdiOrIUEgkd(Zio^$xStyH;FlMv+YC}_l;*Z9y*7x-^0xRDq5w5Fn>z6_u<^=|H@tJmBIgRc{S9}BpmOfD z;AoEqgNc484jeR2X zc+1nNJt&N#w7%E8<_$sm)M$0P(#;TA_d(<)-d!ydt0lLeqo6BsSl{1TTHp#=*mSqT z>_4J!Y2J#vly79v!#t%BVED36*GeI;`Z;%_qNmYG)T8h2eXt_@sTvhqT5(CrzcVj<A(Azx^@r$_^NXWqm`z|(M`3x&=$Lex-o z!?rD6L~mInx~s;+o;w*|Zsd3L^;BD3Om9;OPHjA2SE%rJSg|xy`0!<+!Y?Sk7f->D z|G2h44#>d|7l%Q1HAOx#jC|M3lMvO1dNEtHxN0MY^YO-ox zeO15QK89#Cy~kAC#zno7jb3!SA>IPv-|zl8B2y$KsJ|QpcOd-%{z@5%&3D1}FWqpr zQlIR3&bBEJ)@gE7S#4c&Eir9*4i102nwJ+aZ0iM|3S>JNtfNcp!L-%i!5bEMJbw2& zCZkb2&Z^s2OskXNC*&=~)8OT0G_3^1{zTsX>n~5${_&E0gUgb)#LDHj~RHc*6m>&UDofBNC$- z#Jc4HRm30U>hqvx!Yc!S6x=u2kW8_c_x(ccmH`0qRpko9{Y@4j<6T%zBT?zm$I znbb9T?qyc({l(!^uN}9`%EZK8M$7DA52Ku`Ji#CkpoPfsGl%L`XTqUHq-OQp{FsPa zH?uYc&2)R;SEc2w9+3NL4}P(Au$UW}7q#2v)$eqNGf3518U3Y|cK162(uTv@BOuS> zP#N9-Ghzs2H$qSN+^XL0eqW@Lh6Agr&epoZ%dm;>fM40_xx?> z(z>A{@X!;WREDH8RK6dK35s%v)aG{#V@Bwhgw(Dpi24{BSjlvhEF7i}s!s%xpoYK# zZO?MQEB_zcV^G@x_Af?KQ}D((w)@J~SkE!(MMy;8ZS)wUKF88QcD};k z_H@}av;Mt38p;OSL@s3cK*Oor+%ux`m)$<0lNs2mJ@v=y)gXODm= zJA{4>UctWaFs58!aoXxGO?IUioD!b7R%^T~L zjxyB-PRHb*pjXwYh$LnTxT!k@@Vw#zbI)8EH@5eJnpN`rzSi>^!-ylojF`94Q5m z@MX(;!MAV%y`Pz-Dm+uxLdIz}qDDG&R$W>I&aMS}C6f-KLK0DhL7HL0R?0bD3SWAu z54$Zw_zZ~aaZ5X>pTCOKnwNY3E%`xOe^|#?K8ad3eum65mOmldv&E=A6Yk}&>)9E0 z|8Y$RPxky^Q$}C{EAyqV8VXR%;tx$W{^;*LG=Vsgz~w=QB`!fn1vwm zO;dlrfP2_qzH;2rjy5-w7`#MZ=4fbFEW5IcTY-9st6AvgS2u*O;>MgiG|*>NsWc<5 zdZQ3^=U?&H7p;P*yK ziG;Ze_4o7)T6W*$JE_d3ze{~3>-cO-Z`wQ4F5O9&@bI)(vC;dtFB17qeN7rCVh70| zmA()cb{KnS<8#e(4!^7GU=h!nGx!KLZBmA}YTIvth~3aGDmRQ+m1#Nuuw1Adn{+sU zTOM`Cf0}%2{Y5JQbo}9~SEKKVFGMFa(l7UW2sYm3U9<7Entm(+Q_0<5I4j8d%>HsL z?c9m49IdsUQb$IeJIJ>#AFx^N3a9GcYtDa|4_*Aa1Sn_GJ=UbKD90U5z@ez9={-hD z5{3%npq6MB<;)wU1B0=11AW{dfD5XpdS7~aC9+3sFdhNhIv9P3zdG|$lP_7XKh4K7 zboE}Iy|=L)lE--A{+afd|HWazF|O!jW+C(y>C7vf>UWjO{jhV``|o%+ecNj;FZ8#K$g^)AEJg()|iu4Ca&HJEmES?o!GFHLqX}1 z@zV;QOPum8)76G`YjyAUj}Op{ImDFKVgpT@K- zNm&UiD?8b#McFCM;lUyvkAJcGcQuJ*VJXLiYj?)FLk#HJNKLczRW_)=rpQHO&VF5S z>IX%QoOBEOF${Zt4pZJQU^6=ltJ@x;K}xO=vriP)1k!v4h+n`o#aKgaBJ2%0@SanwYQWjOI+dG^N_l!7i2@tEMI(85g;366 z7r|ro?6V^Ae)(4DC@7rgE+$OVN`aiCYPjW4!=?&aLdsc{i-~H;xU|m>`K66lOcOY9 zAshX@)t=s`J<-(8dyDfD2421uCaiL|BAf0+>fTaA>e1&NbZ1Ecq<)6v>E&dz$znn+ zK~)=6cTxxhc;Y~;y{3|c1h{C`ZTayu=de8?(WUZ0>|%DidO{}4B%8p*5E84<9(&`- z4_^OicZ@qamH9R?*v2mxLf$j)T~I%~f$*MXHmqR#tZ?3K+al7hFaw75sJ%BJYJ5J| z*hzNi(VL0s?3OnG34gYGTitb}hk}Ar{~a`)51L{tR;URbC z(vt9Dh(Kso-H9cBH!RkY^NZYNsl9BJsam{vc`95Cw0vMabw&F-({lv06?VWXh}J|- zj9E`t+S8+Q!n6u3pRwd=$?3YRB!CQVv3t(f+nU#l)zdK>!O%>!`6+h0g`2rnHo<)v z8z0oAUZhlG5her9mQXOf3^(X(+sp33xNY*N(th}o0 zHzB1KJu%H1nud?^LbZfH{oi~>^yMX`kQ@uyGu~6gXwe$KhO4$3({2j@+Xx=y4OH=0 zfVR>(ilB zCVD)}Rd(!a=XOIpwy1i_@$R0Dd`*qrN5J3GpoK*wyNEVbqVTec3`V^(Z`}a3jgggp z!C%INYN^|jk;`>>65#g;{#th&NTx2EmFmaVOUnldYhjrqsphL#!{(1glfrwCe*DL z%l=v;W*9yzOgV=#O$xTq=IVPo)NN4kPI?#O^GEHeRD9>+bmjZ&ONk5NN=y0}3ReVZ z9i+qK(3_?8YsL*rPJBB5tb!oA?>`q;H`w8{UF5U97Rwcv)q1lA@E5bDa8NkAep}ev z@$gDEY$5?Uc`Y8Ms`0E|;+!Yr^CFONV_vwnGYUi1b-*|s^qBYsv?C4m8qqw38=4DA zcU02ISgSF(MtqofiR=3`gqAuFhC^+5%Uo@3acIGVXywyoBSY0;I~2UGXI5QS5-(jv zr{;XFN#9V3yXvRG|ECFs^gu)xgLM&g(tW^yx z@=Pd9;#n8F$Ck%g7X&<3>R(s)*lr3uj)*g+x&8N_3rGH=r!RPm;^Re{ODYCfD%#w5 zSlCzmgeuuYSmME|c;iv|3@SU1dlecV^fKe#q{hLxC!IxydWBMRI^e_3A2gEADJSy< zI-Gd^l=v?gY#-D%&voJE-nEow(*3m%cd|bT@wXRhN>O;RQH-{vsH8X}8{e&wTF? z9dFTnZrLqYwU^P=XDhH}nB2JmrFMJeI?N^T1J!Qb@H@dW5u`>>{-de?a^n1EM~~p; zcD}q7qvU-XtRaaF(P)Nrhjp0F52c(RwlXS2PpN66QvU4#(q~y z+U!tqrb%FR2KkB(BB+uuX`mL#{g-l7e?0+iy&735FGrW8viHp0mJ+VetKSAmoKWCW znx{8R@3RVE#%vhY*T!&&SwE`Jf4e?Ov*~}QW&1;YC0e175Nk3nW+&T9c=In*|J&gO zs6tD;d~*p_Ryn1G`pY)os=1=()E?7JTD{5b{@u#x9f)z`WN}qO0i<%hn0=zZkzl>$ z3ug_NEV~&vE|h&QoA~{}@`D%E6h2ieVBfv3W+`UfGgr*vuizNq6bX+8%ZE2<+`=^! zc4~5WR_u=l^dzO=Gi7rE~h6$p4vJCH> z!0w*T?z*_rtT_!&XNmTS5LGJsJB6IV57ZcMVgH*||MT35!RPb-CK6DaJn{;QbEeCL zkc}ie6ew8Xvh8K_U_)v-)Z&K{#G;Yxgu;a|v)h#yq+=zc*o})1IWLbFwmLRS)CI}$ z2SYNSsW1*P>*uB_L^0s`VpT3S0?f}pYjKWzfQ?7CyjsMwH$^ZE@&$T3&Y#hfm`w2V zS@zr8GEMTZDXQ(#D}wIFC!#Ihjz>afWWZaZ_}R6A&(5`@!Oa}iOoOQUf`|4WMv55J zzNBibH~&u?{+AY#0;|%YKBe}4M8;6I<-1^y6c#2|v!-DDSe&%UO}t10t9{$V=$g6w*E$*!u9`!-T$5bR}c6f_5DA{@Us5^ literal 37188 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 GfdAPoAH8(| From 2ab0717f07e19ec118220efde025db9e00d2601a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 9 Oct 2023 12:50:58 +0000 Subject: [PATCH 155/263] chore(deps): update svhd/logto docker tag to v1.10.0 (#1364) --- apps/logto/config.json | 4 ++-- apps/logto/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/logto/config.json b/apps/logto/config.json index d662d1e4..538728ab 100644 --- a/apps/logto/config.json +++ b/apps/logto/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "logto", - "tipi_version": 9, - "version": "1.9.1", + "tipi_version": 10, + "version": "1.10.0", "force_expose": true, "categories": [ "security" diff --git a/apps/logto/docker-compose.yml b/apps/logto/docker-compose.yml index e1bb63f2..1ecbab4c 100644 --- a/apps/logto/docker-compose.yml +++ b/apps/logto/docker-compose.yml @@ -4,7 +4,7 @@ services: depends_on: logto-db: condition: service_healthy - image: svhd/logto:1.9.1 + image: svhd/logto:1.10.0 container_name: logto entrypoint: ["sh", "-c", "npm run cli db seed -- --swe && npm start"] ports: From 7fac90ae98351ff97684bcf8c969159a724357e9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 9 Oct 2023 12:51:34 +0000 Subject: [PATCH 156/263] chore(deps): update lscr.io/linuxserver/lidarr docker tag to v1.4.5 (#1362) --- apps/lidarr/config.json | 4 ++-- apps/lidarr/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/lidarr/config.json b/apps/lidarr/config.json index b12d61f4..5df07f28 100644 --- a/apps/lidarr/config.json +++ b/apps/lidarr/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 8131, "id": "lidarr", - "tipi_version": 5, - "version": "1.3.5", + "tipi_version": 6, + "version": "1.4.5", "categories": [ "media", "music" diff --git a/apps/lidarr/docker-compose.yml b/apps/lidarr/docker-compose.yml index 0aa1886e..e3d98d85 100644 --- a/apps/lidarr/docker-compose.yml +++ b/apps/lidarr/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.7" services: lidarr: - image: lscr.io/linuxserver/lidarr:1.3.5 + image: lscr.io/linuxserver/lidarr:1.4.5 container_name: lidarr environment: - PUID=1000 From 62899ba2f0db27ced2196ed6824fdd00308e77cc Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 9 Oct 2023 12:52:01 +0000 Subject: [PATCH 157/263] chore(deps): update ghcr.io/zadam/trilium docker tag to v0.61.9 (#1361) --- apps/trilium/config.json | 4 ++-- apps/trilium/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/trilium/config.json b/apps/trilium/config.json index 9fae81b4..2c43eedc 100644 --- a/apps/trilium/config.json +++ b/apps/trilium/config.json @@ -5,8 +5,8 @@ "exposable": true, "id": "trilium", "description": "Trilium Notes is a hierarchical note taking application with focus on building large personal knowledge bases. ", - "tipi_version": 4, - "version": "0.61.8-beta", + "tipi_version": 5, + "version": "0.61.9-beta", "categories": [ "utilities" ], diff --git a/apps/trilium/docker-compose.yml b/apps/trilium/docker-compose.yml index 42db1c8e..c14c1a21 100644 --- a/apps/trilium/docker-compose.yml +++ b/apps/trilium/docker-compose.yml @@ -2,7 +2,7 @@ version: '3.7' services: trilium: - image: ghcr.io/zadam/trilium:0.61.8-beta + image: ghcr.io/zadam/trilium:0.61.9-beta container_name: trilium ports: - ${APP_PORT}:8080 From ca902390c013eb52ba224bf7bb946fed0cf31878 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 9 Oct 2023 12:53:12 +0000 Subject: [PATCH 158/263] chore(deps): update gladysassistant/gladys docker tag to v4.29.0 (#1366) --- apps/gladys/config.json | 4 ++-- apps/gladys/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/gladys/config.json b/apps/gladys/config.json index f74b9357..fafe4f49 100644 --- a/apps/gladys/config.json +++ b/apps/gladys/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": false, "id": "gladys", - "tipi_version": 18, - "version": "4.28.0", + "tipi_version": 19, + "version": "4.29.0", "categories": [ "automation" ], diff --git a/apps/gladys/docker-compose.yml b/apps/gladys/docker-compose.yml index fdf9a114..fe004891 100644 --- a/apps/gladys/docker-compose.yml +++ b/apps/gladys/docker-compose.yml @@ -3,7 +3,7 @@ version: '3' services: gladys: container_name: gladys - image: gladysassistant/gladys:v4.28.0 + image: gladysassistant/gladys:v4.29.0 privileged: true restart: on-failure stop_grace_period: 1m From e3ab2b96c9b830aebde8373e093d80228d730afb Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 9 Oct 2023 20:08:01 +0000 Subject: [PATCH 159/263] chore(deps): update lscr.io/linuxserver/pairdrop docker tag to v1.8.3 (#1368) --- apps/pairdrop/config.json | 4 ++-- apps/pairdrop/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/pairdrop/config.json b/apps/pairdrop/config.json index 4e6bd6f1..958922e5 100644 --- a/apps/pairdrop/config.json +++ b/apps/pairdrop/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "pairdrop", - "tipi_version": 13, - "version": "1.8.2", + "tipi_version": 14, + "version": "1.8.3", "categories": [ "media", "data", diff --git a/apps/pairdrop/docker-compose.yml b/apps/pairdrop/docker-compose.yml index 1bf84b3d..f8e336ae 100644 --- a/apps/pairdrop/docker-compose.yml +++ b/apps/pairdrop/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: pairdrop: - image: lscr.io/linuxserver/pairdrop:1.8.2 + image: lscr.io/linuxserver/pairdrop:1.8.3 container_name: pairdrop environment: - PUID=1000 From c452937bde5fb419c4fb4a281941a4b103a0557a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 9 Oct 2023 21:27:05 +0000 Subject: [PATCH 160/263] chore(deps): update libretranslate/libretranslate docker tag to v1.3.13 (#1369) --- apps/libretranslate/config.json | 4 ++-- apps/libretranslate/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/libretranslate/config.json b/apps/libretranslate/config.json index 5c59c310..02ecbd65 100644 --- a/apps/libretranslate/config.json +++ b/apps/libretranslate/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 8121, "id": "libretranslate", - "tipi_version": 7, - "version": "1.3.12", + "tipi_version": 8, + "version": "1.3.13", "categories": [ "utilities" ], diff --git a/apps/libretranslate/docker-compose.yml b/apps/libretranslate/docker-compose.yml index 7b381d90..b22c9d3c 100644 --- a/apps/libretranslate/docker-compose.yml +++ b/apps/libretranslate/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: libretranslate: container_name: libretranslate - image: libretranslate/libretranslate:v1.3.12 + image: libretranslate/libretranslate:v1.3.13 dns: - ${DNS_IP} ports: From b53f8ebf800d6b4897a2a5886c33d6e62665f52b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 10 Oct 2023 04:11:24 +0000 Subject: [PATCH 161/263] chore(deps): update owncloud/server docker tag to v10.13.2 (#1370) --- apps/owncloud/config.json | 4 ++-- apps/owncloud/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/owncloud/config.json b/apps/owncloud/config.json index 8eb17068..406abad9 100644 --- a/apps/owncloud/config.json +++ b/apps/owncloud/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "owncloud", - "tipi_version": 7, - "version": "10.13.1", + "tipi_version": 8, + "version": "10.13.2", "categories": [ "data" ], diff --git a/apps/owncloud/docker-compose.yml b/apps/owncloud/docker-compose.yml index f046ecf4..b463a0fa 100644 --- a/apps/owncloud/docker-compose.yml +++ b/apps/owncloud/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: owncloud: - image: owncloud/server:10.13.1 + image: owncloud/server:10.13.2 container_name: owncloud restart: unless-stopped ports: From 7a81318817bc270547c7eb4603252535ee9be78b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 10 Oct 2023 07:34:42 +0000 Subject: [PATCH 162/263] chore(deps): update halohub/halo docker tag to v2.10.0 (#1372) --- apps/halo/config.json | 4 ++-- apps/halo/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/halo/config.json b/apps/halo/config.json index eea11c08..569022a0 100644 --- a/apps/halo/config.json +++ b/apps/halo/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 8092, "id": "halo", - "tipi_version": 9, - "version": "2.9.2", + "tipi_version": 10, + "version": "2.10.0", "description": "Halo is a powerful and easy-to-use open source website building tool.", "short_desc": "Halo - Open source website building tool.", "categories": [ diff --git a/apps/halo/docker-compose.yml b/apps/halo/docker-compose.yml index 5df027e4..29540596 100644 --- a/apps/halo/docker-compose.yml +++ b/apps/halo/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: halo: - image: halohub/halo:2.9.2 + image: halohub/halo:2.10.0 container_name: halo restart: unless-stopped depends_on: From 25f0d80f7857555e0b1f764fd8fc10ffb0a16fec Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 10 Oct 2023 07:34:52 +0000 Subject: [PATCH 163/263] chore(deps): update ghcr.io/hay-kot/homebox docker tag to v0.10.0 (#1371) --- apps/homebox/config.json | 8 +++++--- apps/homebox/docker-compose.yml | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/apps/homebox/config.json b/apps/homebox/config.json index 86086c9e..a06533aa 100644 --- a/apps/homebox/config.json +++ b/apps/homebox/config.json @@ -5,9 +5,11 @@ "available": true, "exposable": true, "id": "homebox", - "tipi_version": 5, - "version": "0.9.2", - "categories": ["utilities"], + "tipi_version": 6, + "version": "0.10.0", + "categories": [ + "utilities" + ], "description": "Homebox is the inventory and organization system built for the Home User", "short_desc": "Homebox is the inventory and organization system built for the Home User", "author": "hay-kot", diff --git a/apps/homebox/docker-compose.yml b/apps/homebox/docker-compose.yml index 95ee1290..4698742d 100644 --- a/apps/homebox/docker-compose.yml +++ b/apps/homebox/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.4" services: homebox: - image: ghcr.io/hay-kot/homebox:v0.9.2 + image: ghcr.io/hay-kot/homebox:v0.10.0 container_name: homebox restart: always environment: From 928de19b20efe0eccac8e539b4da73a51b3ec306 Mon Sep 17 00:00:00 2001 From: Stavros Date: Tue, 10 Oct 2023 21:32:55 +0300 Subject: [PATCH 164/263] Add netdata. (#1373) * Add netdata. * Add port. --- README.md | 1 + apps/netdata/config.json | 16 +++++++++ apps/netdata/docker-compose.yml | 51 +++++++++++++++++++++++++++ apps/netdata/metadata/description.md | 31 ++++++++++++++++ apps/netdata/metadata/logo.jpg | Bin 0 -> 2432 bytes 5 files changed, 99 insertions(+) create mode 100644 apps/netdata/config.json create mode 100644 apps/netdata/docker-compose.yml create mode 100644 apps/netdata/metadata/description.md create mode 100644 apps/netdata/metadata/logo.jpg diff --git a/README.md b/README.md index 112dd1df..5cf68b35 100644 --- a/README.md +++ b/README.md @@ -96,6 +96,7 @@ This is the official repository for the Tipi App Store. It contains all the apps - [Mylar3](https://github.com/mylar3/mylar3) - Mylar3 is an automated Comic Book downloader (cbr/cbz) for use with NZB and torrents written in python. - [n8n](https://github.com/n8n-io/n8n) - Workflow Automation Tool - [Navidrome](https://github.com/navidrome/navidrome) - A selfhosted music server +- [Netdata](https://github.com/netdata/netdata) - Open-source, real-time, performance and health monitoring. - [Nextcloud](https://github.com/nextcloud/server) - A safe home for all your data - [Nitter](https://github.com/zedeus/nitter) - Alternative Twitter front-end - [NocoDB](https://github.com/nocodb/nocodb) - Open Source Airtable Alternative diff --git a/apps/netdata/config.json b/apps/netdata/config.json new file mode 100644 index 00000000..7a6dedb6 --- /dev/null +++ b/apps/netdata/config.json @@ -0,0 +1,16 @@ +{ + "name": "Netdata", + "available": true, + "port": 19999, + "exposable": true, + "id": "netdata", + "description": "Stream any metrics from every physical and virtual server, container and IoT device, to one dashboard, in real-time.", + "tipi_version": 1, + "version": "v1.42.4", + "categories": ["utilities"], + "short_desc": "Open-source, real-time, performance and health monitoring.", + "author": "netdata", + "source": "https://github.com/netdata/netdata", + "website": "https://www.netdata.cloud/", + "form_fields": [] + } \ No newline at end of file diff --git a/apps/netdata/docker-compose.yml b/apps/netdata/docker-compose.yml new file mode 100644 index 00000000..32f01ca7 --- /dev/null +++ b/apps/netdata/docker-compose.yml @@ -0,0 +1,51 @@ +version: "3.7" +services: + netdata: + image: netdata/netdata:v1.42.4 + container_name: netdata + pid: host + restart: unless-stopped + cap_add: + - SYS_PTRACE + - SYS_ADMIN + security_opt: + - apparmor:unconfined + ports: + - ${APP_PORT}:19999 + volumes: + - ${APP_DATA_DIR}/data/config:/etc/netdata + - ${APP_DATA_DIR}/data/lib:/var/lib/netdata + - ${APP_DATA_DIR}/data/cache:/var/cache/netdata + - /etc/passwd:/host/etc/passwd:ro + - /etc/group:/host/etc/group:ro + - /proc:/host/proc:ro + - /sys:/host/sys:ro + - /etc/os-release:/host/etc/os-release:ro + - /var/run/docker.sock:/var/run/docker.sock:ro + networks: + - tipi_main_network + labels: + # Main + traefik.enable: true + traefik.http.middlewares.netdata-web-redirect.redirectscheme.scheme: https + traefik.http.services.netdata.loadbalancer.server.port: 19999 + # Web + traefik.http.routers.netdata-insecure.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.netdata-insecure.entrypoints: web + traefik.http.routers.netdata-insecure.service: netdata + traefik.http.routers.netdata-insecure.middlewares: netdata-web-redirect + # Websecure + traefik.http.routers.netdata.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.netdata.entrypoints: websecure + traefik.http.routers.netdata.service: netdata + traefik.http.routers.netdata.tls.certresolver: myresolver + # Local domain + traefik.http.routers.netdata-local-insecure.rule: Host(`netdata.${LOCAL_DOMAIN}`) + traefik.http.routers.netdata-local-insecure.entrypoints: web + traefik.http.routers.netdata-local-insecure.service: netdata + traefik.http.routers.netdata-local-insecure.middlewares: netdata-web-redirect + # Local domain secure + traefik.http.routers.netdata-local.rule: Host(`netdata.${LOCAL_DOMAIN}`) + traefik.http.routers.netdata-local.entrypoints: websecure + traefik.http.routers.netdata-local.service: netdata + traefik.http.routers.netdata-local.tls: true diff --git a/apps/netdata/metadata/description.md b/apps/netdata/metadata/description.md new file mode 100644 index 00000000..c4520591 --- /dev/null +++ b/apps/netdata/metadata/description.md @@ -0,0 +1,31 @@ +Netdata collects metrics per second and presents them in beautiful low-latency dashboards. It is designed to run on all of your physical and virtual servers, cloud deployments, Kubernetes clusters, and edge/IoT devices, to monitor your systems, containers, and applications. + +It scales nicely from just a single server to thousands of servers, even in complex multi/mixed/hybrid cloud environments, and given enough disk space it can keep your metrics for years. + +**KEY FEATURES**:
+ +- 💥 **Collects metrics from 800+ integrations**
+ Operating system metrics, container metrics, virtual machines, hardware sensors, applications metrics, OpenMetrics exporters, StatsD, and logs. + +- 💪 **Real-Time, Low-Latency, High-Resolution**
+ All metrics are collected per second and are on the dashboard immediately after data collection. Netdata is designed to be fast. + +- 😶‍🌫️ **Unsupervised Anomaly Detection**
+ Trains multiple Machine-Learning (ML) models for each metric collected and detects anomalies based on the past behavior of each metric individually. + +- 🔥 **Powerful Visualization**
+ Clear and precise visualization that allows you to quickly understand any dataset, but also to filter, slice and dice the data directly on the dashboard, without the need to learn any query language. + +- 🔔 **Out of box Alerts**
+ Comes with hundreds of alerts out of the box to detect common issues and pitfalls, revealing issues that can easily go unnoticed. It supports several notification methods to let you know when your attention is needed. + +- 📖 **systemd Journal Logs Explorer** (beta, in the nightly release channel)
+ Provides a `systemd` journal logs explorer, to view, filter and analyze system and applications logs by directly accessing `systemd` journal files on individual hosts and infrastructure-wide logs centralization servers. + +- 😎 **Low Maintenance**
+ Fully automated in every aspect: automated dashboards, out-of-the-box alerts, auto-detection and auto-discovery of metrics, zero-touch machine-learning, easy scalability and high availability, and CI/CD friendly. + +- ⭐ **Open and Extensible**
+ Netdata is a modular platform that can be extended in all possible ways and it also integrates nicely with other monitoring solutions. + +--- \ No newline at end of file diff --git a/apps/netdata/metadata/logo.jpg b/apps/netdata/metadata/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0e6862fbf9413f8ae4253170b9c78173ba95e455 GIT binary patch literal 2432 zcmb_cc{tQ-8~)8c`fS6DeHddoSq5Wd3yo!_BKtBbWEn)1A&O)@B}>^&NLjNNvel6g zAxoc7jFcqD+B9jSPR@vPuJ1d4e%JTBzw3Ih_j%vvexCdOUDv%iu{i?>no|!_0T2iP zK->jv{s3f5PXz`AdxwO0({Y~RIR7ATUqZ0A*G_VC3iuU({vB{Q3=T&kxPj#5*$Q4^ zUVdKgCyYW13J9W6(xMoQs5BlciNz}`C@5=bYMGh2fc~zB{%-)AT>uIR^Z|Vk5FP-d zKoAsYvm21&G5|wBTV(zU1QH5^L%^U-7J%H&7Z(0?x3lZ_mx4IOGhd@S5M^Dj0Dh}` z!DJqvo*1~H=L}$YOXNMEQKgsycBuz|WR)O9)5B@*6`==UuIvVs6VMkEsN>d?dIN|2G|g%LWXB{A2?b+%AzK^UsIzmXg`VKA6eEbJbY}k14R8 z_fGSje#HWs>88d3yIxE%D;K1Fq71F?u51-;i6zMe-xBLT`oa+)2n-DUi4NI8muLmG z)VC4sf=$mS>_$#|3OK!T@GN-?_T7gZr}Ma85v#cC;b{>oUeoLO{4=lP1L;ZVXwViW zgxh1EAOM1Z!7wC@hiAJFcX%ia1;7!q8ktXpghla06Z=>>V>=H98bc2Xj!WUaJbXdkc<)1SpM^lTo|tg{9V2#F+?kndF1qE04PGDg&B9ACC+JXYv!v`ExP zUE=>Cp%EcBAYX8p)DwMAN-V#qqajtFHLA$PN$X7RBGRfxE30FfCa12>!BQ?z zFt+jz4xiM9nAbd>-Jp+21*COnHevP@zfpabKZthTgL8O$71x$HeL7SqFofTtXr3sS zEt8iWXm_~o?w9*DJ}LQ5kJ)YqLh1%<#?q{c&M_wm*ONlP4%Sx0ygZRWg}8ms8ZRob+G zRl4?b=Zt_x>#Iil?IIFnr--DQp+Brsg#tfT8?SezV0=tI;0RA%_J7_4l2%IES7?(N zofY~ciLt-<3)YS>m?u=9FT7t0n8f`1PE0|suq{8!#b=(9$v5}gsm4H=Nv($2(=^;5 zlV|Quib0@Ex5yMhcpj5z6A`n%A%2FD|HTdc$HA7TQXa|IQ~;iep_a%OP=!fq#z#F~ z^DF)Wnlr7?f(nxs%A;e|cU((4D;p{o^R0sH@6GzlesFEhT>a)@^io)K`sNd}$ymHq zx^c$aJm#XJ>@Sgo73e}YF;~QxRL{#<|lBshULqP%u_Xq6$S%wGeQxUoEDS# zT=Q1(e70E)M$>)gGcC=GEE=;FS{bDS;Q^z3lI5R`)mm>5`q#XN&K*r{JIU;Rw%j

&Rf#K#@K5fTj#j=n6ISt(6a5L78KiZ z;=WL)tY2fB6GH@u%2c;Bw=0yFsqcd9YmEHrGZhWAv6)IUemT8aJ|{fP9z_ff&mUG2 zlE^>($f81}(p5d+f&5h0)$crvn>|LRgSu*b&}QTs`-R)btVaEzWNBZRNlsHJJz@G&7gZA#WL3M zcPC_7L;#Sb5;BAJI)@lNXumP9J)eZ%;WmMy zb`^>JgP%MUFWNkGZ`w_@GFi`Q=oA-M%2g7o9j6_+J*Lj}6?GH<27w`P7#Oi*U)&P_ zMd4&&!e~!MItFiS5-X%hB%9jU*?VleC5Y=I-=|v5d~q`+!WYig-q!Kw9CbT6KHJLUqY_&^en@pgimE4c!>7p~3TQ=x83u4{&zHgA+q?MPspK-==2GGA zKW=lCB5f-LMM8EA7~m=eg#joW+}JKd2rYt_BYFgTGCDD`B(jY|{mAQW_y4KZi#1i$ zK~kI}y1vgRSZvj?Jjv})Sk-8cy5e3(zgcD`wyKe1(SK$9$l0>F?sJyM(_(z-Uu4DN zZeA~oIK3vH{5~yI5Q$rta$DeQZ+DJ)KlMPSaT7RFSb06im|#$IMW?bS^|;dmW&fIt z62=FCA4{wg(Jnn**V}eI<+w^;7sATvm>8J-A}VSNz#7J^MhIp0oRbA zbgDWU{_2>P-dXy`Ojc+>wj{-Za5N=l5d4kiHgsmk zTxP+Lf%fC|L;GU{0Yu@m$KvL7gQ#?|+jX>uG<|!!etARHkt`og-EShx-+1mauyJfz m!1mro{lAj<(gVhq=f#8ef6|S+E^$0ZOb(emhggi>oct4IFyMax literal 0 HcmV?d00001 From 5080adb42e22c0ca235bca51bdca8cbfd52c65f1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 10 Oct 2023 18:35:05 +0000 Subject: [PATCH 165/263] chore(deps): update ghcr.io/hay-kot/homebox docker tag to v0.10.1 (#1374) --- apps/homebox/config.json | 4 ++-- apps/homebox/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/homebox/config.json b/apps/homebox/config.json index a06533aa..11d773af 100644 --- a/apps/homebox/config.json +++ b/apps/homebox/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "homebox", - "tipi_version": 6, - "version": "0.10.0", + "tipi_version": 7, + "version": "0.10.1", "categories": [ "utilities" ], diff --git a/apps/homebox/docker-compose.yml b/apps/homebox/docker-compose.yml index 4698742d..d7aeb4b8 100644 --- a/apps/homebox/docker-compose.yml +++ b/apps/homebox/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.4" services: homebox: - image: ghcr.io/hay-kot/homebox:v0.10.0 + image: ghcr.io/hay-kot/homebox:v0.10.1 container_name: homebox restart: always environment: From abe1b6bb3a2708bd1be10aa0406d8114d1672515 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 10 Oct 2023 23:14:32 +0000 Subject: [PATCH 166/263] chore(deps): update lscr.io/linuxserver/mastodon docker tag to v4.2.1 (#1375) --- apps/mastodon/config.json | 4 ++-- apps/mastodon/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/mastodon/config.json b/apps/mastodon/config.json index f0c9d3f5..dcf5bbe0 100644 --- a/apps/mastodon/config.json +++ b/apps/mastodon/config.json @@ -7,8 +7,8 @@ "force_expose": true, "generate_vapid_keys": true, "id": "mastodon", - "tipi_version": 10, - "version": "4.2.0", + "tipi_version": 11, + "version": "4.2.1", "categories": [ "social" ], diff --git a/apps/mastodon/docker-compose.yml b/apps/mastodon/docker-compose.yml index 9e2f8430..fe59e0c8 100644 --- a/apps/mastodon/docker-compose.yml +++ b/apps/mastodon/docker-compose.yml @@ -3,7 +3,7 @@ version: "3" services: mastodon: container_name: mastodon - image: lscr.io/linuxserver/mastodon:4.2.0 + image: lscr.io/linuxserver/mastodon:4.2.1 ports: - 8209:80 - ${APP_PORT}:443 From bcbba72b29ac8424d3f0ee55d6c411730ab49dbc Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 10 Oct 2023 23:14:40 +0000 Subject: [PATCH 167/263] chore(deps): update sethsimmons/simple-monerod docker tag to v0.18.3.1 (#1376) --- apps/monerod/config.json | 8 +++++--- apps/monerod/docker-compose.yml | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/apps/monerod/config.json b/apps/monerod/config.json index 64231181..74f17a64 100644 --- a/apps/monerod/config.json +++ b/apps/monerod/config.json @@ -6,9 +6,11 @@ "no_gui": true, "port": 18080, "id": "monerod", - "tipi_version": 7, - "version": "0.18.2.2", - "categories": ["finance"], + "tipi_version": 8, + "version": "0.18.3.1", + "categories": [ + "finance" + ], "description": "A device on the Internet running the Monero software, with a full copy of the Monero blockchain, actively assisting the Monero network. This is a simple and straightforward Dockerized monerod built from source and exposing standard ports. Please note that running this requires >50GB of free disk space and is best run on solid-state (SSD) storage.", "short_desc": "Monero is a private, decentralized cryptocurrency that keeps your finances confidential and secure.", "author": "sethforprivacy", diff --git a/apps/monerod/docker-compose.yml b/apps/monerod/docker-compose.yml index e81ff394..ea90c3c9 100644 --- a/apps/monerod/docker-compose.yml +++ b/apps/monerod/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.7" services: monerod: - image: sethsimmons/simple-monerod:v0.18.2.2 + image: sethsimmons/simple-monerod:v0.18.3.1 dns: - ${DNS_IP} ports: From 8d6c1fe6da528d85ef03f244d9d20b62c3faba12 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 11 Oct 2023 19:12:25 +0000 Subject: [PATCH 168/263] chore(deps): update zerotier/zerotier docker tag to v1.12.2 (#1382) --- apps/zerotier/config.json | 4 ++-- apps/zerotier/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/zerotier/config.json b/apps/zerotier/config.json index 06c40df3..d0ec3215 100644 --- a/apps/zerotier/config.json +++ b/apps/zerotier/config.json @@ -5,8 +5,8 @@ "no_gui": true, "port": 9993, "id": "zerotier", - "tipi_version": 4, - "version": "1.12.1", + "tipi_version": 5, + "version": "1.12.2", "categories": [ "network", "security" diff --git a/apps/zerotier/docker-compose.yml b/apps/zerotier/docker-compose.yml index 0bb594a5..c232f503 100644 --- a/apps/zerotier/docker-compose.yml +++ b/apps/zerotier/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: zerotier: container_name: zerotier - image: zerotier/zerotier:1.12.1 + image: zerotier/zerotier:1.12.2 restart: on-failure command: "${NETWORK_ID}" cap_add: From fcce5c95095fd1ef184b8ea0e3bfbe3ba58c8ca7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 11 Oct 2023 19:12:31 +0000 Subject: [PATCH 169/263] chore(deps): update adguard/adguardhome docker tag to v0.107.39 (#1381) --- apps/adguard/config.json | 4 ++-- apps/adguard/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/adguard/config.json b/apps/adguard/config.json index bc938d55..815ee0fb 100644 --- a/apps/adguard/config.json +++ b/apps/adguard/config.json @@ -3,8 +3,8 @@ "name": "Adguard", "available": true, "exposable": true, - "tipi_version": 17, - "version": "0.107.38", + "tipi_version": 18, + "version": "0.107.39", "port": 8104, "id": "adguard", "categories": [ diff --git a/apps/adguard/docker-compose.yml b/apps/adguard/docker-compose.yml index 91872b83..8acdf080 100644 --- a/apps/adguard/docker-compose.yml +++ b/apps/adguard/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.7" services: adguard: - image: adguard/adguardhome:v0.107.38 + image: adguard/adguardhome:v0.107.39 container_name: adguard volumes: - "${APP_DATA_DIR}/data/work:/opt/adguardhome/work" From d1a638c9edbc9c100361d7bc3c756bdd3d49e89b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 11 Oct 2023 21:15:17 +0000 Subject: [PATCH 170/263] chore(deps): update ghcr.io/frooodle/s-pdf docker tag to v0.14.5 (#1383) --- apps/stirling-pdf/config.json | 4 ++-- apps/stirling-pdf/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/stirling-pdf/config.json b/apps/stirling-pdf/config.json index 245987d1..48994fb6 100644 --- a/apps/stirling-pdf/config.json +++ b/apps/stirling-pdf/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "stirling-pdf", - "tipi_version": 6, - "version": "0.14.4", + "tipi_version": 7, + "version": "0.14.5", "categories": [ "data", "utilities" diff --git a/apps/stirling-pdf/docker-compose.yml b/apps/stirling-pdf/docker-compose.yml index 9b094f8d..62d76ad7 100644 --- a/apps/stirling-pdf/docker-compose.yml +++ b/apps/stirling-pdf/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.7" services: stirling-pdf: - image: ghcr.io/frooodle/s-pdf:0.14.4 + image: ghcr.io/frooodle/s-pdf:0.14.5 restart: unless-stopped container_name: stirling-pdf privileged: true From 7ea9a333d2be52908620166ea91ea0270b15c83f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 12 Oct 2023 09:13:44 +0000 Subject: [PATCH 171/263] chore(deps): update tooljet/tooljet-server-ce docker tag to v2.20.0 (#1385) --- apps/tooljet/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/tooljet/docker-compose.yml b/apps/tooljet/docker-compose.yml index 883282d8..4d7adc3d 100644 --- a/apps/tooljet/docker-compose.yml +++ b/apps/tooljet/docker-compose.yml @@ -44,7 +44,7 @@ services: tooljet-server: container_name: tooljet-server - image: tooljet/tooljet-server-ce:v2.19.2 + image: tooljet/tooljet-server-ce:v2.20.0 tty: true stdin_open: true restart: always From 0da961ff436f22ebdbd91598496721dc9606941f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 12 Oct 2023 09:14:26 +0000 Subject: [PATCH 172/263] chore(deps): update 1dev/server docker tag to v9.2.0 (#1384) --- apps/onedev/config.json | 4 ++-- apps/onedev/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/onedev/config.json b/apps/onedev/config.json index 7aef2056..8376817e 100644 --- a/apps/onedev/config.json +++ b/apps/onedev/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "onedev", - "tipi_version": 52, - "version": "9.1.15", + "tipi_version": 53, + "version": "9.2.0", "categories": [ "development" ], diff --git a/apps/onedev/docker-compose.yml b/apps/onedev/docker-compose.yml index d878b3d9..59a8f886 100644 --- a/apps/onedev/docker-compose.yml +++ b/apps/onedev/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: onedev: - image: 1dev/server:9.1.15 + image: 1dev/server:9.2.0 container_name: onedev environment: - hibernate_dialect=io.onedev.server.persistence.PostgreSQLDialect From 7b8b53b11a84f17d4dd52358a75f8fffdbd30148 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 12 Oct 2023 14:02:55 +0000 Subject: [PATCH 173/263] chore(deps): update tooljet/tooljet-server-ce docker tag to v2.20.1 (#1387) --- apps/tooljet/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/tooljet/docker-compose.yml b/apps/tooljet/docker-compose.yml index 4d7adc3d..a8a6fa11 100644 --- a/apps/tooljet/docker-compose.yml +++ b/apps/tooljet/docker-compose.yml @@ -44,7 +44,7 @@ services: tooljet-server: container_name: tooljet-server - image: tooljet/tooljet-server-ce:v2.20.0 + image: tooljet/tooljet-server-ce:v2.20.1 tty: true stdin_open: true restart: always From 9add6a82fbb0dfdc642bdd0742658db2f3ad9b7b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 12 Oct 2023 14:03:30 +0000 Subject: [PATCH 174/263] chore(deps): update grafana/grafana-oss docker tag to v10.1.5 (#1386) --- apps/grafana/config.json | 4 ++-- apps/grafana/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/grafana/config.json b/apps/grafana/config.json index 923c809f..114f736a 100644 --- a/apps/grafana/config.json +++ b/apps/grafana/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "grafana", - "tipi_version": 16, - "version": "10.1.4", + "tipi_version": 17, + "version": "10.1.5", "categories": [ "data" ], diff --git a/apps/grafana/docker-compose.yml b/apps/grafana/docker-compose.yml index 079b94c9..803c7f17 100644 --- a/apps/grafana/docker-compose.yml +++ b/apps/grafana/docker-compose.yml @@ -3,7 +3,7 @@ version: "3" services: grafana: container_name: grafana - image: grafana/grafana-oss:10.1.4 + image: grafana/grafana-oss:10.1.5 ports: - ${APP_PORT}:3000 volumes: From 40516316159b07b6f81b342a2bc34c4632522567 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 12 Oct 2023 17:06:03 +0000 Subject: [PATCH 175/263] chore(deps): update budibase/budibase docker tag to v2.11.31 (#1388) --- apps/budibase/config.json | 4 ++-- apps/budibase/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/budibase/config.json b/apps/budibase/config.json index 9e050bf7..2d93e418 100644 --- a/apps/budibase/config.json +++ b/apps/budibase/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "budibase", - "tipi_version": 15, - "version": "2.11.15", + "tipi_version": 16, + "version": "2.11.31", "categories": [ "development" ], diff --git a/apps/budibase/docker-compose.yml b/apps/budibase/docker-compose.yml index bfcdf8c0..3496ddc4 100644 --- a/apps/budibase/docker-compose.yml +++ b/apps/budibase/docker-compose.yml @@ -1,7 +1,7 @@ version: '3.7' services: budibase: - image: budibase/budibase:2.11.15 + image: budibase/budibase:2.11.31 restart: unless-stopped container_name: budibase ports: From 7b75151e5c65075358e537899b3dae5864512dbf Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 12 Oct 2023 17:06:12 +0000 Subject: [PATCH 176/263] chore(deps): update lscr.io/linuxserver/pairdrop docker tag to v1.9.0 (#1389) --- apps/pairdrop/config.json | 4 ++-- apps/pairdrop/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/pairdrop/config.json b/apps/pairdrop/config.json index 958922e5..7c937b71 100644 --- a/apps/pairdrop/config.json +++ b/apps/pairdrop/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "pairdrop", - "tipi_version": 14, - "version": "1.8.3", + "tipi_version": 15, + "version": "1.9.0", "categories": [ "media", "data", diff --git a/apps/pairdrop/docker-compose.yml b/apps/pairdrop/docker-compose.yml index f8e336ae..8929f4f3 100644 --- a/apps/pairdrop/docker-compose.yml +++ b/apps/pairdrop/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: pairdrop: - image: lscr.io/linuxserver/pairdrop:1.8.3 + image: lscr.io/linuxserver/pairdrop:1.9.0 container_name: pairdrop environment: - PUID=1000 From e5b8a0b1a970ed4028b3a09427d57e0884bc8dae Mon Sep 17 00:00:00 2001 From: DireMunchkin <1665676+DireMunchkin@users.noreply.github.com> Date: Thu, 12 Oct 2023 18:06:23 +0000 Subject: [PATCH 177/263] App updates (#1367) * Update Ghostfolio to 2.9.0 * Update Jellyfin to 10.8.11 * Update Radarr to 5.0.3 * Add local domain support to Jellyfin * Update Ghostfolio to 2.10 --- apps/ghostfolio/config.json | 4 +-- apps/ghostfolio/docker-compose.yml | 2 +- apps/jellyfin/config.json | 4 +-- apps/jellyfin/docker-compose.yml | 44 ++++++++++++++++-------------- apps/radarr/config.json | 4 +-- apps/radarr/docker-compose.yml | 2 +- 6 files changed, 31 insertions(+), 29 deletions(-) diff --git a/apps/ghostfolio/config.json b/apps/ghostfolio/config.json index e6e40c7c..fae7a17e 100644 --- a/apps/ghostfolio/config.json +++ b/apps/ghostfolio/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "ghostfolio", - "tipi_version": 7, - "version": "1.305.0", + "tipi_version": 9, + "version": "2.10.0", "categories": [ "finance" ], diff --git a/apps/ghostfolio/docker-compose.yml b/apps/ghostfolio/docker-compose.yml index 0f75e12a..1760e8aa 100644 --- a/apps/ghostfolio/docker-compose.yml +++ b/apps/ghostfolio/docker-compose.yml @@ -3,7 +3,7 @@ version: "3.9" services: ghostfolio: container_name: ghostfolio - image: ghostfolio/ghostfolio:1.305.0 + image: ghostfolio/ghostfolio:2.10.0 restart: unless-stopped ports: - ${APP_PORT}:3333 diff --git a/apps/jellyfin/config.json b/apps/jellyfin/config.json index 4e6953fb..756bb8f3 100644 --- a/apps/jellyfin/config.json +++ b/apps/jellyfin/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 8091, "id": "jellyfin", - "tipi_version": 6, - "version": "10.8.10", + "tipi_version": 7, + "version": "10.8.11", "categories": [ "media" ], diff --git a/apps/jellyfin/docker-compose.yml b/apps/jellyfin/docker-compose.yml index 1497f107..bb900137 100644 --- a/apps/jellyfin/docker-compose.yml +++ b/apps/jellyfin/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.7" services: jellyfin: - image: lscr.io/linuxserver/jellyfin:10.8.10 + image: lscr.io/linuxserver/jellyfin:10.8.11 container_name: jellyfin volumes: - ${APP_DATA_DIR}/data/config:/config @@ -17,25 +17,27 @@ services: networks: - tipi_main_network labels: - traefik.enable: ${APP_EXPOSED} - traefik.http.middlewares.jellyfin-mw.headers.SSLForceHost: true - traefik.http.middlewares.jellyfin-mw.headers.SSLHost: ${APP_DOMAIN} - traefik.http.middlewares.jellyfin-mw.headers.SSLRedirect: true - traefik.http.middlewares.jellyfin-mw.headers.STSIncludeSubdomains: true - traefik.http.middlewares.jellyfin-mw.headers.STSPreload: true - traefik.http.middlewares.jellyfin-mw.headers.STSSeconds: 315360000 - traefik.http.middlewares.jellyfin-mw.headers.browserXSSFilter: true - traefik.http.middlewares.jellyfin-mw.headers.contentTypeNosniff: true - traefik.http.middlewares.jellyfin-mw.headers.customFrameOptionsValue: 'allow-from https://${DOMAIN}' - traefik.http.middlewares.jellyfin-mw.headers.customResponseHeaders.X-Robots-Tag: noindex,nofollow,nosnippet,noarchive,notranslate,noimageindex - traefik.http.middlewares.jellyfin-mw.headers.forceSTSHeader: true - traefik.http.middlewares.jellyfin-mw.headers.frameDeny: true - traefik.http.routers.jellyfin.entryPoints: websecure - traefik.http.routers.jellyfin.middlewares: jellyfin-mw + # Main + traefik.enable: true + traefik.http.middlewares.jellyfin-web-redirect.redirectscheme.scheme: https + traefik.http.services.jellyfin.loadbalancer.server.port: 8096 + # Web + traefik.http.routers.jellyfin-insecure.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.jellyfin-insecure.entrypoints: web + traefik.http.routers.jellyfin-insecure.service: jellyfin + traefik.http.routers.jellyfin-insecure.middlewares: jellyfin-web-redirect + # Websecure traefik.http.routers.jellyfin.rule: Host(`${APP_DOMAIN}`) - traefik.http.routers.jellyfin.service: jellyfin-svc - traefik.http.routers.jellyfin.tls: true + traefik.http.routers.jellyfin.entrypoints: websecure + traefik.http.routers.jellyfin.service: jellyfin traefik.http.routers.jellyfin.tls.certresolver: myresolver - traefik.http.routers.jellyfin.tls.domains: ${APP_DOMAIN} - traefik.http.services.jellyfin-svc.loadBalancer.passHostHeader: true - traefik.http.services.jellyfin-svc.loadBalancer.server.port: 8096 + # Local domain + traefik.http.routers.jellyfin-local-insecure.rule: Host(`jellyfin.${LOCAL_DOMAIN}`) + traefik.http.routers.jellyfin-local-insecure.entrypoints: web + traefik.http.routers.jellyfin-local-insecure.service: jellyfin + traefik.http.routers.jellyfin-local-insecure.middlewares: jellyfin-web-redirect + # Local domain secure + traefik.http.routers.jellyfin-local.rule: Host(`jellyfin.${LOCAL_DOMAIN}`) + traefik.http.routers.jellyfin-local.entrypoints: websecure + traefik.http.routers.jellyfin-local.service: jellyfin + traefik.http.routers.jellyfin-local.tls: true diff --git a/apps/radarr/config.json b/apps/radarr/config.json index 0fabdf4a..69737569 100644 --- a/apps/radarr/config.json +++ b/apps/radarr/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 8088, "id": "radarr", - "tipi_version": 9, - "version": "4.7.5", + "tipi_version": 10, + "version": "5.0.3", "categories": [ "media", "utilities" diff --git a/apps/radarr/docker-compose.yml b/apps/radarr/docker-compose.yml index 7a2bd728..3a15eedb 100644 --- a/apps/radarr/docker-compose.yml +++ b/apps/radarr/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.7" services: radarr: - image: lscr.io/linuxserver/radarr:4.7.5 + image: lscr.io/linuxserver/radarr:5.0.3 container_name: radarr environment: - PUID=1000 From c4fe8c190d1afcd0580c485e38dc3f1cca5a20d6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 12 Oct 2023 19:57:40 +0000 Subject: [PATCH 178/263] chore(deps): update nocodb/nocodb docker tag to v0.202.4 (#1380) --- apps/nocodb/config.json | 4 ++-- apps/nocodb/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/nocodb/config.json b/apps/nocodb/config.json index 23249cc4..95f31b4b 100644 --- a/apps/nocodb/config.json +++ b/apps/nocodb/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "nocodb", - "tipi_version": 23, - "version": "0.111.4", + "tipi_version": 24, + "version": "0.202.4", "categories": [ "utilities" ], diff --git a/apps/nocodb/docker-compose.yml b/apps/nocodb/docker-compose.yml index 497ffe28..14d105f8 100644 --- a/apps/nocodb/docker-compose.yml +++ b/apps/nocodb/docker-compose.yml @@ -11,7 +11,7 @@ services: - NC_PUBLIC_URL=${APP_PROTOCOL:-http}://${APP_DOMAIN} - NC_AUTH_JWT_SECRET=${NOCODB_JWT_SECRET} - NC_REDIS_URL=redis://default:${NOCODB_REDIS_PASSWORD}@nocodb-redis:6379 - image: "nocodb/nocodb:0.111.4" + image: "nocodb/nocodb:0.202.4" ports: - "${APP_PORT}:8080" restart: always From 99eeb1e39422739092102310ab22105a3ba2f169 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 12 Oct 2023 20:00:07 +0000 Subject: [PATCH 179/263] chore(deps): update ghcr.io/ignisda/ryot docker tag to v2.21.2 (#1378) --- apps/ryot/config.json | 4 ++-- apps/ryot/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/ryot/config.json b/apps/ryot/config.json index d617e690..04f02d36 100644 --- a/apps/ryot/config.json +++ b/apps/ryot/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "ryot", - "tipi_version": 22, - "version": "2.21.1", + "tipi_version": 23, + "version": "2.21.2", "categories": [ "media" ], diff --git a/apps/ryot/docker-compose.yml b/apps/ryot/docker-compose.yml index 64b7d5e4..3986bdee 100644 --- a/apps/ryot/docker-compose.yml +++ b/apps/ryot/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: ryot: - image: ghcr.io/ignisda/ryot:v2.21.1 + image: ghcr.io/ignisda/ryot:v2.21.2 container_name: ryot environment: - DATABASE_URL=postgres://tipi:${RYOT_DB_PASSWORD}@ryot-db:5432/ryot From d712944e2b50f224cae267cf3336dd16abc32ff9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 12 Oct 2023 20:00:48 +0000 Subject: [PATCH 180/263] chore(deps): update ghost docker tag to v5.68.0 (#1377) --- apps/ghost/config.json | 4 ++-- apps/ghost/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/ghost/config.json b/apps/ghost/config.json index 2355092a..e0a63733 100644 --- a/apps/ghost/config.json +++ b/apps/ghost/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "ghost", - "tipi_version": 52, - "version": "5.67.0", + "tipi_version": 53, + "version": "5.68.0", "categories": [ "social", "media" diff --git a/apps/ghost/docker-compose.yml b/apps/ghost/docker-compose.yml index 0eb4c0f5..38e92106 100644 --- a/apps/ghost/docker-compose.yml +++ b/apps/ghost/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.9" services: ghost: - image: ghost:5.67.0 + image: ghost:5.68.0 container_name: ghost depends_on: - ghostdb From 53f4460babcc1b9a3639feb3281614b6cb454cb2 Mon Sep 17 00:00:00 2001 From: Stavros Date: Sun, 15 Oct 2023 16:13:29 +0300 Subject: [PATCH 181/263] Add arm64 support to viewtube. (#1379) * Add arm64 support. * Update config.json --- apps/viewtube/config.json | 2 +- apps/viewtube/docker-compose.arm64.yml | 66 ++++++++++++++++++++++++++ apps/viewtube/metadata/description.md | 2 + apps/viewtube/metadata/optional.md | 37 --------------- 4 files changed, 69 insertions(+), 38 deletions(-) create mode 100644 apps/viewtube/docker-compose.arm64.yml delete mode 100644 apps/viewtube/metadata/optional.md diff --git a/apps/viewtube/config.json b/apps/viewtube/config.json index 6be4953d..dd48bdae 100644 --- a/apps/viewtube/config.json +++ b/apps/viewtube/config.json @@ -5,7 +5,7 @@ "available": true, "exposable": true, "id": "viewtube", - "tipi_version": 1, + "tipi_version": 2, "version": "0.12.2", "categories": ["media"], "description": "The open source, privacy-conscious way to enjoy your favorite YouTube content.", diff --git a/apps/viewtube/docker-compose.arm64.yml b/apps/viewtube/docker-compose.arm64.yml new file mode 100644 index 00000000..07e8703e --- /dev/null +++ b/apps/viewtube/docker-compose.arm64.yml @@ -0,0 +1,66 @@ +version: '3' + +services: + viewtube: + restart: unless-stopped + container_name: viewtube + image: mauriceo/viewtube:0.12.2 + depends_on: + - viewtube-mongodb + - viewtube-redis + volumes: + - ${APP_DATA_DIR}/data/viewtube:/data + environment: + - VIEWTUBE_DATABASE_HOST=viewtube-mongodb + - VIEWTUBE_REDIS_HOST=viewtube-redis + - VIEWTUBE_SECURE=true + - VIEWTUBE_CORS_ORIGIN=${APP_PROTOCOL:-http}://${APP_DOMAIN} + # - VIEWTUBE_YOUTUBE_COOKIE= + # - VIEWTUBE_YOUTUBE_IDENTIFIER= + ports: + - ${APP_PORT}:8066 + networks: + - tipi_main_network + labels: + # Main + traefik.enable: true + traefik.http.middlewares.viewtube-web-redirect.redirectscheme.scheme: https + traefik.http.services.viewtube.loadbalancer.server.port: 8066 + # Web + traefik.http.routers.viewtube-insecure.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.viewtube-insecure.entrypoints: web + traefik.http.routers.viewtube-insecure.service: viewtube + traefik.http.routers.viewtube-insecure.middlewares: viewtube-web-redirect + # Websecure + traefik.http.routers.viewtube.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.viewtube.entrypoints: websecure + traefik.http.routers.viewtube.service: viewtube + traefik.http.routers.viewtube.tls.certresolver: myresolver + # Local domain + traefik.http.routers.viewtube-local-insecure.rule: Host(`viewtube.${LOCAL_DOMAIN}`) + traefik.http.routers.viewtube-local-insecure.entrypoints: web + traefik.http.routers.viewtube-local-insecure.service: viewtube + traefik.http.routers.viewtube-local-insecure.middlewares: viewtube-web-redirect + # Local domain secure + traefik.http.routers.viewtube-local.rule: Host(`viewtube.${LOCAL_DOMAIN}`) + traefik.http.routers.viewtube-local.entrypoints: websecure + traefik.http.routers.viewtube-local.service: viewtube + traefik.http.routers.viewtube-local.tls: true + + viewtube-mongodb: + container_name: viewtube-mongodb + restart: unless-stopped + image: mongo:4.4.18 + networks: + - tipi_main_network + volumes: + - ${APP_DATA_DIR}/data/db:/data/db + + viewtube-redis: + container_name: viewtube-redis + restart: unless-stopped + image: redis:7 + networks: + - tipi_main_network + volumes: + - ${APP_DATA_DIR}/data/redis:/data diff --git a/apps/viewtube/metadata/description.md b/apps/viewtube/metadata/description.md index 429a6626..e4014365 100644 --- a/apps/viewtube/metadata/description.md +++ b/apps/viewtube/metadata/description.md @@ -2,6 +2,8 @@ ViewTube is an alternative YouTube frontend that lets you watch, search and disc You can find the documentation at [viewtube.wiki](https://viewtube.wiki) +**Warning! MongoDB version 4.4.18 will be used for arm64 devices like the raspberry pi!** + ## Features - Watch videos without ads or tracking diff --git a/apps/viewtube/metadata/optional.md b/apps/viewtube/metadata/optional.md deleted file mode 100644 index 5cb35f80..00000000 --- a/apps/viewtube/metadata/optional.md +++ /dev/null @@ -1,37 +0,0 @@ -## (Optional) Use cookies from a real account - -You can provide your own cookies to circumvent any Rate Limiting Issue. - -### YouTube cookie - -- Navigate to YouTube in a web browser -- Log in, preferrably with a separate account you don't use often -- Open up the dev tools console -- Type `document.cookie` -- Copy the entire response into the `VIEWTUBE_YOUTUBE_COOKIE` environment variable - -### YouTube identifier - -- Navigate to a video -- Right click and click "view source" -- Press CTRL+F to search for "ID\_TOKEN" -- Copy this value into the `VIEWTUBE_YOUTUBE_IDENTIFIER` environment variable - -``` - "form_fields": [ - { - "type": "text", - "label": "Youtube Cookie", - "hint": "Optional, Read below", - "required": false, - "env_variable": "VIEWTUBE_YOUTUBE_COOKIE" - }, - { - "type": "text", - "label": "Youtube Identifier", - "hint": "Optional, Read below", - "required": false, - "env_variable": "VIEWTUBE_YOUTUBE_IDENTIFIER" - } - ] -``` From 4f5692a4b59b36f43a9d67d60c73474e7e2485df Mon Sep 17 00:00:00 2001 From: Nicolas Meienberger <47644445+meienberger@users.noreply.github.com> Date: Wed, 18 Oct 2023 20:22:54 +0200 Subject: [PATCH 182/263] Update app-request.md --- .github/ISSUE_TEMPLATE/app-request.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/app-request.md b/.github/ISSUE_TEMPLATE/app-request.md index f8f8b7a0..c290bdb3 100644 --- a/.github/ISSUE_TEMPLATE/app-request.md +++ b/.github/ISSUE_TEMPLATE/app-request.md @@ -10,10 +10,20 @@ assignees: meienberger Have you considered adding the app yourself? **Describe app** + A clear and concise description of what the app consists of and how it would benefit the users of Tipi. **Links** -Include links to all the available resources for the app. (eg: github repo, website, license) +- Official repository: [Insert link] +- Official docker image: [Insert link] + +Include links to alln other the available resources for the app. (eg: website, license) **Additional context** + Add any other context or screenshots about the app request here. + +**Checklist** +- [ ] I have put the app name in the title of the issue +- [ ] I have linked the repository of the app +- [ ] I have linked the official docker image From b8cc8ac22336876a42ed1f10fbcafba193b3e252 Mon Sep 17 00:00:00 2001 From: DrMxrcy <58747968+DrMxrcy@users.noreply.github.com> Date: Thu, 19 Oct 2023 02:01:38 -0400 Subject: [PATCH 183/263] Update renovate.json (#1400) --- renovate.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/renovate.json b/renovate.json index 3a8859ef..0a6647a8 100644 --- a/renovate.json +++ b/renovate.json @@ -11,7 +11,7 @@ "hostType": "docker", "username": "jphj", "encrypted": { - "password": "wcFMA/xDdHCJBTolAQ/9GRBMmOIIYT7vGWpjMD4UJN1zHR8O4xrmbwDFl/VXO26SoYcv34QpJsNr748f2zPVwQ77+Z22Tv9QMY1aA0sgT3t69NN1KVt9ErWa6Hctm5fFxhichrvgfb7mmjDcHr2mG2YGGHF5btZHlfxZXdEeLyBLwVXuS4tOb+9JAlyi6zvpdSqdSviPYFv2HSccMyuQxGHoQ02JT8v65K86E6BtvxCPVovs6RsBOF5SIZ4QHU4gaa0X2pDHefM61/b41QJLRNVNbR6NjROOG8Tt5JSgFxwvmO2HzT2LHzHlIXm936ElHRHkM7kaE3GMbT1tpLl2yGmQPDNHsUyAs9B8E86/I6Jatadq40jwLUWeCy2FAx4XwrBMFSNp9D+DmdFk6PcOUT4Wjyxg1gUWY67DTd6anWjivmbkDmlBqIpbIiJMIel4JlquQF1wnfqf46BKVOFSlBxIb8YZGpB2U0PdM8i4we6nInK4bwK/Ib2Ux4O+GLCEsoUHqD0gUff2+7rdE8Yi4ctui1RWRInE3WA9ix9CawZcVJImcQxKJzNRk1ZzoCe30+uN69o4bFGa/6kRFO6yAmPaOwp781CWX42fZQGZhp8gQzhRUjeDW2Wr2ygJclo9vzJ0eQPh0amdOXL1FazIa6jCtMY6VGMlfwG6Ip9t+NEBcb73GraOboPQMxXUxcTShgGiV+YzkBuH7tKGTSOhbAwhlV3OJs3PFAlvrJ4Vx40LNEinMsSAcVNxoDERi3E1JnjGNe1JlCHqLZEkNhwr9dDrr2OwSuC3RNm3r+hyl0twh97MHQonF/T6jX57aEHojASpml8rapCYUn/CUtXJRdA8zp9eV7P8BN8VpTWLgizd+fJ+Vylj" + "password": "wcFMA/xDdHCJBTolAQ/8DjCFGYoCRb08EDqxfzeYRn7ciN0Qslh22QdSIFYYLw4SffcC0uuiOkheaEKtE7F6hQRpL7tFCOdGMWYs9mbyRjxAMxSthPrkzoc7LfofXoDrE4/tKyRbKuFxtaMygaE4XSxLwihGd4RTEbDEINR2ilc9jTpkNQYzoxjwwnEMEZxQLNoDOlQtgUmdSmf2kAtqhVwE6a3NRM+mAXZzYMf3VgDu6/Rep4uO2BOKlLIaf6m4hFnCIQxTtgE/B2FrciuNYmBffjcIvE0vqDDAzbaj4KX1vr9asSWdCmGCtS5tnr9xrt7Fja6nqPph3AVVukVfhRbPhVALoMSRC/nDfTq5asGElU4HbU8bFv2Cwu28MNgor19o80oR0TIXDM4Hst+oX/HNUbQT2PSujgR4AkYASDzBmwaYbne+YgwVQrc6uCeYy9U0+F0aUbrHMvLb9fUG1bdXFcTWkGctNL6R/27QAMZvZ1At1IWBR4EGi6flEo6OGUFZSTVVzsthTFMTKzg7FMpHusGhHQ2t0v70w14yEBgOVL+pSV18239XNYA+Lw6VYUpHP+/oSKuiaJKX6klQyygaFxSx3aPjMdeaEeQECaJz75pOt1CD27WIO/lw2Uti1jnDs1S4SGbU42QSHLI5KyrVztzB2X/nVNDIe6oztja1yp/tHB7yZWDpyHkrmnDScgEJtoIx7Y/46DltouaBvauisSOtvYq5IkX4TSAQoi4tVoJURtrcLoqns+ZTDFdw943Os7CDBOLN/HIphGtVwxr+qzmTDJ/PlFN3C/Fq/IIbZlgsJWSZ+ndv+mYHwRyJFQ6LSdK4xN8AnZlp1+QB3/tOcA" } }, { From 6d4850b7eea57f3934368b7da7d7d3e90643454e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 19 Oct 2023 07:56:30 +0000 Subject: [PATCH 184/263] chore(deps): update ghost docker tag to v5.69.3 (#1403) --- apps/ghost/config.json | 4 ++-- apps/ghost/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/ghost/config.json b/apps/ghost/config.json index e0a63733..fc5a842e 100644 --- a/apps/ghost/config.json +++ b/apps/ghost/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "ghost", - "tipi_version": 53, - "version": "5.68.0", + "tipi_version": 54, + "version": "5.69.3", "categories": [ "social", "media" diff --git a/apps/ghost/docker-compose.yml b/apps/ghost/docker-compose.yml index 38e92106..01093e2a 100644 --- a/apps/ghost/docker-compose.yml +++ b/apps/ghost/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.9" services: ghost: - image: ghost:5.68.0 + image: ghost:5.69.3 container_name: ghost depends_on: - ghostdb From 49ceba66c839c35430b478655cf53120d19696bc Mon Sep 17 00:00:00 2001 From: DrMxrcy <58747968+DrMxrcy@users.noreply.github.com> Date: Thu, 19 Oct 2023 13:33:33 -0400 Subject: [PATCH 185/263] Update Linkwarden Image and Variables (#1399) - Update Linkwarden to Official Image --- apps/linkwarden/config.json | 13 ++++++++++--- apps/linkwarden/docker-compose.yml | 3 ++- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/apps/linkwarden/config.json b/apps/linkwarden/config.json index 0eff16af..78fa19c6 100644 --- a/apps/linkwarden/config.json +++ b/apps/linkwarden/config.json @@ -5,9 +5,8 @@ "available": true, "exposable": true, "id": "linkwarden", - "tipi_version": 1, - "supported_architectures": ["amd64"], - "version": "v1.0.1", + "tipi_version": 2, + "version": "v1.2.0", "categories": ["data"], "description": "A self-hosted, open-source collaborative bookmark manager to collect, organize and archive webpages.", "short_desc": "A self-hosted, open-source collaborative bookmark manager", @@ -25,6 +24,14 @@ "label": "Linkwarden Nextauth Secret", "min": 32, "env_variable": "LINKWARDEN_NEXTAUTH_SECRET" + }, + { + "type": "boolean", + "label": "Disable Registration", + "hint": "Needed for at least one user. If on registration will be disabled.", + "required": false, + "default": "false", + "env_variable": "LINKWARDEN_NEXT_PUBLIC_DISABLE_REGISTRATION" } ] } diff --git a/apps/linkwarden/docker-compose.yml b/apps/linkwarden/docker-compose.yml index 1c48fd82..803da4f8 100644 --- a/apps/linkwarden/docker-compose.yml +++ b/apps/linkwarden/docker-compose.yml @@ -2,12 +2,13 @@ version: "3.7" services: linkwarden: - image: ghcr.io/selfhostedhub/linkwarden:v1.0.1 + image: ghcr.io/linkwarden/linkwarden:v1.2.0 container_name: linkwarden environment: - DATABASE_URL=postgresql://tipi:${LINKWARDEN_DB_PASSWORD}@linkwarden-db:5432/linkwarden - NEXTAUTH_SECRET=${LINKWARDEN_NEXTAUTH_SECRET} - NEXTAUTH_URL=${APP_PROTOCOL:-http}://${APP_DOMAIN} + - NEXT_PUBLIC_DISABLE_REGISTRATION=${LINKWARDEN_NEXT_PUBLIC_DISABLE_REGISTRATION} restart: unless-stopped volumes: - ${APP_DATA_DIR}/data/linkwarden:/data/data From dcef451d43a4e7e88bb5806f5b710872cb058df7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 20 Oct 2023 16:24:25 -0400 Subject: [PATCH 186/263] chore(deps): update 1dev/server docker tag to v9.2.1 (#1401) * chore(deps): update 1dev/server docker tag to v9.2.1 * Update app version [ready] --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Tipi CI --- apps/onedev/config.json | 4 ++-- apps/onedev/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/onedev/config.json b/apps/onedev/config.json index 8376817e..e1fc2ff7 100644 --- a/apps/onedev/config.json +++ b/apps/onedev/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "onedev", - "tipi_version": 53, - "version": "9.2.0", + "tipi_version": 54, + "version": "9.2.1", "categories": [ "development" ], diff --git a/apps/onedev/docker-compose.yml b/apps/onedev/docker-compose.yml index 59a8f886..973ece13 100644 --- a/apps/onedev/docker-compose.yml +++ b/apps/onedev/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: onedev: - image: 1dev/server:9.2.0 + image: 1dev/server:9.2.1 container_name: onedev environment: - hibernate_dialect=io.onedev.server.persistence.PostgreSQLDialect From a9d60ba1fd342313183135af6aede555242e017a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 21 Oct 2023 03:37:41 +0000 Subject: [PATCH 187/263] chore(deps): update altran1502/immich-machine-learning docker tag to v1.82.1 (#1410) --- apps/immich/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/immich/docker-compose.yml b/apps/immich/docker-compose.yml index 9399c577..6c5e3111 100644 --- a/apps/immich/docker-compose.yml +++ b/apps/immich/docker-compose.yml @@ -93,7 +93,7 @@ services: immich-machine-learning: container_name: immich-machine-learning - image: altran1502/immich-machine-learning:v1.81.1 + image: altran1502/immich-machine-learning:v1.82.1 volumes: - ${ROOT_FOLDER_HOST}/media/data/images/immich:/usr/src/app/upload - ${APP_DATA_DIR}/data/immich-ml-cache:/cache From 372ce9c385be9a7b3f6a3721e6b31b3690c31ac6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 21 Oct 2023 03:37:51 +0000 Subject: [PATCH 188/263] chore(deps): update altran1502/immich-proxy docker tag to v1.82.1 (#1411) --- apps/immich/config.json | 4 ++-- apps/immich/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/immich/config.json b/apps/immich/config.json index 515eaf2f..048738a2 100644 --- a/apps/immich/config.json +++ b/apps/immich/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 8128, "id": "immich", - "tipi_version": 48, - "version": "1.81.1", + "tipi_version": 49, + "version": "1.82.1", "categories": [ "data", "photography" diff --git a/apps/immich/docker-compose.yml b/apps/immich/docker-compose.yml index 6c5e3111..a8a1f73e 100644 --- a/apps/immich/docker-compose.yml +++ b/apps/immich/docker-compose.yml @@ -3,7 +3,7 @@ version: "3.7" services: immich: container_name: immich - image: altran1502/immich-proxy:v1.81.1 + image: altran1502/immich-proxy:v1.82.1 ports: - ${APP_PORT}:8080 depends_on: From daa5be5949180c4c14a2b9aa249d16637ae480d8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 21 Oct 2023 03:37:58 +0000 Subject: [PATCH 189/263] chore(deps): update altran1502/immich-server docker tag to v1.82.1 (#1412) --- apps/immich/docker-compose.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/immich/docker-compose.yml b/apps/immich/docker-compose.yml index a8a1f73e..b9886f32 100644 --- a/apps/immich/docker-compose.yml +++ b/apps/immich/docker-compose.yml @@ -43,7 +43,7 @@ services: immich-server: container_name: immich-server - image: altran1502/immich-server:v1.81.1 + image: altran1502/immich-server:v1.82.1 command: ["start-server.sh"] volumes: - ${ROOT_FOLDER_HOST}/media/data/images/immich:/usr/src/app/upload @@ -68,7 +68,7 @@ services: immich-microservices: container_name: immich-microservices - image: altran1502/immich-server:v1.81.1 + image: altran1502/immich-server:v1.82.1 command: ["start-microservices.sh"] volumes: - ${ROOT_FOLDER_HOST}/media/data/images/immich:/usr/src/app/upload From 57772f448f78e48812e76ebff7ccc2e96865aa41 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 21 Oct 2023 03:38:06 +0000 Subject: [PATCH 190/263] chore(deps): update altran1502/immich-web docker tag to v1.82.1 (#1413) --- apps/immich/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/immich/docker-compose.yml b/apps/immich/docker-compose.yml index b9886f32..dec4816f 100644 --- a/apps/immich/docker-compose.yml +++ b/apps/immich/docker-compose.yml @@ -114,7 +114,7 @@ services: immich-web: container_name: immich-web - image: altran1502/immich-web:v1.81.1 + image: altran1502/immich-web:v1.82.1 restart: unless-stopped networks: - tipi_main_network From 07e1aff6193fbb2fd2e1cf0002ebde65b313968e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 21 Oct 2023 04:28:50 +0000 Subject: [PATCH 191/263] chore(deps): update adguard/adguardhome docker tag to v0.107.40 (#1402) --- apps/adguard/config.json | 4 ++-- apps/adguard/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/adguard/config.json b/apps/adguard/config.json index 815ee0fb..9954d7c0 100644 --- a/apps/adguard/config.json +++ b/apps/adguard/config.json @@ -3,8 +3,8 @@ "name": "Adguard", "available": true, "exposable": true, - "tipi_version": 18, - "version": "0.107.39", + "tipi_version": 19, + "version": "0.107.40", "port": 8104, "id": "adguard", "categories": [ diff --git a/apps/adguard/docker-compose.yml b/apps/adguard/docker-compose.yml index 8acdf080..d7d66a0a 100644 --- a/apps/adguard/docker-compose.yml +++ b/apps/adguard/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.7" services: adguard: - image: adguard/adguardhome:v0.107.39 + image: adguard/adguardhome:v0.107.40 container_name: adguard volumes: - "${APP_DATA_DIR}/data/work:/opt/adguardhome/work" From ea165d81f30f612d9e4c923ec21ccec65d664f6b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 21 Oct 2023 04:31:10 +0000 Subject: [PATCH 192/263] chore(deps): update dullage/flatnotes docker tag to v3.3.1 (#1405) --- apps/flatnotes/config.json | 4 ++-- apps/flatnotes/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/flatnotes/config.json b/apps/flatnotes/config.json index b44490fb..19f76287 100644 --- a/apps/flatnotes/config.json +++ b/apps/flatnotes/config.json @@ -5,8 +5,8 @@ "exposable": true, "id": "flatnotes", "port": 8137, - "tipi_version": 13, - "version": "3.3.0", + "tipi_version": 14, + "version": "3.3.1", "categories": [ "utilities" ], diff --git a/apps/flatnotes/docker-compose.yml b/apps/flatnotes/docker-compose.yml index 63eba7d3..6b1de95a 100644 --- a/apps/flatnotes/docker-compose.yml +++ b/apps/flatnotes/docker-compose.yml @@ -3,7 +3,7 @@ version: "3" services: flatnotes: container_name: flatnotes - image: dullage/flatnotes:v3.3.0 + image: dullage/flatnotes:v3.3.1 environment: FLATNOTES_AUTH_TYPE: ${FLATNOTES_AUTH_TYPE} FLATNOTES_USERNAME: ${FLATNOTES_USERNAME} From 91cc6686adce0be71a6afdb609593c0e9ac33e50 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 21 Oct 2023 04:32:15 +0000 Subject: [PATCH 193/263] chore(deps): update budibase/budibase docker tag to v2.11.36 (#1404) --- apps/budibase/config.json | 4 ++-- apps/budibase/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/budibase/config.json b/apps/budibase/config.json index 2d93e418..830b5ecf 100644 --- a/apps/budibase/config.json +++ b/apps/budibase/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "budibase", - "tipi_version": 16, - "version": "2.11.31", + "tipi_version": 17, + "version": "2.11.36", "categories": [ "development" ], diff --git a/apps/budibase/docker-compose.yml b/apps/budibase/docker-compose.yml index 3496ddc4..950e43a2 100644 --- a/apps/budibase/docker-compose.yml +++ b/apps/budibase/docker-compose.yml @@ -1,7 +1,7 @@ version: '3.7' services: budibase: - image: budibase/budibase:2.11.31 + image: budibase/budibase:2.11.36 restart: unless-stopped container_name: budibase ports: From fef0ea7d7b1d7c6fdeed55f5d831c6e932f0dd99 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 21 Oct 2023 04:32:52 +0000 Subject: [PATCH 194/263] chore(deps): update kanboard/kanboard docker tag to v1.2.33 (#1406) --- apps/kanboard/config.json | 4 ++-- apps/kanboard/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/kanboard/config.json b/apps/kanboard/config.json index 3bf43187..22473439 100644 --- a/apps/kanboard/config.json +++ b/apps/kanboard/config.json @@ -5,8 +5,8 @@ "port": 8010, "id": "kanboard", "description": "Kanboard is a free and open source Kanban project management software.", - "tipi_version": 6, - "version": "1.2.32", + "tipi_version": 7, + "version": "1.2.33", "categories": [ "development" ], diff --git a/apps/kanboard/docker-compose.yml b/apps/kanboard/docker-compose.yml index 6e657c81..5e87365c 100644 --- a/apps/kanboard/docker-compose.yml +++ b/apps/kanboard/docker-compose.yml @@ -3,7 +3,7 @@ version: "3.9" services: kanboard: container_name: kanboard - image: kanboard/kanboard:v1.2.32 + image: kanboard/kanboard:v1.2.33 environment: - PLUGIN_INSTALLER=${PLUGIN_INSTALLER} ports: From 1a740ce346d94a52527027ebeef63783deabbb7c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 21 Oct 2023 04:33:02 +0000 Subject: [PATCH 195/263] chore(deps): update lscr.io/linuxserver/bazarr docker tag to v1.3.1 (#1407) --- apps/bazarr/config.json | 4 ++-- apps/bazarr/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/bazarr/config.json b/apps/bazarr/config.json index f4173688..a83d3e9f 100644 --- a/apps/bazarr/config.json +++ b/apps/bazarr/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 6767, "id": "bazarr", - "tipi_version": 10, - "version": "1.3.0", + "tipi_version": 11, + "version": "1.3.1", "categories": [ "media", "utilities" diff --git a/apps/bazarr/docker-compose.yml b/apps/bazarr/docker-compose.yml index 25721bf2..0d26dc13 100644 --- a/apps/bazarr/docker-compose.yml +++ b/apps/bazarr/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.7" services: bazarr: - image: lscr.io/linuxserver/bazarr:1.3.0 + image: lscr.io/linuxserver/bazarr:1.3.1 container_name: bazarr environment: - PUID=1000 From 1db83e292f145eeaab5dad5921e4ea711c14fa49 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 21 Oct 2023 04:33:28 +0000 Subject: [PATCH 196/263] chore(deps): update lscr.io/linuxserver/pairdrop docker tag to v1.9.1 (#1408) --- apps/pairdrop/config.json | 4 ++-- apps/pairdrop/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/pairdrop/config.json b/apps/pairdrop/config.json index 7c937b71..4fc47a59 100644 --- a/apps/pairdrop/config.json +++ b/apps/pairdrop/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "pairdrop", - "tipi_version": 15, - "version": "1.9.0", + "tipi_version": 16, + "version": "1.9.1", "categories": [ "media", "data", diff --git a/apps/pairdrop/docker-compose.yml b/apps/pairdrop/docker-compose.yml index 8929f4f3..b7ca576d 100644 --- a/apps/pairdrop/docker-compose.yml +++ b/apps/pairdrop/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: pairdrop: - image: lscr.io/linuxserver/pairdrop:1.9.0 + image: lscr.io/linuxserver/pairdrop:1.9.1 container_name: pairdrop environment: - PUID=1000 From 790c8630c86437acd39a518ab7abb3bc4dc80496 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 21 Oct 2023 04:33:48 +0000 Subject: [PATCH 197/263] chore(deps): update niruix/sshwifty docker tag to v0.3.2 (#1409) --- apps/sshwifty/config.json | 4 ++-- apps/sshwifty/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/sshwifty/config.json b/apps/sshwifty/config.json index ed16ac6c..d5490b09 100644 --- a/apps/sshwifty/config.json +++ b/apps/sshwifty/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "sshwifty", - "tipi_version": 5, - "version": "0.3.1-beta-release", + "tipi_version": 6, + "version": "0.3.2-beta-release", "categories": [ "development" ], diff --git a/apps/sshwifty/docker-compose.yml b/apps/sshwifty/docker-compose.yml index 700b9e52..4d724b6e 100644 --- a/apps/sshwifty/docker-compose.yml +++ b/apps/sshwifty/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.5" services: sshwifty: - image: niruix/sshwifty:0.3.1-beta-release + image: niruix/sshwifty:0.3.2-beta-release restart: unless-stopped container_name: sshwifty privileged: true From aba00ce0c8f4971fd1f750f7247f2ae427d47947 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 21 Oct 2023 04:34:15 +0000 Subject: [PATCH 198/263] chore(deps): update ghcr.io/ignisda/ryot docker tag to v2.24.1 (#1414) --- apps/ryot/config.json | 4 ++-- apps/ryot/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/ryot/config.json b/apps/ryot/config.json index 04f02d36..0dfc77db 100644 --- a/apps/ryot/config.json +++ b/apps/ryot/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "ryot", - "tipi_version": 23, - "version": "2.21.2", + "tipi_version": 24, + "version": "2.24.1", "categories": [ "media" ], diff --git a/apps/ryot/docker-compose.yml b/apps/ryot/docker-compose.yml index 3986bdee..e4fe2f07 100644 --- a/apps/ryot/docker-compose.yml +++ b/apps/ryot/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: ryot: - image: ghcr.io/ignisda/ryot:v2.21.2 + image: ghcr.io/ignisda/ryot:v2.24.1 container_name: ryot environment: - DATABASE_URL=postgres://tipi:${RYOT_DB_PASSWORD}@ryot-db:5432/ryot From bf949b89108db4cb7fe5d0652b996edba239f128 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 21 Oct 2023 04:36:41 +0000 Subject: [PATCH 199/263] chore(deps): update pihole/pihole docker tag to v2023.10.0 (#1418) --- apps/pihole/config.json | 4 ++-- apps/pihole/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/pihole/config.json b/apps/pihole/config.json index a7491b2d..249f69d4 100644 --- a/apps/pihole/config.json +++ b/apps/pihole/config.json @@ -10,8 +10,8 @@ ] }, "id": "pihole", - "tipi_version": 9, - "version": "2023.05.2", + "tipi_version": 10, + "version": "2023.10.0", "url_suffix": "/admin", "categories": [ "network", diff --git a/apps/pihole/docker-compose.yml b/apps/pihole/docker-compose.yml index d649eb55..6f7e7767 100644 --- a/apps/pihole/docker-compose.yml +++ b/apps/pihole/docker-compose.yml @@ -3,7 +3,7 @@ version: "3.7" services: pihole: container_name: pihole - image: pihole/pihole:2023.05.2 + image: pihole/pihole:2023.10.0 restart: unless-stopped hostname: pihole dns: From 1afdeeda2e80a92b5fe1cd431637312e35bf2eae Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 21 Oct 2023 04:37:03 +0000 Subject: [PATCH 200/263] chore(deps): update netdata/netdata docker tag to v1.43.0 (#1417) --- apps/netdata/config.json | 32 +++++++++++++++++--------------- apps/netdata/docker-compose.yml | 2 +- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/apps/netdata/config.json b/apps/netdata/config.json index 7a6dedb6..180289d2 100644 --- a/apps/netdata/config.json +++ b/apps/netdata/config.json @@ -1,16 +1,18 @@ { - "name": "Netdata", - "available": true, - "port": 19999, - "exposable": true, - "id": "netdata", - "description": "Stream any metrics from every physical and virtual server, container and IoT device, to one dashboard, in real-time.", - "tipi_version": 1, - "version": "v1.42.4", - "categories": ["utilities"], - "short_desc": "Open-source, real-time, performance and health monitoring.", - "author": "netdata", - "source": "https://github.com/netdata/netdata", - "website": "https://www.netdata.cloud/", - "form_fields": [] - } \ No newline at end of file + "name": "Netdata", + "available": true, + "port": 19999, + "exposable": true, + "id": "netdata", + "description": "Stream any metrics from every physical and virtual server, container and IoT device, to one dashboard, in real-time.", + "tipi_version": 2, + "version": "1.43.0", + "categories": [ + "utilities" + ], + "short_desc": "Open-source, real-time, performance and health monitoring.", + "author": "netdata", + "source": "https://github.com/netdata/netdata", + "website": "https://www.netdata.cloud/", + "form_fields": [] +} diff --git a/apps/netdata/docker-compose.yml b/apps/netdata/docker-compose.yml index 32f01ca7..c0ea0e63 100644 --- a/apps/netdata/docker-compose.yml +++ b/apps/netdata/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.7" services: netdata: - image: netdata/netdata:v1.42.4 + image: netdata/netdata:v1.43.0 container_name: netdata pid: host restart: unless-stopped From 01f019aa20ea697cc92e4ddfc73692987d892e67 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 21 Oct 2023 04:38:05 +0000 Subject: [PATCH 201/263] chore(deps): update ghcr.io/plankanban/planka docker tag to v1.13.1 (#1415) --- apps/planka/config.json | 8 +++++--- apps/planka/docker-compose.yml | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/apps/planka/config.json b/apps/planka/config.json index 32b0d469..cd80c65e 100644 --- a/apps/planka/config.json +++ b/apps/planka/config.json @@ -5,9 +5,11 @@ "available": true, "exposable": true, "id": "planka", - "tipi_version": 2, - "version": "1.12.0", - "categories": ["development"], + "tipi_version": 3, + "version": "1.13.1", + "categories": [ + "development" + ], "description": "The realtime kanban board for workgroups built with React and Redux.", "short_desc": "Free open source kanban board for workgroups.", "author": "Planka", diff --git a/apps/planka/docker-compose.yml b/apps/planka/docker-compose.yml index cfcf4bd0..c0d436a8 100644 --- a/apps/planka/docker-compose.yml +++ b/apps/planka/docker-compose.yml @@ -2,7 +2,7 @@ version: '3' services: planka: - image: ghcr.io/plankanban/planka:1.12.0 + image: ghcr.io/plankanban/planka:1.13.1 container_name: planka command: > bash -c From ef43b46eaca0ca52173a1a7c9310d3c192a3b2d7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 21 Oct 2023 04:39:13 +0000 Subject: [PATCH 202/263] chore(deps): update ghostfolio/ghostfolio docker tag to v2.12.0 (#1416) --- apps/ghostfolio/config.json | 4 ++-- apps/ghostfolio/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/ghostfolio/config.json b/apps/ghostfolio/config.json index fae7a17e..0e5825ab 100644 --- a/apps/ghostfolio/config.json +++ b/apps/ghostfolio/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "ghostfolio", - "tipi_version": 9, - "version": "2.10.0", + "tipi_version": 10, + "version": "2.12.0", "categories": [ "finance" ], diff --git a/apps/ghostfolio/docker-compose.yml b/apps/ghostfolio/docker-compose.yml index 1760e8aa..274fc522 100644 --- a/apps/ghostfolio/docker-compose.yml +++ b/apps/ghostfolio/docker-compose.yml @@ -3,7 +3,7 @@ version: "3.9" services: ghostfolio: container_name: ghostfolio - image: ghostfolio/ghostfolio:2.10.0 + image: ghostfolio/ghostfolio:2.12.0 restart: unless-stopped ports: - ${APP_PORT}:3333 From d92f6060ae76ba069702e12bc0cfa6bf9b5d6db9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 21 Oct 2023 04:41:47 +0000 Subject: [PATCH 203/263] chore(deps): update tooljet/tooljet-server-ce docker tag to v2.22.0 (#1419) --- apps/tooljet/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/tooljet/docker-compose.yml b/apps/tooljet/docker-compose.yml index a8a6fa11..2f18d640 100644 --- a/apps/tooljet/docker-compose.yml +++ b/apps/tooljet/docker-compose.yml @@ -44,7 +44,7 @@ services: tooljet-server: container_name: tooljet-server - image: tooljet/tooljet-server-ce:v2.20.1 + image: tooljet/tooljet-server-ce:v2.22.0 tty: true stdin_open: true restart: always From fcc6b0196d7b062732e39e7141acc35a611ec785 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 21 Oct 2023 04:42:35 +0000 Subject: [PATCH 204/263] chore(deps): update budibase/budibase docker tag to v2.11.41 (#1426) --- apps/budibase/config.json | 4 ++-- apps/budibase/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/budibase/config.json b/apps/budibase/config.json index 830b5ecf..d62d4c75 100644 --- a/apps/budibase/config.json +++ b/apps/budibase/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "budibase", - "tipi_version": 17, - "version": "2.11.36", + "tipi_version": 18, + "version": "2.11.41", "categories": [ "development" ], diff --git a/apps/budibase/docker-compose.yml b/apps/budibase/docker-compose.yml index 950e43a2..a5b0d210 100644 --- a/apps/budibase/docker-compose.yml +++ b/apps/budibase/docker-compose.yml @@ -1,7 +1,7 @@ version: '3.7' services: budibase: - image: budibase/budibase:2.11.36 + image: budibase/budibase:2.11.41 restart: unless-stopped container_name: budibase ports: From 260ee0ad845850a6aa6f69de78ff03be24796500 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 21 Oct 2023 04:50:10 +0000 Subject: [PATCH 205/263] chore(deps): update 1dev/server docker tag to v9.2.2 (#1425) --- apps/onedev/config.json | 4 ++-- apps/onedev/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/onedev/config.json b/apps/onedev/config.json index e1fc2ff7..ed6f755f 100644 --- a/apps/onedev/config.json +++ b/apps/onedev/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "onedev", - "tipi_version": 54, - "version": "9.2.1", + "tipi_version": 55, + "version": "9.2.2", "categories": [ "development" ], diff --git a/apps/onedev/docker-compose.yml b/apps/onedev/docker-compose.yml index 973ece13..26d96eaa 100644 --- a/apps/onedev/docker-compose.yml +++ b/apps/onedev/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: onedev: - image: 1dev/server:9.2.1 + image: 1dev/server:9.2.2 container_name: onedev environment: - hibernate_dialect=io.onedev.server.persistence.PostgreSQLDialect From 040043752c04e0d15b16ea8c53acfaaf33af093a Mon Sep 17 00:00:00 2001 From: DireMunchkin <1665676+DireMunchkin@users.noreply.github.com> Date: Sat, 21 Oct 2023 04:51:29 +0000 Subject: [PATCH 206/263] Switch to new Kavita image (#1424) --- apps/kavita/config.json | 4 ++-- apps/kavita/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/kavita/config.json b/apps/kavita/config.json index fa575988..7c65999b 100644 --- a/apps/kavita/config.json +++ b/apps/kavita/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "kavita", - "tipi_version": 6, - "version": "0.7.8", + "tipi_version": 7, + "version": "0.7.9", "categories": [ "media" ], diff --git a/apps/kavita/docker-compose.yml b/apps/kavita/docker-compose.yml index 3af44ec3..802968c9 100644 --- a/apps/kavita/docker-compose.yml +++ b/apps/kavita/docker-compose.yml @@ -3,7 +3,7 @@ version: "3.9" services: kavita: container_name: kavita - image: kizaing/kavita:0.7.8 + image: jvmilazz0/kavita:0.7.9 ports: - ${APP_PORT}:5000 volumes: From 80d9dc0b94fdae124d4444df4a46877d5a48b398 Mon Sep 17 00:00:00 2001 From: jacobthetechy Date: Sat, 21 Oct 2023 14:44:13 -0400 Subject: [PATCH 207/263] Making settings dynamic (#1433) --- .../gitea/gitea/conf/{app.ini => app.ini.template} | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) rename apps/gitea/data/gitea/gitea/conf/{app.ini => app.ini.template} (92%) diff --git a/apps/gitea/data/gitea/gitea/conf/app.ini b/apps/gitea/data/gitea/gitea/conf/app.ini.template similarity index 92% rename from apps/gitea/data/gitea/gitea/conf/app.ini rename to apps/gitea/data/gitea/gitea/conf/app.ini.template index 9d9e57bd..e06035f6 100644 --- a/apps/gitea/data/gitea/gitea/conf/app.ini +++ b/apps/gitea/data/gitea/gitea/conf/app.ini.template @@ -16,13 +16,13 @@ PATH=/data/git/lfs [server] APP_DATA_PATH = /data/gitea -DOMAIN = localhost -SSH_DOMAIN = localhost +DOMAIN = {{APP_HOST}} +SSH_DOMAIN = {{APP_HOST}} HTTP_PORT = 3000 -ROOT_URL = http://localhost:8108/ +ROOT_URL = https://{{APP_DOMAIN}}/ DISABLE_SSH = false -SSH_PORT = 22 -SSH_LISTEN_PORT = 22 +SSH_PORT = 222 +SSH_LISTEN_PORT = 222 LFS_START_SERVER = true LFS_JWT_SECRET = wo2G20l0nGsspUp8xsLNSNF7H8U-GQUVth5gj_q5cDk OFFLINE_MODE = false From df76730d24a66720c1be193f80b4f3ec1b59bbe8 Mon Sep 17 00:00:00 2001 From: JigSawFr Date: Sun, 22 Oct 2023 22:22:42 +0200 Subject: [PATCH 208/263] feat(app): add recyclarr --- apps/recyclarr/config.json | 22 ++++++++++++ apps/recyclarr/docker-compose.yml | 16 +++++++++ apps/recyclarr/metadata/description.md | 47 +++++++++++++++++++++++++ apps/recyclarr/metadata/logo.jpg | Bin 0 -> 4979 bytes 4 files changed, 85 insertions(+) create mode 100644 apps/recyclarr/config.json create mode 100644 apps/recyclarr/docker-compose.yml create mode 100644 apps/recyclarr/metadata/description.md create mode 100644 apps/recyclarr/metadata/logo.jpg diff --git a/apps/recyclarr/config.json b/apps/recyclarr/config.json new file mode 100644 index 00000000..ba2797ec --- /dev/null +++ b/apps/recyclarr/config.json @@ -0,0 +1,22 @@ +{ + "$schema": "../schema.json", + "name": "Recyclarr", + "port": 1111, + "available": true, + "exposable": false, + "no_gui": true, + "uid": 1000, + "gid": 1000, + "id": "recyclarr", + "tipi_version": 10, + "version": "6.0.2", + "categories": [ + "media", + "utilities" + ], + "description": "Automatically sync TRaSH Guides to your Sonarr and Radarr instances", + "short_desc": "Sync TRaSH Guides.", + "author": "rcdailey", + "source": "https://github.com/recyclarr/recyclarr", + "website": "https://recyclarr.dev" +} diff --git a/apps/recyclarr/docker-compose.yml b/apps/recyclarr/docker-compose.yml new file mode 100644 index 00000000..6829dd6e --- /dev/null +++ b/apps/recyclarr/docker-compose.yml @@ -0,0 +1,16 @@ +services: + recyclarr: + user: ${TIPI_UID}:${TIPI_GID} + container_name: recyclarr + image: ghcr.io/recyclarr/recyclarr:6.0.2 + restart: unless-stopped + volumes: + - ${APP_DATA_DIR}/data/config:/config + environment: + - RECYCLARR_CREATE_CONFIG=${RECYCLARR_CREATE_CONFIG-true} + - TZ=${TZ} + networks: + - tipi_main_network + labels: + # Main + traefik.enable: false \ No newline at end of file diff --git a/apps/recyclarr/metadata/description.md b/apps/recyclarr/metadata/description.md new file mode 100644 index 00000000..d16ddfed --- /dev/null +++ b/apps/recyclarr/metadata/description.md @@ -0,0 +1,47 @@ +# TRaSH Guide Updater + +Automatically mirror TRaSH guides to your Sonarr/Radarr instance. + +## Sonarr Features + +### Release Profiles + +- "Preferred", "Must Not Contain", and "Must Contain" terms from guides are reflected in + corresponding release profile fields in Sonarr. +- "Include Preferred when Renaming" is properly checked/unchecked depending on explicit mention of + this in the guides. +- Profiles get created if they do not exist, or updated if they already exist. Profiles get a unique + name based on the guide and this name is used to find them in subsequent runs. +- Tags can be added to any updated or created profiles. +- Ability to convert preferred with negative scores to "Must not contain" terms. +- Terms mentioned as "optional" in the guide are not synced to Sonarr release profiles by default + (can be enabled via config). + +### Quality Definitions + +- Anime and Series (Non-Anime) quality definitions from the guide. +- "Hybrid" type supported that is a mixture of both. + +## Radarr Features + +### Quality Definitions + +- Movie quality definition from the guide + +### Custom Formats + +- A user-specified list of custom formats are synchronized to Radarr from the TRaSH guides. +- Scores from the guides can be synchronized to quality profiles of your choosing. +- User can specify their own scores for custom formats (instead of using the guide score). +- Option to enable automatic deletion custom formats in Radarr when they are removed from config or + the guide. + +--- + +*Important Notices!* + +- > **Note**: For Sonarr updates to work, you must be running version `3.0.4.1098` or greater. + +- > **Note**: Do not run Notifiarr's Trash Guides Integration in conjunction with Trash Updater's + > Custom Format synchronization. In general, you should not have two different tools updating the + > same data in Radarr. \ No newline at end of file diff --git a/apps/recyclarr/metadata/logo.jpg b/apps/recyclarr/metadata/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..510354a9098199f2ef21a72cacf615138cb618df GIT binary patch literal 4979 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 K?^i*Q5&s2M5@kaG literal 0 HcmV?d00001 From 64207ad398a82700e20c398b35867e5090e33925 Mon Sep 17 00:00:00 2001 From: JigSawFr Date: Sun, 22 Oct 2023 22:26:34 +0200 Subject: [PATCH 209/263] fix(recyclarr): add missing empty form fields --- apps/recyclarr/config.json | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/apps/recyclarr/config.json b/apps/recyclarr/config.json index ba2797ec..55121900 100644 --- a/apps/recyclarr/config.json +++ b/apps/recyclarr/config.json @@ -8,7 +8,7 @@ "uid": 1000, "gid": 1000, "id": "recyclarr", - "tipi_version": 10, + "tipi_version": 11, "version": "6.0.2", "categories": [ "media", @@ -18,5 +18,7 @@ "short_desc": "Sync TRaSH Guides.", "author": "rcdailey", "source": "https://github.com/recyclarr/recyclarr", - "website": "https://recyclarr.dev" + "website": "https://recyclarr.dev", + "form_fields": [ + ] } From 4d8835ace58c059a258de4981d90ba2024c121d1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 23 Oct 2023 05:53:55 +0000 Subject: [PATCH 210/263] chore(deps): update gristlabs/grist docker tag to v1.1.6 (#1432) --- apps/grist/config.json | 4 ++-- apps/grist/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/grist/config.json b/apps/grist/config.json index 3d09fc36..b7ca8a95 100644 --- a/apps/grist/config.json +++ b/apps/grist/config.json @@ -5,8 +5,8 @@ "exposable": true, "id": "grist", "description": "Grist is a modern relational spreadsheet. It combines the flexibility of a spreadsheet with the robustness of a database to organize your data and make you more productive.", - "tipi_version": 4, - "version": "1.1.5", + "tipi_version": 5, + "version": "1.1.6", "categories": [ "utilities" ], diff --git a/apps/grist/docker-compose.yml b/apps/grist/docker-compose.yml index 9e815270..46371cc8 100644 --- a/apps/grist/docker-compose.yml +++ b/apps/grist/docker-compose.yml @@ -6,7 +6,7 @@ services: environment: - APP_HOME_URL=${APP_PROTOCOL:-http}://${APP_DOMAIN} - GRIST_SANDBOX_FLAVOR=${GRIST_SANDBOX_FLAVOR} - image: "gristlabs/grist:1.1.5" + image: "gristlabs/grist:1.1.6" ports: - "${APP_PORT}:8484" restart: always From 046899685709f912f2239458bf97ced08fe2aea1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 23 Oct 2023 05:54:30 +0000 Subject: [PATCH 211/263] chore(deps): update florider89/joplin-server docker tag to v2.13.2 (#1427) --- apps/joplin/config.json | 4 ++-- apps/joplin/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/joplin/config.json b/apps/joplin/config.json index a27ef055..5776f342 100644 --- a/apps/joplin/config.json +++ b/apps/joplin/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 8099, "id": "joplin", - "tipi_version": 9, - "version": "2.13.1", + "tipi_version": 10, + "version": "2.13.2", "categories": [ "utilities" ], diff --git a/apps/joplin/docker-compose.yml b/apps/joplin/docker-compose.yml index a56a3cc5..ed17f10b 100644 --- a/apps/joplin/docker-compose.yml +++ b/apps/joplin/docker-compose.yml @@ -3,7 +3,7 @@ version: "3.7" services: joplin: container_name: joplin - image: florider89/joplin-server:2.13.1 + image: florider89/joplin-server:2.13.2 restart: unless-stopped depends_on: - db-joplin From 084a80abc141b3e63e3dfa20a473ed456b33ff10 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 23 Oct 2023 05:54:47 +0000 Subject: [PATCH 212/263] chore(deps): update ghcr.io/zadam/trilium docker tag to v0.61.10 (#1431) --- apps/trilium/config.json | 4 ++-- apps/trilium/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/trilium/config.json b/apps/trilium/config.json index 2c43eedc..55cd2d70 100644 --- a/apps/trilium/config.json +++ b/apps/trilium/config.json @@ -5,8 +5,8 @@ "exposable": true, "id": "trilium", "description": "Trilium Notes is a hierarchical note taking application with focus on building large personal knowledge bases. ", - "tipi_version": 5, - "version": "0.61.9-beta", + "tipi_version": 6, + "version": "0.61.10-beta", "categories": [ "utilities" ], diff --git a/apps/trilium/docker-compose.yml b/apps/trilium/docker-compose.yml index c14c1a21..8403a49b 100644 --- a/apps/trilium/docker-compose.yml +++ b/apps/trilium/docker-compose.yml @@ -2,7 +2,7 @@ version: '3.7' services: trilium: - image: ghcr.io/zadam/trilium:0.61.9-beta + image: ghcr.io/zadam/trilium:0.61.10-beta container_name: trilium ports: - ${APP_PORT}:8080 From 7fe21148bcbc718a7426c2dfafde352442820508 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 23 Oct 2023 05:55:24 +0000 Subject: [PATCH 213/263] chore(deps): update 1dev/server docker tag to v9.2.3 (#1429) --- apps/onedev/config.json | 4 ++-- apps/onedev/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/onedev/config.json b/apps/onedev/config.json index ed6f755f..fcdbf9ed 100644 --- a/apps/onedev/config.json +++ b/apps/onedev/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "onedev", - "tipi_version": 55, - "version": "9.2.2", + "tipi_version": 56, + "version": "9.2.3", "categories": [ "development" ], diff --git a/apps/onedev/docker-compose.yml b/apps/onedev/docker-compose.yml index 26d96eaa..35ad104c 100644 --- a/apps/onedev/docker-compose.yml +++ b/apps/onedev/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: onedev: - image: 1dev/server:9.2.2 + image: 1dev/server:9.2.3 container_name: onedev environment: - hibernate_dialect=io.onedev.server.persistence.PostgreSQLDialect From 0957b178687a53afa5d2afaa32bcbea87f9e6620 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 23 Oct 2023 05:55:55 +0000 Subject: [PATCH 214/263] chore(deps): update lscr.io/linuxserver/calibre-web docker tag to v0.6.21 (#1437) --- apps/calibre-web/config.json | 8 +++++--- apps/calibre-web/docker-compose.yml | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/apps/calibre-web/config.json b/apps/calibre-web/config.json index 666f7097..8721fd6b 100644 --- a/apps/calibre-web/config.json +++ b/apps/calibre-web/config.json @@ -4,10 +4,12 @@ "available": true, "exposable": true, "port": 8100, - "tipi_version": 6, - "version": "0.6.20", + "tipi_version": 7, + "version": "0.6.21", "id": "calibre-web", - "categories": ["books"], + "categories": [ + "books" + ], "description": "On the initial setup screen, enter /books as your calibre library location. \n Default admin login: Username: admin Password: admin123", "short_desc": "Calibre-web is a web app providing a clean interface for browsing, reading and downloading eBooks using an existing Calibre database.", "author": "https://github.com/janeczku/", diff --git a/apps/calibre-web/docker-compose.yml b/apps/calibre-web/docker-compose.yml index 6dfcd801..4bcb89a7 100644 --- a/apps/calibre-web/docker-compose.yml +++ b/apps/calibre-web/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.7" services: calibre-web: - image: lscr.io/linuxserver/calibre-web:0.6.20 + image: lscr.io/linuxserver/calibre-web:0.6.21 container_name: calibre-web environment: - PUID=1000 From 0a566f277b01a521202644406ef08c20a8aa6464 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 23 Oct 2023 06:08:36 +0000 Subject: [PATCH 215/263] chore(deps): update lscr.io/linuxserver/pairdrop docker tag to v1.9.3 (#1438) --- apps/pairdrop/config.json | 4 ++-- apps/pairdrop/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/pairdrop/config.json b/apps/pairdrop/config.json index 4fc47a59..b5fbf9a5 100644 --- a/apps/pairdrop/config.json +++ b/apps/pairdrop/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "pairdrop", - "tipi_version": 16, - "version": "1.9.1", + "tipi_version": 17, + "version": "1.9.3", "categories": [ "media", "data", diff --git a/apps/pairdrop/docker-compose.yml b/apps/pairdrop/docker-compose.yml index b7ca576d..3f8c9eb9 100644 --- a/apps/pairdrop/docker-compose.yml +++ b/apps/pairdrop/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: pairdrop: - image: lscr.io/linuxserver/pairdrop:1.9.1 + image: lscr.io/linuxserver/pairdrop:1.9.3 container_name: pairdrop environment: - PUID=1000 From 6e4eccdc7d5c511d7b64849c0b6757b2ba19ccf5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 23 Oct 2023 06:09:20 +0000 Subject: [PATCH 216/263] chore(deps): update neosmemo/memos docker tag to v0.16.1 (#1439) --- apps/memos/config.json | 4 ++-- apps/memos/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/memos/config.json b/apps/memos/config.json index ced9ef55..b59e5930 100644 --- a/apps/memos/config.json +++ b/apps/memos/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 5230, "id": "memos", - "tipi_version": 17, - "version": "0.16.0", + "tipi_version": 18, + "version": "0.16.1", "categories": [ "utilities" ], diff --git a/apps/memos/docker-compose.yml b/apps/memos/docker-compose.yml index ea5b691f..e45c6b9d 100644 --- a/apps/memos/docker-compose.yml +++ b/apps/memos/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.7" services: memos: - image: neosmemo/memos:0.16.0 + image: neosmemo/memos:0.16.1 container_name: memos volumes: - ${APP_DATA_DIR}/memos:/var/opt/memos From 655e267235b687ef7ce457b39dcaa94c5e22f676 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 23 Oct 2023 06:09:52 +0000 Subject: [PATCH 217/263] chore(deps): update nocodb/nocodb docker tag to v0.202.5 (#1440) --- apps/nocodb/config.json | 4 ++-- apps/nocodb/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/nocodb/config.json b/apps/nocodb/config.json index 95f31b4b..090fdb9e 100644 --- a/apps/nocodb/config.json +++ b/apps/nocodb/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "nocodb", - "tipi_version": 24, - "version": "0.202.4", + "tipi_version": 25, + "version": "0.202.5", "categories": [ "utilities" ], diff --git a/apps/nocodb/docker-compose.yml b/apps/nocodb/docker-compose.yml index 14d105f8..155aaa92 100644 --- a/apps/nocodb/docker-compose.yml +++ b/apps/nocodb/docker-compose.yml @@ -11,7 +11,7 @@ services: - NC_PUBLIC_URL=${APP_PROTOCOL:-http}://${APP_DOMAIN} - NC_AUTH_JWT_SECRET=${NOCODB_JWT_SECRET} - NC_REDIS_URL=redis://default:${NOCODB_REDIS_PASSWORD}@nocodb-redis:6379 - image: "nocodb/nocodb:0.202.4" + image: "nocodb/nocodb:0.202.5" ports: - "${APP_PORT}:8080" restart: always From 9639f23c6abfcd407c05de631a0fcedcb5969c8b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 23 Oct 2023 06:56:14 +0000 Subject: [PATCH 218/263] chore(deps): update ghcr.io/ignisda/ryot docker tag to v2.24.2 (#1428) --- apps/ryot/config.json | 4 ++-- apps/ryot/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/ryot/config.json b/apps/ryot/config.json index 0dfc77db..78373844 100644 --- a/apps/ryot/config.json +++ b/apps/ryot/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "ryot", - "tipi_version": 24, - "version": "2.24.1", + "tipi_version": 25, + "version": "2.24.2", "categories": [ "media" ], diff --git a/apps/ryot/docker-compose.yml b/apps/ryot/docker-compose.yml index e4fe2f07..8d3fb855 100644 --- a/apps/ryot/docker-compose.yml +++ b/apps/ryot/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: ryot: - image: ghcr.io/ignisda/ryot:v2.24.1 + image: ghcr.io/ignisda/ryot:v2.24.2 container_name: ryot environment: - DATABASE_URL=postgres://tipi:${RYOT_DB_PASSWORD}@ryot-db:5432/ryot From 767e7c46daa0803f7962521c166b9cf28c238e5e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 23 Oct 2023 06:57:41 +0000 Subject: [PATCH 219/263] chore(deps): update ghcr.io/linkwarden/linkwarden docker tag to v1.2.5 (#1430) --- apps/linkwarden/config.json | 8 +++++--- apps/linkwarden/docker-compose.yml | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/apps/linkwarden/config.json b/apps/linkwarden/config.json index 78fa19c6..5eca5029 100644 --- a/apps/linkwarden/config.json +++ b/apps/linkwarden/config.json @@ -5,9 +5,11 @@ "available": true, "exposable": true, "id": "linkwarden", - "tipi_version": 2, - "version": "v1.2.0", - "categories": ["data"], + "tipi_version": 3, + "version": "1.2.5", + "categories": [ + "data" + ], "description": "A self-hosted, open-source collaborative bookmark manager to collect, organize and archive webpages.", "short_desc": "A self-hosted, open-source collaborative bookmark manager", "author": "Linkwarden", diff --git a/apps/linkwarden/docker-compose.yml b/apps/linkwarden/docker-compose.yml index 803da4f8..948071cd 100644 --- a/apps/linkwarden/docker-compose.yml +++ b/apps/linkwarden/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: linkwarden: - image: ghcr.io/linkwarden/linkwarden:v1.2.0 + image: ghcr.io/linkwarden/linkwarden:v1.2.5 container_name: linkwarden environment: - DATABASE_URL=postgresql://tipi:${LINKWARDEN_DB_PASSWORD}@linkwarden-db:5432/linkwarden From 7ddb40b319ea710d2d7f2cdc3e3d2881497be859 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 23 Oct 2023 09:55:50 +0000 Subject: [PATCH 220/263] chore(deps): update yooooomi/your_spotify_client docker tag to v1.7.1 (#1442) --- apps/your-spotify/config.json | 4 ++-- apps/your-spotify/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/your-spotify/config.json b/apps/your-spotify/config.json index 8de186a4..aac22317 100644 --- a/apps/your-spotify/config.json +++ b/apps/your-spotify/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 8103, "id": "your-spotify", - "tipi_version": 5, - "version": "1.7.0", + "tipi_version": 6, + "version": "1.7.1", "categories": [ "music", "utilities" diff --git a/apps/your-spotify/docker-compose.yml b/apps/your-spotify/docker-compose.yml index baa792c9..41935ca3 100644 --- a/apps/your-spotify/docker-compose.yml +++ b/apps/your-spotify/docker-compose.yml @@ -3,7 +3,7 @@ version: "3" services: your-spotify: container_name: your-spotify - image: yooooomi/your_spotify_client:1.7.0 + image: yooooomi/your_spotify_client:1.7.1 depends_on: - your-spotify-server restart: unless-stopped From 3e82abba5d20b1cc3fb6d4c4710f3c0555ec5683 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 23 Oct 2023 09:55:59 +0000 Subject: [PATCH 221/263] chore(deps): update shaneisrael/fireshare docker tag to v1.2.14 (#1441) --- apps/fireshare/config.json | 4 ++-- apps/fireshare/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/fireshare/config.json b/apps/fireshare/config.json index 72db45d1..a7f9f319 100644 --- a/apps/fireshare/config.json +++ b/apps/fireshare/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "fireshare", - "tipi_version": 6, - "version": "1.2.13", + "tipi_version": 7, + "version": "1.2.14", "categories": [ "development" ], diff --git a/apps/fireshare/docker-compose.yml b/apps/fireshare/docker-compose.yml index 83246b3d..1d7f75b9 100644 --- a/apps/fireshare/docker-compose.yml +++ b/apps/fireshare/docker-compose.yml @@ -3,7 +3,7 @@ version: "3" services: fireshare: container_name: fireshare - image: shaneisrael/fireshare:v1.2.13 + image: shaneisrael/fireshare:v1.2.14 ports: - ${APP_PORT}:80 volumes: From 832b989cdbf792e708ed7dfb05bcb93a75038cb4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 23 Oct 2023 17:57:08 +0000 Subject: [PATCH 222/263] chore(deps): update ghost docker tag to v5.70.1 (#1446) --- apps/ghost/config.json | 4 ++-- apps/ghost/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/ghost/config.json b/apps/ghost/config.json index fc5a842e..0a505aa7 100644 --- a/apps/ghost/config.json +++ b/apps/ghost/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "ghost", - "tipi_version": 54, - "version": "5.69.3", + "tipi_version": 55, + "version": "5.70.1", "categories": [ "social", "media" diff --git a/apps/ghost/docker-compose.yml b/apps/ghost/docker-compose.yml index 01093e2a..60e6886f 100644 --- a/apps/ghost/docker-compose.yml +++ b/apps/ghost/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.9" services: ghost: - image: ghost:5.69.3 + image: ghost:5.70.1 container_name: ghost depends_on: - ghostdb From 62f7e50853a1a3731ac6070d139fc316577f2399 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 23 Oct 2023 17:57:20 +0000 Subject: [PATCH 223/263] chore(deps): update ghcr.io/plankanban/planka docker tag to v1.14.2 (#1445) --- apps/planka/config.json | 4 ++-- apps/planka/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/planka/config.json b/apps/planka/config.json index cd80c65e..27f2e308 100644 --- a/apps/planka/config.json +++ b/apps/planka/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "planka", - "tipi_version": 3, - "version": "1.13.1", + "tipi_version": 4, + "version": "1.14.2", "categories": [ "development" ], diff --git a/apps/planka/docker-compose.yml b/apps/planka/docker-compose.yml index c0d436a8..477fa6eb 100644 --- a/apps/planka/docker-compose.yml +++ b/apps/planka/docker-compose.yml @@ -2,7 +2,7 @@ version: '3' services: planka: - image: ghcr.io/plankanban/planka:1.13.1 + image: ghcr.io/plankanban/planka:1.14.2 container_name: planka command: > bash -c From 8d273c204465b7af0b47938172f25b72c8ea858a Mon Sep 17 00:00:00 2001 From: Stavros Date: Mon, 23 Oct 2023 21:10:42 +0300 Subject: [PATCH 224/263] Add kasm-workspaces. (#1447) * Add kasm-workspaces. * Fix documentation. --- README.md | 1 + apps/kasm-workspaces/config.json | 17 ++++++++ apps/kasm-workspaces/docker-compose.yml | 41 +++++++++++++++++++ apps/kasm-workspaces/metadata/description.md | 8 ++++ apps/kasm-workspaces/metadata/logo.jpg | Bin 0 -> 15563 bytes 5 files changed, 67 insertions(+) create mode 100644 apps/kasm-workspaces/config.json create mode 100644 apps/kasm-workspaces/docker-compose.yml create mode 100644 apps/kasm-workspaces/metadata/description.md create mode 100644 apps/kasm-workspaces/metadata/logo.jpg diff --git a/README.md b/README.md index 5cf68b35..e5d376cc 100644 --- a/README.md +++ b/README.md @@ -67,6 +67,7 @@ This is the official repository for the Tipi App Store. It contains all the apps - [Joplin](https://github.com/laurent22/joplin) - Privacy focused note-taking app - [Kanboard](https://github.com/kanboard/kanboard) - Kanboard is a free and open source Kanban project management software. - [Kapowarr](https://github.com/Casvt/Kapowarr) - Kapowarr is a software to build and manage a comic book library, fitting in the \*arr suite of software. +- [Kasm Workspaces](https://github.com/kasmtech) - Kasm Workspaces is a docker container streaming platform for delivering browser-based access to desktops, applications, and web services - [Kavita](https://github.com/Kareadita/Kavita) - Kavita is a fast, feature rich, cross platform reading server - [Libreddit](https://github.com/spikecodes/libreddit) - Private front-end for Reddit - [LibrePhotos](https://github.com/LibrePhotos/librephotos) - Complete photo management service diff --git a/apps/kasm-workspaces/config.json b/apps/kasm-workspaces/config.json new file mode 100644 index 00000000..cfa0546f --- /dev/null +++ b/apps/kasm-workspaces/config.json @@ -0,0 +1,17 @@ +{ + "name": "Kasm Workspaces", + "available": true, + "port": 8744, + "exposable": true, + "id": "kasm-workspaces", + "description": "Kasm Workspaces is a docker container streaming platform for delivering browser-based access to desktops, applications, and web services.", + "tipi_version": 1, + "version": "1.14.0", + "categories": ["utilities"], + "short_desc": "Container streaming platform.", + "author": "Kasm", + "source": "https://github.com/kasmtech", + "website": "https://www.kasmweb.com/", + "form_fields": [], + "supported_architectures": ["arm64", "amd64"] + } \ No newline at end of file diff --git a/apps/kasm-workspaces/docker-compose.yml b/apps/kasm-workspaces/docker-compose.yml new file mode 100644 index 00000000..5edee56f --- /dev/null +++ b/apps/kasm-workspaces/docker-compose.yml @@ -0,0 +1,41 @@ +version: "3.7" +services: + kasm-workspaces: + image: lscr.io/linuxserver/kasm:1.14.0 + container_name: kasm-workspaces + privileged: true + environment: + - KASM_PORT=8744 + volumes: + - ${APP_DATA_DIR}/data:/opt + ports: + - 8743:3000 + - ${APP_PORT}:8744 + restart: unless-stopped + networks: + - tipi_main_network + labels: + # Main + traefik.enable: true + traefik.http.middlewares.kasm-workspaces-web-redirect.redirectscheme.scheme: https + traefik.http.services.kasm-workspaces.loadbalancer.server.port: 8744 + # Web + traefik.http.routers.kasm-workspaces-insecure.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.kasm-workspaces-insecure.entrypoints: web + traefik.http.routers.kasm-workspaces-insecure.service: kasm-workspaces + traefik.http.routers.kasm-workspaces-insecure.middlewares: kasm-workspaces-web-redirect + # Websecure + traefik.http.routers.kasm-workspaces.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.kasm-workspaces.entrypoints: websecure + traefik.http.routers.kasm-workspaces.service: kasm-workspaces + traefik.http.routers.kasm-workspaces.tls.certresolver: myresolver + # Local domain + traefik.http.routers.kasm-workspaces-local-insecure.rule: Host(`kasm-workspaces.${LOCAL_DOMAIN}`) + traefik.http.routers.kasm-workspaces-local-insecure.entrypoints: web + traefik.http.routers.kasm-workspaces-local-insecure.service: kasm-workspaces + traefik.http.routers.kasm-workspaces-local-insecure.middlewares: kasm-workspaces-web-redirect + # Local domain secure + traefik.http.routers.kasm-workspaces-local.rule: Host(`kasm-workspaces.${LOCAL_DOMAIN}`) + traefik.http.routers.kasm-workspaces-local.entrypoints: websecure + traefik.http.routers.kasm-workspaces-local.service: kasm-workspaces + traefik.http.routers.kasm-workspaces-local.tls: true \ No newline at end of file diff --git a/apps/kasm-workspaces/metadata/description.md b/apps/kasm-workspaces/metadata/description.md new file mode 100644 index 00000000..c1c92a68 --- /dev/null +++ b/apps/kasm-workspaces/metadata/description.md @@ -0,0 +1,8 @@ +## Kasm + +Kasm Workspaces is a docker container streaming platform for delivering browser-based access to desktops, applications, and web services. Kasm uses devops-enabled Containerized Desktop Infrastructure (CDI) to create on-demand, disposable, docker containers that are accessible via web browser. Example use-cases include Remote Browser Isolation (RBI), Data Loss Prevention (DLP), Desktop as a Service (DaaS), Secure Remote Access Services (RAS), and Open Source Intelligence (OSINT) collections. + +The rendering of the graphical-based containers is powered by the open-source project KasmVNC + +**Warning:** You will firtly need to access the port 8743 for the initial setup of the container. **If you dont do this the app won't work!**
+**Warning:** The app works with https if you dont access **all the ports** (setup and main) with https in the front you will get an empty response error. diff --git a/apps/kasm-workspaces/metadata/logo.jpg b/apps/kasm-workspaces/metadata/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..09a013fbb7d3f27d5340f1556a0baa6da9ded69f GIT binary patch literal 15563 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 literal 0 HcmV?d00001 From e6a0cc078ecfc7d6e23884a73e18d8e337650941 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 23 Oct 2023 18:12:43 +0000 Subject: [PATCH 225/263] chore(deps): update ghostfolio/ghostfolio docker tag to v2.14.0 (#1448) --- apps/ghostfolio/config.json | 4 ++-- apps/ghostfolio/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/ghostfolio/config.json b/apps/ghostfolio/config.json index 0e5825ab..91f7ef5c 100644 --- a/apps/ghostfolio/config.json +++ b/apps/ghostfolio/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "ghostfolio", - "tipi_version": 10, - "version": "2.12.0", + "tipi_version": 11, + "version": "2.14.0", "categories": [ "finance" ], diff --git a/apps/ghostfolio/docker-compose.yml b/apps/ghostfolio/docker-compose.yml index 274fc522..376100dc 100644 --- a/apps/ghostfolio/docker-compose.yml +++ b/apps/ghostfolio/docker-compose.yml @@ -3,7 +3,7 @@ version: "3.9" services: ghostfolio: container_name: ghostfolio - image: ghostfolio/ghostfolio:2.12.0 + image: ghostfolio/ghostfolio:2.14.0 restart: unless-stopped ports: - ${APP_PORT}:3333 From 19df890d17c8c3bd5eed2501081210b34a4a2053 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 23 Oct 2023 18:12:58 +0000 Subject: [PATCH 226/263] chore(deps): update libretranslate/libretranslate docker tag to v1.4.0 (#1449) --- apps/libretranslate/config.json | 4 ++-- apps/libretranslate/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/libretranslate/config.json b/apps/libretranslate/config.json index 02ecbd65..b30321da 100644 --- a/apps/libretranslate/config.json +++ b/apps/libretranslate/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 8121, "id": "libretranslate", - "tipi_version": 8, - "version": "1.3.13", + "tipi_version": 9, + "version": "1.4.0", "categories": [ "utilities" ], diff --git a/apps/libretranslate/docker-compose.yml b/apps/libretranslate/docker-compose.yml index b22c9d3c..c11fe950 100644 --- a/apps/libretranslate/docker-compose.yml +++ b/apps/libretranslate/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: libretranslate: container_name: libretranslate - image: libretranslate/libretranslate:v1.3.13 + image: libretranslate/libretranslate:v1.4.0 dns: - ${DNS_IP} ports: From 19a2b6d031b971e0bf8782255a310153d38d9eb7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 23 Oct 2023 21:23:19 +0000 Subject: [PATCH 227/263] chore(deps): update lscr.io/linuxserver/code-server docker tag to v4.18.0 (#1452) --- apps/code-server/config.json | 4 ++-- apps/code-server/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/code-server/config.json b/apps/code-server/config.json index a5680fa2..e4125f50 100644 --- a/apps/code-server/config.json +++ b/apps/code-server/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 8138, "id": "code-server", - "tipi_version": 16, - "version": "4.17.1", + "tipi_version": 17, + "version": "4.18.0", "categories": [ "development" ], diff --git a/apps/code-server/docker-compose.yml b/apps/code-server/docker-compose.yml index 07b5069a..442c0f68 100644 --- a/apps/code-server/docker-compose.yml +++ b/apps/code-server/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.7" services: code-server: - image: lscr.io/linuxserver/code-server:4.17.1 + image: lscr.io/linuxserver/code-server:4.18.0 container_name: code-server environment: - PUID=1000 From 2f30d64252e2749952ce9cc8e9c4194b1b26bff3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 23 Oct 2023 21:23:27 +0000 Subject: [PATCH 228/263] chore(deps): update lscr.io/linuxserver/pairdrop docker tag to v1.9.4 (#1451) --- apps/pairdrop/config.json | 4 ++-- apps/pairdrop/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/pairdrop/config.json b/apps/pairdrop/config.json index b5fbf9a5..4b6aea55 100644 --- a/apps/pairdrop/config.json +++ b/apps/pairdrop/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "pairdrop", - "tipi_version": 17, - "version": "1.9.3", + "tipi_version": 18, + "version": "1.9.4", "categories": [ "media", "data", diff --git a/apps/pairdrop/docker-compose.yml b/apps/pairdrop/docker-compose.yml index 3f8c9eb9..ee75bb8f 100644 --- a/apps/pairdrop/docker-compose.yml +++ b/apps/pairdrop/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: pairdrop: - image: lscr.io/linuxserver/pairdrop:1.9.3 + image: lscr.io/linuxserver/pairdrop:1.9.4 container_name: pairdrop environment: - PUID=1000 From ee460eb960b95a5fdc29bd43dfc9164f9d5553c8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 24 Oct 2023 01:34:51 +0000 Subject: [PATCH 229/263] chore(deps): update lscr.io/linuxserver/kasm docker tag to v1.120.20221218 (#1454) --- apps/kasm-workspaces/config.json | 37 ++++++++++++++----------- apps/kasm-workspaces/docker-compose.yml | 2 +- 2 files changed, 22 insertions(+), 17 deletions(-) diff --git a/apps/kasm-workspaces/config.json b/apps/kasm-workspaces/config.json index cfa0546f..4bea4eed 100644 --- a/apps/kasm-workspaces/config.json +++ b/apps/kasm-workspaces/config.json @@ -1,17 +1,22 @@ { - "name": "Kasm Workspaces", - "available": true, - "port": 8744, - "exposable": true, - "id": "kasm-workspaces", - "description": "Kasm Workspaces is a docker container streaming platform for delivering browser-based access to desktops, applications, and web services.", - "tipi_version": 1, - "version": "1.14.0", - "categories": ["utilities"], - "short_desc": "Container streaming platform.", - "author": "Kasm", - "source": "https://github.com/kasmtech", - "website": "https://www.kasmweb.com/", - "form_fields": [], - "supported_architectures": ["arm64", "amd64"] - } \ No newline at end of file + "name": "Kasm Workspaces", + "available": true, + "port": 8744, + "exposable": true, + "id": "kasm-workspaces", + "description": "Kasm Workspaces is a docker container streaming platform for delivering browser-based access to desktops, applications, and web services.", + "tipi_version": 2, + "version": "1.120.20221218", + "categories": [ + "utilities" + ], + "short_desc": "Container streaming platform.", + "author": "Kasm", + "source": "https://github.com/kasmtech", + "website": "https://www.kasmweb.com/", + "form_fields": [], + "supported_architectures": [ + "arm64", + "amd64" + ] +} diff --git a/apps/kasm-workspaces/docker-compose.yml b/apps/kasm-workspaces/docker-compose.yml index 5edee56f..90799457 100644 --- a/apps/kasm-workspaces/docker-compose.yml +++ b/apps/kasm-workspaces/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.7" services: kasm-workspaces: - image: lscr.io/linuxserver/kasm:1.14.0 + image: lscr.io/linuxserver/kasm:1.120.20221218 container_name: kasm-workspaces privileged: true environment: From db1a386f3b423180482e78fc3222a1d157fb1bba Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 24 Oct 2023 01:35:03 +0000 Subject: [PATCH 230/263] chore(deps): update lscr.io/linuxserver/freshrss docker tag to v1.22.0 (#1453) --- apps/freshrss/config.json | 8 +++++--- apps/freshrss/docker-compose.yml | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/apps/freshrss/config.json b/apps/freshrss/config.json index a9199562..1cb7de95 100644 --- a/apps/freshrss/config.json +++ b/apps/freshrss/config.json @@ -5,9 +5,11 @@ "exposable": true, "port": 8086, "id": "freshrss", - "tipi_version": 5, - "version": "1.21.0", - "categories": ["utilities"], + "tipi_version": 6, + "version": "1.22.0", + "categories": [ + "utilities" + ], "description": "FreshRSS is a self-hosted RSS feed aggregator like Leed or Kriss Feed.\nIt is lightweight, easy to work with, powerful, and customizable.\n\nIt is a multi-user application with an anonymous reading mode. It supports custom tags. There is an API for (mobile) clients, and a Command-Line Interface.\n\nThanks to the WebSub standard (formerly PubSubHubbub), FreshRSS is able to receive instant push notifications from compatible sources, such as Mastodon, Friendica, WordPress, Blogger, FeedBurner, etc.\n\nFreshRSS natively supports basic Web scraping, based on XPath, for Web sites not providing any RSS / Atom feed.\n\nFinally, it supports extensions for further tuning.", "short_desc": "A free, self-hostable aggregator… ", "author": "https://freshrss.org/", diff --git a/apps/freshrss/docker-compose.yml b/apps/freshrss/docker-compose.yml index 384b5446..0d641db9 100644 --- a/apps/freshrss/docker-compose.yml +++ b/apps/freshrss/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: freshrss: - image: lscr.io/linuxserver/freshrss:1.21.0 + image: lscr.io/linuxserver/freshrss:1.22.0 container_name: freshrss environment: - PUID=1000 From f9984d8185d3c997e7ed8a544728fa3ea61c5d6a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 24 Oct 2023 04:31:29 +0000 Subject: [PATCH 231/263] chore(deps): update lscr.io/linuxserver/qbittorrent docker tag to v4.6.0 (#1455) --- apps/qbittorrent/config.json | 4 ++-- apps/qbittorrent/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/qbittorrent/config.json b/apps/qbittorrent/config.json index c24ab79c..60566e51 100644 --- a/apps/qbittorrent/config.json +++ b/apps/qbittorrent/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 8133, "id": "qbittorrent", - "tipi_version": 8, - "version": "4.5.5", + "tipi_version": 9, + "version": "4.6.0", "categories": [ "utilities" ], diff --git a/apps/qbittorrent/docker-compose.yml b/apps/qbittorrent/docker-compose.yml index 6f67b001..d89b6f21 100644 --- a/apps/qbittorrent/docker-compose.yml +++ b/apps/qbittorrent/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.7" services: qbittorrent: - image: lscr.io/linuxserver/qbittorrent:4.5.5 + image: lscr.io/linuxserver/qbittorrent:4.6.0 container_name: qbittorrent dns: - ${DNS_IP} From 81b1731d519a2cde8af519fcca195ec4ddf670d9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 24 Oct 2023 04:31:40 +0000 Subject: [PATCH 232/263] chore(deps): update superseriousbusiness/gotosocial docker tag to v0.12.0 (#1456) --- apps/gotosocial/config.json | 4 ++-- apps/gotosocial/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/gotosocial/config.json b/apps/gotosocial/config.json index ae1ee04e..21b6fead 100644 --- a/apps/gotosocial/config.json +++ b/apps/gotosocial/config.json @@ -6,10 +6,10 @@ "exposable": true, "force_expose": true, "id": "gotosocial", - "tipi_version": 8, + "tipi_version": 9, "uid": 1000, "gid": 1000, - "version": "0.11.1", + "version": "0.12.0", "categories": [ "social" ], diff --git a/apps/gotosocial/docker-compose.yml b/apps/gotosocial/docker-compose.yml index 91b2b1ec..de9dd7a3 100644 --- a/apps/gotosocial/docker-compose.yml +++ b/apps/gotosocial/docker-compose.yml @@ -3,7 +3,7 @@ version: "3" services: gotosocial: container_name: gotosocial - image: superseriousbusiness/gotosocial:0.11.1 + image: superseriousbusiness/gotosocial:0.12.0 user: 1000:1000 ports: - ${APP_PORT}:8080 From 11fb8ebab6f6ff71bc7a3dd28c9a0f0ff4ab3101 Mon Sep 17 00:00:00 2001 From: Stavros Date: Tue, 24 Oct 2023 14:14:43 +0300 Subject: [PATCH 233/263] Update scrypted manually. (#1457) * Change image version. * Bump up tipi version. --- apps/scrypted/config.json | 4 ++-- apps/scrypted/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/scrypted/config.json b/apps/scrypted/config.json index cb995980..80f47462 100644 --- a/apps/scrypted/config.json +++ b/apps/scrypted/config.json @@ -6,8 +6,8 @@ "exposable": false, "https": true, "id": "scrypted", - "tipi_version": 4, - "version": "18-jammy-full.s6-v0.41.0", + "tipi_version": 5, + "version": "18-jammy-full.s6-v0.57.0", "categories": ["security"], "description": "Scrypted is a high performance home video integration and automation platform", "short_desc": "High performance home video integration and automation platform", diff --git a/apps/scrypted/docker-compose.yml b/apps/scrypted/docker-compose.yml index 732127ee..35980afd 100644 --- a/apps/scrypted/docker-compose.yml +++ b/apps/scrypted/docker-compose.yml @@ -3,7 +3,7 @@ version: "3" services: scrypted: container_name: scrypted - image: koush/scrypted:18-jammy-full.s6-v0.41.0 + image: koush/scrypted:18-jammy-full.s6-v0.57.0 privileged: true volumes: - ${APP_DATA_DIR}/data/scrypted/database:/server/volume From 9512252fb7c2c672c348508a3f743b55e7be3bc5 Mon Sep 17 00:00:00 2001 From: Stavros Date: Tue, 24 Oct 2023 16:05:39 +0300 Subject: [PATCH 234/263] Add draw.io (#1450) * Add draw.io * Use http instead of https * Add warning in readme file. --- README.md | 1 + apps/drawio/config.json | 17 +++++++++++++ apps/drawio/docker-compose.yml | 36 ++++++++++++++++++++++++++++ apps/drawio/metadata/description.md | 7 ++++++ apps/drawio/metadata/logo.jpg | Bin 0 -> 13997 bytes 5 files changed, 61 insertions(+) create mode 100644 apps/drawio/config.json create mode 100644 apps/drawio/docker-compose.yml create mode 100644 apps/drawio/metadata/description.md create mode 100644 apps/drawio/metadata/logo.jpg diff --git a/README.md b/README.md index e5d376cc..37854fbb 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,7 @@ This is the official repository for the Tipi App Store. It contains all the apps - [Deemix](https://gitlab.com/Bockiii/deemix-docker) - deemix is a barebone deezer downloader library built from the ashes of Deezloader Remix. - [DokuWiki](https://github.com/dokuwiki/dokuwiki) - DokuWiki is a simple to use and highly versatile Open Source wiki software - [Dozzle](https://github.com/amir20/dozzle) - Dozzle is a small web based app to monitor Docker logs +- [Draw.io](https://github.com/jgraph/drawio) - draw.io is a JavaScript, client-side editor for general diagramming and whiteboarding. - [Duplicati](https://github.com/linuxserver/docker-duplicati) - Store securely encrypted backups in the cloud! - [Emulatorjs](https://github.com/EmulatorJS/EmulatorJS) - Self-hosted Javascript emulation for various system. - [Excalidraw](https://github.com/excalidraw/excalidraw) - Online whiteboard collaboration made easy diff --git a/apps/drawio/config.json b/apps/drawio/config.json new file mode 100644 index 00000000..2e59a369 --- /dev/null +++ b/apps/drawio/config.json @@ -0,0 +1,17 @@ +{ + "name": "Draw.io", + "available": true, + "port": 8734, + "exposable": true, + "id": "drawio", + "description": "draw.io is a JavaScript, client-side editor for general diagramming and whiteboarding.", + "tipi_version": 1, + "version": "22.0.6", + "categories": ["utilities"], + "short_desc": "Diagramming and whiteboarding app.", + "author": "JGraph", + "source": "https://github.com/jgraph/drawio", + "website": "https://www.drawio.com/", + "form_fields": [], + "supported_architectures": ["arm64", "amd64"] +} \ No newline at end of file diff --git a/apps/drawio/docker-compose.yml b/apps/drawio/docker-compose.yml new file mode 100644 index 00000000..a4baa73b --- /dev/null +++ b/apps/drawio/docker-compose.yml @@ -0,0 +1,36 @@ +version: "3.7" +services: + drawio: + image: jgraph/drawio:22.0.6 + ports: + - ${APP_PORT}:8080 + container_name: drawio + tty: true + stdin_open: true + networks: + - tipi_main_network + labels: + # Main + traefik.enable: true + traefik.http.middlewares.drawio-web-redirect.redirectscheme.scheme: https + traefik.http.services.drawio.loadbalancer.server.port: 8080 + # Web + traefik.http.routers.drawio-insecure.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.drawio-insecure.entrypoints: web + traefik.http.routers.drawio-insecure.service: drawio + traefik.http.routers.drawio-insecure.middlewares: drawio-web-redirect + # Websecure + traefik.http.routers.drawio.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.drawio.entrypoints: websecure + traefik.http.routers.drawio.service: drawio + traefik.http.routers.drawio.tls.certresolver: myresolver + # Local domain + traefik.http.routers.drawio-local-insecure.rule: Host(`drawio.${LOCAL_DOMAIN}`) + traefik.http.routers.drawio-local-insecure.entrypoints: web + traefik.http.routers.drawio-local-insecure.service: drawio + traefik.http.routers.drawio-local-insecure.middlewares: drawio-web-redirect + # Local domain secure + traefik.http.routers.drawio-local.rule: Host(`drawio.${LOCAL_DOMAIN}`) + traefik.http.routers.drawio-local.entrypoints: websecure + traefik.http.routers.drawio-local.service: drawio + traefik.http.routers.drawio-local.tls: true diff --git a/apps/drawio/metadata/description.md b/apps/drawio/metadata/description.md new file mode 100644 index 00000000..543a0277 --- /dev/null +++ b/apps/drawio/metadata/description.md @@ -0,0 +1,7 @@ +## Draw.io + +**Warning:** when openning the draw.io page add an ``?offline=1`` in the end else you will get ``Failed to execute 'open' on 'XMLHttpRequest': Invalid URL`` error! + +draw.io, this project, is a configurable diagramming/whiteboarding visualization application. draw.io is jointly owned and developed by JGraph Ltd and draw.io AG. + +As well as running this project, we run a production-grade deployment of the diagramming interface at [https://app.diagrams.net](https://app.diagrams.net). diff --git a/apps/drawio/metadata/logo.jpg b/apps/drawio/metadata/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4425f5069e67db7425659adb0d284981d6a5db43 GIT binary patch literal 13997 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 literal 0 HcmV?d00001 From 756a752eeec97efbd02d9417650c85000de8a990 Mon Sep 17 00:00:00 2001 From: Tyler W <7053824+tylrw@users.noreply.github.com> Date: Tue, 24 Oct 2023 14:19:18 -0300 Subject: [PATCH 235/263] feat: add Kimai (#1390) * feat: add Kimai * fix: address code review comments * fix: adjust hardcoded app port --- README.md | 1 + apps/kimai/config.json | 45 +++++++++++++++ apps/kimai/docker-compose.yml | 86 +++++++++++++++++++++++++++++ apps/kimai/metadata/description.md | 8 +++ apps/kimai/metadata/logo.jpg | Bin 0 -> 42403 bytes 5 files changed, 140 insertions(+) create mode 100644 apps/kimai/config.json create mode 100644 apps/kimai/docker-compose.yml create mode 100644 apps/kimai/metadata/description.md create mode 100644 apps/kimai/metadata/logo.jpg diff --git a/README.md b/README.md index 37854fbb..e4608f20 100644 --- a/README.md +++ b/README.md @@ -70,6 +70,7 @@ This is the official repository for the Tipi App Store. It contains all the apps - [Kapowarr](https://github.com/Casvt/Kapowarr) - Kapowarr is a software to build and manage a comic book library, fitting in the \*arr suite of software. - [Kasm Workspaces](https://github.com/kasmtech) - Kasm Workspaces is a docker container streaming platform for delivering browser-based access to desktops, applications, and web services - [Kavita](https://github.com/Kareadita/Kavita) - Kavita is a fast, feature rich, cross platform reading server +- [Kimai](https://github.com/kimai/kimai) - Open source time-tracker - [Libreddit](https://github.com/spikecodes/libreddit) - Private front-end for Reddit - [LibrePhotos](https://github.com/LibrePhotos/librephotos) - Complete photo management service - [LibreTranslate](https://github.com/LibreTranslate/LibreTranslate) - Free and Open Source Machine Translation API. 100% self-hosted, offline capable and easy to setup diff --git a/apps/kimai/config.json b/apps/kimai/config.json new file mode 100644 index 00000000..a091ed33 --- /dev/null +++ b/apps/kimai/config.json @@ -0,0 +1,45 @@ +{ + "name": "Kimai", + "available": true, + "port": 8003, + "exposable": true, + "id": "kimai", + "description": "Kimai is a professional grade time-tracking application, free and open-source. It handles use-cases of freelancers as well as companies with dozens or hundreds of users.", + "tipi_version": 1, + "version": "fpm-2.1.0-prod", + "categories": ["utilities"], + "short_desc": "Open source time-tracker", + "author": "Kevin Papst", + "source": "https://github.com/kimai/kimai", + "website": "https://www.kimai.org", + "form_fields": [ + { + "type": "random", + "label": "KIMAI_DATABASE_ROOT_PASSWORD", + "min": 32, + "env_variable": "KIMAI_DATABASE_ROOT_PASSWORD" + }, + { + "type": "random", + "label": "KIMAI_DATABASE_PASSWORD", + "min": 32, + "env_variable": "KIMAI_DATABASE_PASSWORD" + }, + { + "type": "text", + "label": "Admin email", + "max": 254, + "min": 3, + "required": true, + "env_variable": "KIMAI_ADMINMAIL" + }, + { + "type": "password", + "label": "Admin password", + "max": 128, + "min": 10, + "required": true, + "env_variable": "KIMAI_ADMINPASS" + } + ] +} \ No newline at end of file diff --git a/apps/kimai/docker-compose.yml b/apps/kimai/docker-compose.yml new file mode 100644 index 00000000..3272c5d4 --- /dev/null +++ b/apps/kimai/docker-compose.yml @@ -0,0 +1,86 @@ +# Adapted from https://github.com/tobybatch/kimai2/blob/799a534b8d93d18a2d10573457936a31052ce8e0/compose/docker-compose.fpm.prod.yml + +version: "3.5" + +services: + nginx: + container_name: kimai-proxy + image: tobybatch/nginx-fpm-reverse-proxy:latest + ports: + - ${APP_PORT}:80 + volumes: + - ${APP_DATA_DIR}/data/public:/opt/kimai/public:ro + restart: unless-stopped + depends_on: + - kimai + healthcheck: + test: wget --spider http://kimai-proxy/health || exit 1 + interval: 20s + start_period: 10s + timeout: 10s + retries: 3 + networks: + - tipi_main_network + labels: + # Main + traefik.enable: true + traefik.http.middlewares.kimai-proxy-web-redirect.redirectscheme.scheme: https + traefik.http.services.kimai-proxy.loadbalancer.server.port: 80 + # Web + traefik.http.routers.kimai-proxy-insecure.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.kimai-proxy-insecure.entrypoints: web + traefik.http.routers.kimai-proxy-insecure.service: kimai-proxy + traefik.http.routers.kimai-proxy-insecure.middlewares: kimai-proxy-web-redirect + # Websecure + traefik.http.routers.kimai-proxy.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.kimai-proxy.entrypoints: websecure + traefik.http.routers.kimai-proxy.service: kimai-proxy + traefik.http.routers.kimai-proxy.tls.certresolver: myresolver + # Local domain + traefik.http.routers.kimai-proxy-local-insecure.rule: Host(`kimai.${LOCAL_DOMAIN}`) + traefik.http.routers.kimai-proxy-local-insecure.entrypoints: web + traefik.http.routers.kimai-proxy-local-insecure.service: kimai-proxy + traefik.http.routers.kimai-proxy-local-insecure.middlewares: kimai-proxy-web-redirect + # Local domain secure + traefik.http.routers.kimai-proxy-local.rule: Host(`kimai-proxy.${LOCAL_DOMAIN}`) + traefik.http.routers.kimai-proxy-local.entrypoints: websecure + traefik.http.routers.kimai-proxy-local.service: kimai-proxy + traefik.http.routers.kimai-proxy-local.tls: true + + kimai: + container_name: kimai + image: kimai/kimai2:fpm-2.1.0-prod + environment: + - ADMINMAIL=${KIMAI_ADMINMAIL} + - ADMINPASS=${KIMAI_ADMINPASS} + - "DATABASE_URL=mysql://kimai:${KIMAI_DATABASE_PASSWORD}@kimai-sqldb/kimai?charset=utf8&serverVersion=5.7" + - TRUSTED_HOSTS=kimai-proxy,localhost,127.0.0.1 + volumes: + - ${APP_DATA_DIR}/data/public:/opt/kimai/public + - ${APP_DATA_DIR}/data/var:/opt/kimai/var + # - ./ldap.conf:/etc/openldap/ldap.conf:z + # - ./ROOT-CA.pem:/etc/ssl/certs/ROOT-CA.pem:z + restart: unless-stopped + networks: + - tipi_main_network + + sqldb: + container_name: kimai-sqldb + image: mysql:5.7 + environment: + - MYSQL_DATABASE=kimai + - MYSQL_USER=kimai + - MYSQL_PASSWORD=${KIMAI_DATABASE_PASSWORD} + - MYSQL_ROOT_PASSWORD=${KIMAI_DATABASE_ROOT_PASSWORD} + volumes: + - ${APP_DATA_DIR}/data/mysql:/var/lib/mysql + command: --default-storage-engine innodb + restart: unless-stopped + healthcheck: + test: mysqladmin -p$$MYSQL_ROOT_PASSWORD ping -h localhost + interval: 20s + start_period: 10s + timeout: 10s + retries: 3 + networks: + - tipi_main_network diff --git a/apps/kimai/metadata/description.md b/apps/kimai/metadata/description.md new file mode 100644 index 00000000..f5a9cf7c --- /dev/null +++ b/apps/kimai/metadata/description.md @@ -0,0 +1,8 @@ +

+ Kimai logo +

+ +Kimai is a professional grade time-tracking application, free and open-source. It handles use-cases of freelancers as well as companies with dozens or hundreds of users. Kimai was build to track your project times and ships with many advanced features, including but not limited to: + +JSON API, invoicing, data exports, multi-timer and punch-in punch-out mode, tagging, multi-user - multi-timezones - multi-language ([over 30 translations existing](https://hosted.weblate.org/projects/kimai/)!), authentication via SAML/LDAP/Database, two-factor authentication (2FA) with TOTP, customizable role and team permissions, responsive design, user/customer/project specific rates, advanced search & filtering, money and time budgets, advanced reporting, support for [plugins](https://www.kimai.org/store/) and so much more. + diff --git a/apps/kimai/metadata/logo.jpg b/apps/kimai/metadata/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e4d41290c4c822a7aaee133dfc433a6bbd4c76ef GIT binary patch literal 42403 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 Date: Tue, 24 Oct 2023 17:21:41 +0000 Subject: [PATCH 236/263] chore(deps): update grafana/grafana-oss docker tag to v10.2.0 (#1459) --- apps/grafana/config.json | 4 ++-- apps/grafana/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/grafana/config.json b/apps/grafana/config.json index 114f736a..69e563b7 100644 --- a/apps/grafana/config.json +++ b/apps/grafana/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "grafana", - "tipi_version": 17, - "version": "10.1.5", + "tipi_version": 18, + "version": "10.2.0", "categories": [ "data" ], diff --git a/apps/grafana/docker-compose.yml b/apps/grafana/docker-compose.yml index 803c7f17..4a9486ec 100644 --- a/apps/grafana/docker-compose.yml +++ b/apps/grafana/docker-compose.yml @@ -3,7 +3,7 @@ version: "3" services: grafana: container_name: grafana - image: grafana/grafana-oss:10.1.5 + image: grafana/grafana-oss:10.2.0 ports: - ${APP_PORT}:3000 volumes: From 36869f168756fbb504034435e144c5c048782e21 Mon Sep 17 00:00:00 2001 From: Nicolas Meienberger Date: Tue, 24 Oct 2023 21:35:25 +0200 Subject: [PATCH 237/263] chore(recyclarr): update logo --- apps/recyclarr/metadata/logo.jpg | Bin 4979 -> 13327 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/apps/recyclarr/metadata/logo.jpg b/apps/recyclarr/metadata/logo.jpg index 510354a9098199f2ef21a72cacf615138cb618df..c45e8158fd6b99268e9872a04f7cae00cf6e0807 100644 GIT binary patch literal 13327 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 CBW}?E literal 4979 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 K?^i*Q5&s2M5@kaG From b55fd8c832f2cb4ebeb26f163f87f4515a5e2fc4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 24 Oct 2023 19:37:21 +0000 Subject: [PATCH 238/263] chore(deps): update ghcr.io/enchant97/note-mark-backend docker tag to v0.8.0 (#1443) --- apps/notemark/config.json | 4 ++-- apps/notemark/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/notemark/config.json b/apps/notemark/config.json index 5155661e..f16e28a8 100644 --- a/apps/notemark/config.json +++ b/apps/notemark/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 8567, "id": "notemark", - "tipi_version": 1, - "version": "0.7.0", + "tipi_version": 2, + "version": "0.8.0", "categories": [ "utilities" ], diff --git a/apps/notemark/docker-compose.yml b/apps/notemark/docker-compose.yml index bd9eae01..a5f10d55 100644 --- a/apps/notemark/docker-compose.yml +++ b/apps/notemark/docker-compose.yml @@ -37,7 +37,7 @@ services: traefik.http.routers.notemark-local.tls: true notemark-backend: - image: ghcr.io/enchant97/note-mark-backend:0.7.0 + image: ghcr.io/enchant97/note-mark-backend:0.8.0 container_name: notemark-backend restart: unless-stopped networks: From 81da60bf4fa481c58172408b71cdda688388806d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 24 Oct 2023 19:37:59 +0000 Subject: [PATCH 239/263] chore(deps): update jgraph/drawio docker tag to v22.0.7 (#1461) --- apps/drawio/config.json | 37 +++++++++++++++++++--------------- apps/drawio/docker-compose.yml | 2 +- 2 files changed, 22 insertions(+), 17 deletions(-) diff --git a/apps/drawio/config.json b/apps/drawio/config.json index 2e59a369..fc222334 100644 --- a/apps/drawio/config.json +++ b/apps/drawio/config.json @@ -1,17 +1,22 @@ { - "name": "Draw.io", - "available": true, - "port": 8734, - "exposable": true, - "id": "drawio", - "description": "draw.io is a JavaScript, client-side editor for general diagramming and whiteboarding.", - "tipi_version": 1, - "version": "22.0.6", - "categories": ["utilities"], - "short_desc": "Diagramming and whiteboarding app.", - "author": "JGraph", - "source": "https://github.com/jgraph/drawio", - "website": "https://www.drawio.com/", - "form_fields": [], - "supported_architectures": ["arm64", "amd64"] -} \ No newline at end of file + "name": "Draw.io", + "available": true, + "port": 8734, + "exposable": true, + "id": "drawio", + "description": "draw.io is a JavaScript, client-side editor for general diagramming and whiteboarding.", + "tipi_version": 2, + "version": "22.0.7", + "categories": [ + "utilities" + ], + "short_desc": "Diagramming and whiteboarding app.", + "author": "JGraph", + "source": "https://github.com/jgraph/drawio", + "website": "https://www.drawio.com/", + "form_fields": [], + "supported_architectures": [ + "arm64", + "amd64" + ] +} diff --git a/apps/drawio/docker-compose.yml b/apps/drawio/docker-compose.yml index a4baa73b..c441b495 100644 --- a/apps/drawio/docker-compose.yml +++ b/apps/drawio/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.7" services: drawio: - image: jgraph/drawio:22.0.6 + image: jgraph/drawio:22.0.7 ports: - ${APP_PORT}:8080 container_name: drawio From 3288fda4669f97d1bd4520defa06a5b002855476 Mon Sep 17 00:00:00 2001 From: Sergey Kodolov <35339452+SergeyKodolov@users.noreply.github.com> Date: Tue, 24 Oct 2023 22:39:10 +0300 Subject: [PATCH 240/263] chore(deps): update lscr.io/linuxserver/grocy docker tag to v4.0.3-ls215 (#1316) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Сергей Кодолов --- apps/grocy/config.json | 4 ++-- apps/grocy/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/grocy/config.json b/apps/grocy/config.json index 9e29c487..c07a2328 100644 --- a/apps/grocy/config.json +++ b/apps/grocy/config.json @@ -3,8 +3,8 @@ "name": "Grocy", "available": true, "exposable": true, - "tipi_version": 3, - "version": "3.3.2", + "tipi_version": 4, + "version": "4.0.3", "port": 8136, "id": "grocy", "categories": ["automation", "finance"], diff --git a/apps/grocy/docker-compose.yml b/apps/grocy/docker-compose.yml index 7dc3804b..93eb1b90 100644 --- a/apps/grocy/docker-compose.yml +++ b/apps/grocy/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.7" services: grocy: - image: lscr.io/linuxserver/grocy:v3.3.2-ls180 + image: lscr.io/linuxserver/grocy:v4.0.3-ls215 container_name: grocy volumes: - ${APP_DATA_DIR}/data:/config From 0424f0d075e9603e9e48ff08809732d28eb28a03 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 24 Oct 2023 19:42:24 +0000 Subject: [PATCH 241/263] chore(deps): update ghcr.io/enchant97/note-mark-frontend docker tag to v0.8.0 (#1444) --- apps/notemark/config.json | 2 +- apps/notemark/docker-compose.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/notemark/config.json b/apps/notemark/config.json index f16e28a8..8ca28438 100644 --- a/apps/notemark/config.json +++ b/apps/notemark/config.json @@ -5,7 +5,7 @@ "exposable": true, "port": 8567, "id": "notemark", - "tipi_version": 2, + "tipi_version": 3, "version": "0.8.0", "categories": [ "utilities" diff --git a/apps/notemark/docker-compose.yml b/apps/notemark/docker-compose.yml index a5f10d55..9f1291f2 100644 --- a/apps/notemark/docker-compose.yml +++ b/apps/notemark/docker-compose.yml @@ -49,7 +49,7 @@ services: CORS_ORIGINS: "*" notemark: - image: ghcr.io/enchant97/note-mark-frontend:0.7.0 + image: ghcr.io/enchant97/note-mark-frontend:0.8.0 container_name: notemark restart: unless-stopped networks: From fdf7f057cf6917fa1c71618cf4b416319fc50a1a Mon Sep 17 00:00:00 2001 From: Ashley Date: Tue, 24 Oct 2023 19:10:05 +0100 Subject: [PATCH 242/263] Update Wizarr version to 3.4.2, use latest image in docker-compose.yml, and add a new logo file - Version in `config.json` was updated from 2.2.0 to 3.4.2 to reflect the new Wizarr version. - In `docker-compose.yml`, the image tag was changed from `2.2.0` to `latest` to use the latest Wizarr image. - The old logo file `logo.jpg` was deleted, and a new logo file `logo.png` was added. --- apps/wizarr/config.json | 4 ++-- apps/wizarr/docker-compose.yml | 6 +----- apps/wizarr/metadata/logo.jpg | Bin 21082 -> 0 bytes apps/wizarr/metadata/logo.png | Bin 0 -> 32598 bytes 4 files changed, 3 insertions(+), 7 deletions(-) delete mode 100644 apps/wizarr/metadata/logo.jpg create mode 100644 apps/wizarr/metadata/logo.png diff --git a/apps/wizarr/config.json b/apps/wizarr/config.json index ae45b81f..c9aff128 100644 --- a/apps/wizarr/config.json +++ b/apps/wizarr/config.json @@ -6,7 +6,7 @@ "exposable": true, "id": "wizarr", "tipi_version": 5, - "version": "2.2.0", + "version": "3.4.2", "categories": [ "utilities" ], @@ -16,4 +16,4 @@ "source": "https://github.com/Wizarrrr/wizarr", "website": "https://docs.wizarr.dev/", "form_fields": [] -} +} \ No newline at end of file diff --git a/apps/wizarr/docker-compose.yml b/apps/wizarr/docker-compose.yml index 42e294b3..7c8c2784 100644 --- a/apps/wizarr/docker-compose.yml +++ b/apps/wizarr/docker-compose.yml @@ -3,15 +3,11 @@ version: "3.8" services: wizarr: container_name: wizarr - image: ghcr.io/wizarrrr/wizarr:2.2.0 + image: ghcr.io/wizarrrr/wizarr:latest ports: - ${APP_PORT}:5690 volumes: - ${APP_DATA_DIR}/data/database:/data/database - environment: - - APP_URL=${APP_PROTOCOL:-http}://${APP_DOMAIN} - - DISABLE_BUILTIN_AUTH=false #Set to true ONLY if you are using another auth provider (Authelia, Authentik, etc) - - TZ=${TZ} networks: - tipi_main_network labels: diff --git a/apps/wizarr/metadata/logo.jpg b/apps/wizarr/metadata/logo.jpg deleted file mode 100644 index 9c15fabbd5614f6fa90147c9f2f020d341da9292..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21082 zcmbrm1yqz<+b}#R27*CJNO(XxhVC#3X{iB*l4clY$f3idgtXF)#4r*=cM1qd_aNOZ zNTF8)H0tCVxIE_qgjLkSrY+yhaBU>OhCl?SPCh1~pWCAsF zd}wTD0fCFteXp*kdk8TVr_r4cqrx~;sUdU znK>Fgbb(pJ9YkEj=`NXzVBar31L+=KqBugu>7HCjeWN9af;dskw-nl*})2*uTW- ze%a;h?9A!R%V}e80pu1I76x+h0C{*guoxT;u5d>q7Y?`s{cjFZW)3Fy5L-ux4gBE+ zMKQeaEaJ4l9s+l?1 zAnZ-du;}y`#I_>O?9GfEZR|B{Y^;Af@`a_1qm6^5jqO7oK2ENO%t}Tk5ctIxmP-;P zB@sEegQF4L#7s^~oDR!`69O?65fpqP_3WvDz*89^K5lMlsi#kPpFR_m5f*qNBqc1x z&-0sB%Ekl%GlM(+rZxSCR`9>lUNi`pEmpFWnLWhG%v8qS2KMmMY7xkP*M;xD^7}<= z`rmco|F5(_tTMohy8TyO|New+Ko_rn8ZY*bKh56^j&1Yy*v5Un0l0J7WC5n1u$>6! zd<@_NxQ>g9dky#cwQJY$u4Dh<-@JbPCO*NfTllwb5!@rVgnI;c?%un5hk%%vgoK!w z>cN8tRJ4Bp=f;g2w+U{O-@8XnNlHjc`KRE2`*QvXKzQ>C;0oX>4k6$QA@yF&rBJ9beyD8s%)JDG{gLjq3Ck}prFDj^EhSm z%I-4Er#{ZxkqucNc8vD8y{ydr-Rn~_YnxhM6XWDKh$gdvG8CUAU8t?D^c=wRczD{C zpBo|@fCl!qHYD)88wq`NpAt4P!hVx-2Y#AM4wz< zhbS#2 zTp=$Ps4)<6V=Uu9u9;?bRL1ZXSaD}9s)1KD`l|)f@4%9PGZ|IY5<4k3ZYF0RDHOE3 zrgL_3p_u0NBsUj#1rK%FdWz~K#Ad!ZQGdTP=W~{Dq%yBf5i;OedYsUO;J=YQn|8l?eeULkET&7d$c5V^M>eCpRC*-hT<$1c7AEAz}~lDwzN<0etGV;B(DV< zXOUIHIe=G}ykEDxqhM@g{Zzs3*r?^Ze(O0v_kPszddH3}2w}Lv9nsuFr8|}TeN;%o zfj7t4_%Q%L(jX3i!aurd^0|kpMi+m4RnXPG1MMuUkF$})KUk@EQb3YByv%#vuRF$Z zrc_#$B`LHS^TG6JA=5&Z(#Eeut21LSFYnEpiZNZPt@+~{HXAMn{FoY!x!VDGE0;>* z�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 ZRRy>Us>GcxGa0_~=`r{}y|_K@e*t}p`~?62 diff --git a/apps/wizarr/metadata/logo.png b/apps/wizarr/metadata/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..a85d6fe13e135e5f1506f28103716ae06edd27eb GIT binary patch literal 32598 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 TTutDg>7Pl6$bK${>3RJh@88@7 literal 0 HcmV?d00001 From 6837d8e7149c41e75483d73d0d9cc178b8ded800 Mon Sep 17 00:00:00 2001 From: Ashley Date: Tue, 24 Oct 2023 19:16:50 +0100 Subject: [PATCH 243/263] Latest String --- apps/wizarr/config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/wizarr/config.json b/apps/wizarr/config.json index c9aff128..f9711d0a 100644 --- a/apps/wizarr/config.json +++ b/apps/wizarr/config.json @@ -6,7 +6,7 @@ "exposable": true, "id": "wizarr", "tipi_version": 5, - "version": "3.4.2", + "version": "latest", "categories": [ "utilities" ], From 08acf6dfcf59c1e9e0fad9ed82c58093f6255f03 Mon Sep 17 00:00:00 2001 From: Ashley Date: Tue, 24 Oct 2023 21:34:01 +0100 Subject: [PATCH 244/263] Update Image --- apps/wizarr/metadata/logo.jpg | Bin 0 -> 31116 bytes apps/wizarr/metadata/logo.png | Bin 32598 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 apps/wizarr/metadata/logo.jpg delete mode 100644 apps/wizarr/metadata/logo.png diff --git a/apps/wizarr/metadata/logo.jpg b/apps/wizarr/metadata/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..19bc3c6c2e8b9027a787cf10f3b2eb69db4e553e GIT binary patch literal 31116 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 TTutDg>7Pl6$bK${>3RJh@88@7 From 22263f6b3f4aff4e1ff6c2b8b97a54fdadbd6d58 Mon Sep 17 00:00:00 2001 From: Ashley Date: Tue, 24 Oct 2023 21:38:01 +0100 Subject: [PATCH 245/263] Update --- apps/wizarr/config.json | 4 +- apps/wizarr/metadata/description.md | 105 ++++++++++++++++++++++------ 2 files changed, 85 insertions(+), 24 deletions(-) diff --git a/apps/wizarr/config.json b/apps/wizarr/config.json index f9711d0a..00538921 100644 --- a/apps/wizarr/config.json +++ b/apps/wizarr/config.json @@ -10,8 +10,8 @@ "categories": [ "utilities" ], - "description": "Wizarr is a automatic user invitation system for Plex, Jellyfin and Emby. Create a unique link and share it to a user and they will automatically be invited to your Media Server! They will even be guided to download the clients and instructions on how to use your requests software!", - "short_desc": "Wizarr is an advanced user invitation and management system for Jellyfin, Plex, Emby etc.", + "description": "Wizarr is a automatic user invitation system for Plex and Jellyfin. Create a unique link and share it to a user and they will be invited to your Media Server after they complete there signup proccess! They can even be guided to download the clients and read instructions on how to use your media software!", + "short_desc": "Wizarr is a automatic user invitation system for Plex and Jellyfin.", "author": "https://github.com/Wizarrrr", "source": "https://github.com/Wizarrrr/wizarr", "website": "https://docs.wizarr.dev/", diff --git a/apps/wizarr/metadata/description.md b/apps/wizarr/metadata/description.md index 82229218..19dbb368 100644 --- a/apps/wizarr/metadata/description.md +++ b/apps/wizarr/metadata/description.md @@ -1,35 +1,96 @@ -# Wizarr +

Wizarr

+

The Free Media Invitation System

-Wizarr is a automatic user invitation system for Plex, Jellyfin and Emby. Create a unique link and share it to a user and they will automatically be invited to your Media Server! They will even be guided to download the clients and instructions on how to use your requests software! +--- -## [](https://github.com/Wizarrrr/wizarr/blob/master/README.md#major-features-include)Major Features Include +
-- Automatic Invitation to your Media Server (Plex, Jellyfin, Emby...) -- Secured invitation environment -- Plug and Play SSO Support\* -- Multi-tiered Invitations -- Duration for membership -- Guide user on how to download Plex client -- Requests Integration: Guide users on how to request Movies (Overseerr, Ombi...) -- Discord Server Integration: Invite users to your Discord Server -- Customizable: Add any Custom HTML +Wizarr is a automatic user invitation system for Plex and Jellyfin. Create a unique link and share it to a user and they will be invited to your Media Server after they complete there signup proccess! They can even be guided to download the clients and read instructions on how to use your media software! -## [](https://github.com/Wizarrrr/wizarr/blob/master/README.md#getting-started)Getting Started +## Where is V2? -Check out our documentation for instructions on how to install and run Wizarr! +Wizarr V2 has moved to the v2 branch [here](https://github.com/Wizarrrr/wizarr/tree/v2), your still more than welcome to use v2 however it will no longer be supported, we recommend using our new version, trust us it's 🔥. -[https://docs.wizarr.dev/getting-started/installation](https://docs.wizarr.dev/getting-started/installation) +## Major Features Include -## [](https://github.com/Wizarrrr/wizarr/blob/master/README.md#translations)Translations +- Automatic Invitation to your Media Server (Plex, Jellyfin) +- Support for Passkey authentication for Admin Users +- Create multiple invitations with different configurations +- Make invitations and users expire after a certain amount of time +- Automatically add users to your Request System (Ombi, Jellyseerr, Overseerr) +- Add users to your Discord Server +- Create a custom HTML page +- Multi-Language Support +- Scheduled Tasks to keep Wizarr updated with your Media Server +- Live logs directly from the Wizarr Web UI +- Multiple Admin Users with different permissions +- Notification System +- API for Developers with Swagger UI +- Light and Dark Mode Support +- Session Management for Admin Users -We use Weblate to translate Wizarr, help us out by clicking [here](https://hosted.weblate.org/engage/wizarr/) +## Whats to come -[![Translation status](https://camo.githubusercontent.com/b0a28909b22fe4aaa3201f59b61ad2d34be9726e6a7ec024cbb5140771541042/68747470733a2f2f686f737465642e7765626c6174652e6f72672f776964676574732f77697a6172722f2d2f6170702f6d756c74692d6175746f2e737667)](https://camo.githubusercontent.com/b0a28909b22fe4aaa3201f59b61ad2d34be9726e6a7ec024cbb5140771541042/68747470733a2f2f686f737465642e7765626c6174652e6f72672f776964676574732f77697a6172722f2d2f6170702f6d756c74692d6175746f2e737667) +- Added API Endpoints +- Multi-Server Support +- Mass Emailing to Client Users +- OAuth Support with custom providers +- Use your own Database +- 2FA Support for Admin Users +- Built in Update System +- Full Wizard Customization with Drag and Drop Template Editor +- Jellyfin and Plex user permissions management tool +- Invite Request System for users to request invite +- and much more! -## [](https://github.com/Wizarrrr/wizarr/blob/master/README.md#thank-you)Thank you +## Documentation -A big thank you ❤️ to these amazing people for contributing to this project! [![](https://camo.githubusercontent.com/38799e01fd3b3ba00584d9d9f65141bdfe849a7c8344ceae962779d334a5c8e6/68747470733a2f2f636f6e747269622e726f636b732f696d6167653f7265706f3d77697a61727272722f77697a617272)](https://github.com/wizarrrr/wizarr/graphs/contributors) +Any issues we welcome you to come onto our [Discord](https://discord.gg/XXCz7aM3ak) and ask for a member of staff, we would be happy to help. -## [](https://github.com/Wizarrrr/wizarr/blob/master/README.md#screenshots)Screenshots +If you want to help contribute to Wizarr by building V3's documentation we would really appreciate it, again join the [Discord](https://discord.gg/XXCz7aM3ak) and we can get you started. -[![alt](https://github.com/Wizarrrr/wizarr/raw/master/screenshots/invite.png)](https://github.com/Wizarrrr/wizarr/blob/master/screenshots/invite.png) [![alt](https://github.com/Wizarrrr/wizarr/raw/master/screenshots/tips.png)](https://github.com/Wizarrrr/wizarr/blob/master/screenshots/tips.png) [![alt](https://github.com/Wizarrrr/wizarr/raw/master/screenshots/join.png)](https://github.com/Wizarrrr/wizarr/blob/master/screenshots/join.png) + +Chat on Discord + + +## Thank you + +A big thank you ❤️ to these amazing people for contributing to this project! + + + + \ No newline at end of file From f69d6e4e52c8e68654c1e2672fe8c15e65d41bf8 Mon Sep 17 00:00:00 2001 From: Stavros Date: Wed, 25 Oct 2023 10:55:59 +0300 Subject: [PATCH 246/263] Add suffix to Drawio. (#1463) * Add url suffix. * Update description.md --- apps/drawio/config.json | 1 + apps/drawio/metadata/description.md | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/apps/drawio/config.json b/apps/drawio/config.json index fc222334..bb2ed3b0 100644 --- a/apps/drawio/config.json +++ b/apps/drawio/config.json @@ -3,6 +3,7 @@ "available": true, "port": 8734, "exposable": true, + "url_suffix": "?offline=1", "id": "drawio", "description": "draw.io is a JavaScript, client-side editor for general diagramming and whiteboarding.", "tipi_version": 2, diff --git a/apps/drawio/metadata/description.md b/apps/drawio/metadata/description.md index 543a0277..4b30ac54 100644 --- a/apps/drawio/metadata/description.md +++ b/apps/drawio/metadata/description.md @@ -1,7 +1,5 @@ ## Draw.io -**Warning:** when openning the draw.io page add an ``?offline=1`` in the end else you will get ``Failed to execute 'open' on 'XMLHttpRequest': Invalid URL`` error! - draw.io, this project, is a configurable diagramming/whiteboarding visualization application. draw.io is jointly owned and developed by JGraph Ltd and draw.io AG. As well as running this project, we run a production-grade deployment of the diagramming interface at [https://app.diagrams.net](https://app.diagrams.net). From 57bab3f0d84424be06872b346b3e397b47bcf054 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 25 Oct 2023 10:06:28 +0000 Subject: [PATCH 247/263] chore(deps): update jgraph/drawio docker tag to v22.0.8 (#1464) --- apps/drawio/config.json | 4 ++-- apps/drawio/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/drawio/config.json b/apps/drawio/config.json index bb2ed3b0..238f0e83 100644 --- a/apps/drawio/config.json +++ b/apps/drawio/config.json @@ -6,8 +6,8 @@ "url_suffix": "?offline=1", "id": "drawio", "description": "draw.io is a JavaScript, client-side editor for general diagramming and whiteboarding.", - "tipi_version": 2, - "version": "22.0.7", + "tipi_version": 3, + "version": "22.0.8", "categories": [ "utilities" ], diff --git a/apps/drawio/docker-compose.yml b/apps/drawio/docker-compose.yml index c441b495..56257389 100644 --- a/apps/drawio/docker-compose.yml +++ b/apps/drawio/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.7" services: drawio: - image: jgraph/drawio:22.0.7 + image: jgraph/drawio:22.0.8 ports: - ${APP_PORT}:8080 container_name: drawio From e8d8a73fadc5b279bfcc87f4966dba46efcf4e14 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 25 Oct 2023 12:54:35 +0000 Subject: [PATCH 248/263] chore(deps): update tooljet/tooljet-server-ce docker tag to v2.22.1 (#1466) --- apps/tooljet/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/tooljet/docker-compose.yml b/apps/tooljet/docker-compose.yml index 2f18d640..bd79f061 100644 --- a/apps/tooljet/docker-compose.yml +++ b/apps/tooljet/docker-compose.yml @@ -44,7 +44,7 @@ services: tooljet-server: container_name: tooljet-server - image: tooljet/tooljet-server-ce:v2.22.0 + image: tooljet/tooljet-server-ce:v2.22.1 tty: true stdin_open: true restart: always From 19a0b1c4482f64578dc63df46ca462fca1dc6bdc Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 25 Oct 2023 12:55:15 +0000 Subject: [PATCH 249/263] chore(deps): update superseriousbusiness/gotosocial docker tag to v0.12.1 (#1465) --- apps/gotosocial/config.json | 4 ++-- apps/gotosocial/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/gotosocial/config.json b/apps/gotosocial/config.json index 21b6fead..98e780f1 100644 --- a/apps/gotosocial/config.json +++ b/apps/gotosocial/config.json @@ -6,10 +6,10 @@ "exposable": true, "force_expose": true, "id": "gotosocial", - "tipi_version": 9, + "tipi_version": 10, "uid": 1000, "gid": 1000, - "version": "0.12.0", + "version": "0.12.1", "categories": [ "social" ], diff --git a/apps/gotosocial/docker-compose.yml b/apps/gotosocial/docker-compose.yml index de9dd7a3..d2c85ede 100644 --- a/apps/gotosocial/docker-compose.yml +++ b/apps/gotosocial/docker-compose.yml @@ -3,7 +3,7 @@ version: "3" services: gotosocial: container_name: gotosocial - image: superseriousbusiness/gotosocial:0.12.0 + image: superseriousbusiness/gotosocial:0.12.1 user: 1000:1000 ports: - ${APP_PORT}:8080 From 2f280cdc6a63425050fa9ac18f11ad4551be3a12 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 25 Oct 2023 23:01:10 +0000 Subject: [PATCH 250/263] chore(deps): update ghcr.io/plankanban/planka docker tag to v1.14.3 (#1467) --- apps/planka/config.json | 4 ++-- apps/planka/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/planka/config.json b/apps/planka/config.json index 27f2e308..acfa92c6 100644 --- a/apps/planka/config.json +++ b/apps/planka/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "planka", - "tipi_version": 4, - "version": "1.14.2", + "tipi_version": 5, + "version": "1.14.3", "categories": [ "development" ], diff --git a/apps/planka/docker-compose.yml b/apps/planka/docker-compose.yml index 477fa6eb..e007bdd8 100644 --- a/apps/planka/docker-compose.yml +++ b/apps/planka/docker-compose.yml @@ -2,7 +2,7 @@ version: '3' services: planka: - image: ghcr.io/plankanban/planka:1.14.2 + image: ghcr.io/plankanban/planka:1.14.3 container_name: planka command: > bash -c From ed414a2c04ec9b39b5f0c7221f845a464113bed7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 26 Oct 2023 04:20:07 +0000 Subject: [PATCH 251/263] chore(deps): update ghost docker tag to v5.70.2 (#1468) --- apps/ghost/config.json | 4 ++-- apps/ghost/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/ghost/config.json b/apps/ghost/config.json index 0a505aa7..d2250398 100644 --- a/apps/ghost/config.json +++ b/apps/ghost/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "ghost", - "tipi_version": 55, - "version": "5.70.1", + "tipi_version": 56, + "version": "5.70.2", "categories": [ "social", "media" diff --git a/apps/ghost/docker-compose.yml b/apps/ghost/docker-compose.yml index 60e6886f..b76c0097 100644 --- a/apps/ghost/docker-compose.yml +++ b/apps/ghost/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.9" services: ghost: - image: ghost:5.70.1 + image: ghost:5.70.2 container_name: ghost depends_on: - ghostdb From 6a8670fc50a9569b0522e22d73b11748770ad703 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 26 Oct 2023 12:15:32 +0000 Subject: [PATCH 252/263] chore(deps): update budibase/budibase docker tag to v2.11.45 (#1469) --- apps/budibase/config.json | 4 ++-- apps/budibase/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/budibase/config.json b/apps/budibase/config.json index d62d4c75..5211c4ec 100644 --- a/apps/budibase/config.json +++ b/apps/budibase/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "budibase", - "tipi_version": 18, - "version": "2.11.41", + "tipi_version": 19, + "version": "2.11.45", "categories": [ "development" ], diff --git a/apps/budibase/docker-compose.yml b/apps/budibase/docker-compose.yml index a5b0d210..f5028dc5 100644 --- a/apps/budibase/docker-compose.yml +++ b/apps/budibase/docker-compose.yml @@ -1,7 +1,7 @@ version: '3.7' services: budibase: - image: budibase/budibase:2.11.41 + image: budibase/budibase:2.11.45 restart: unless-stopped container_name: budibase ports: From f2b3c059c96608a20061f77a4fa47ecf18bde757 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 26 Oct 2023 15:10:27 +0000 Subject: [PATCH 253/263] chore(deps): update ghcr.io/serge-chat/serge docker tag to v0.5.0 (#1470) --- apps/serge/config.json | 8 +++++--- apps/serge/docker-compose.yml | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/apps/serge/config.json b/apps/serge/config.json index 1928e4bd..94de2773 100644 --- a/apps/serge/config.json +++ b/apps/serge/config.json @@ -5,9 +5,11 @@ "exposable": true, "port": 8008, "id": "serge", - "tipi_version": 1, - "version": "0.4.1", - "categories": ["ai"], + "tipi_version": 2, + "version": "0.5.0", + "categories": [ + "ai" + ], "description": "", "short_desc": "LLaMA made easy", "author": "nsarrazin", diff --git a/apps/serge/docker-compose.yml b/apps/serge/docker-compose.yml index 206073dd..2d727421 100644 --- a/apps/serge/docker-compose.yml +++ b/apps/serge/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.7" services: serge: - image: ghcr.io/serge-chat/serge:0.4.1 + image: ghcr.io/serge-chat/serge:0.5.0 container_name: serge restart: unless-stopped ports: From 7586479920a255330da4be0e97765763f3a00d6c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 26 Oct 2023 20:19:35 +0000 Subject: [PATCH 254/263] chore(deps): update lscr.io/linuxserver/tautulli docker tag to v2.13.2 (#1471) --- apps/tautulli/config.json | 4 ++-- apps/tautulli/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/tautulli/config.json b/apps/tautulli/config.json index 5f242ddb..290ec2a0 100644 --- a/apps/tautulli/config.json +++ b/apps/tautulli/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 8181, "id": "tautulli", - "tipi_version": 11, - "version": "2.13.1", + "tipi_version": 12, + "version": "2.13.2", "categories": [ "media", "utilities" diff --git a/apps/tautulli/docker-compose.yml b/apps/tautulli/docker-compose.yml index 3e9b4cca..7338140b 100644 --- a/apps/tautulli/docker-compose.yml +++ b/apps/tautulli/docker-compose.yml @@ -2,7 +2,7 @@ version: "2.1" services: tautulli: container_name: tautulli - image: lscr.io/linuxserver/tautulli:2.13.1 + image: lscr.io/linuxserver/tautulli:2.13.2 environment: - PUID=1000 - PGID=1000 From 84e840efca28482b4d7b9d51aa1fc5dd8b704cf1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 26 Oct 2023 20:19:39 +0000 Subject: [PATCH 255/263] chore(deps): update netdata/netdata docker tag to v1.43.1 (#1472) --- apps/netdata/config.json | 4 ++-- apps/netdata/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/netdata/config.json b/apps/netdata/config.json index 180289d2..d1c4e7d9 100644 --- a/apps/netdata/config.json +++ b/apps/netdata/config.json @@ -5,8 +5,8 @@ "exposable": true, "id": "netdata", "description": "Stream any metrics from every physical and virtual server, container and IoT device, to one dashboard, in real-time.", - "tipi_version": 2, - "version": "1.43.0", + "tipi_version": 3, + "version": "1.43.1", "categories": [ "utilities" ], diff --git a/apps/netdata/docker-compose.yml b/apps/netdata/docker-compose.yml index c0ea0e63..d895178d 100644 --- a/apps/netdata/docker-compose.yml +++ b/apps/netdata/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.7" services: netdata: - image: netdata/netdata:v1.43.0 + image: netdata/netdata:v1.43.1 container_name: netdata pid: host restart: unless-stopped From 9ba5044ad4f1f3e1daf06508fb65fba05450d51c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 26 Oct 2023 21:47:35 +0000 Subject: [PATCH 256/263] chore(deps): update ghostfolio/ghostfolio docker tag to v2.15.0 (#1473) --- apps/ghostfolio/config.json | 4 ++-- apps/ghostfolio/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/ghostfolio/config.json b/apps/ghostfolio/config.json index 91f7ef5c..4837cc28 100644 --- a/apps/ghostfolio/config.json +++ b/apps/ghostfolio/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "ghostfolio", - "tipi_version": 11, - "version": "2.14.0", + "tipi_version": 12, + "version": "2.15.0", "categories": [ "finance" ], diff --git a/apps/ghostfolio/docker-compose.yml b/apps/ghostfolio/docker-compose.yml index 376100dc..365eb0a7 100644 --- a/apps/ghostfolio/docker-compose.yml +++ b/apps/ghostfolio/docker-compose.yml @@ -3,7 +3,7 @@ version: "3.9" services: ghostfolio: container_name: ghostfolio - image: ghostfolio/ghostfolio:2.14.0 + image: ghostfolio/ghostfolio:2.15.0 restart: unless-stopped ports: - ${APP_PORT}:3333 From e1dc3e35b6a07c5fc16f2bd205253bc18b66bb3a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 26 Oct 2023 21:47:44 +0000 Subject: [PATCH 257/263] chore(deps): update mauriceo/viewtube docker tag to v0.13.0 (#1474) --- apps/viewtube/config.json | 8 +++++--- apps/viewtube/docker-compose.arm64.yml | 2 +- apps/viewtube/docker-compose.yml | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/apps/viewtube/config.json b/apps/viewtube/config.json index dd48bdae..0e9e3303 100644 --- a/apps/viewtube/config.json +++ b/apps/viewtube/config.json @@ -5,9 +5,11 @@ "available": true, "exposable": true, "id": "viewtube", - "tipi_version": 2, - "version": "0.12.2", - "categories": ["media"], + "tipi_version": 3, + "version": "0.13.0", + "categories": [ + "media" + ], "description": "The open source, privacy-conscious way to enjoy your favorite YouTube content.", "short_desc": "The open source, privacy-conscious way to enjoy your favorite YouTube content.", "author": "ViewTube", diff --git a/apps/viewtube/docker-compose.arm64.yml b/apps/viewtube/docker-compose.arm64.yml index 07e8703e..a6a5df77 100644 --- a/apps/viewtube/docker-compose.arm64.yml +++ b/apps/viewtube/docker-compose.arm64.yml @@ -4,7 +4,7 @@ services: viewtube: restart: unless-stopped container_name: viewtube - image: mauriceo/viewtube:0.12.2 + image: mauriceo/viewtube:0.13.0 depends_on: - viewtube-mongodb - viewtube-redis diff --git a/apps/viewtube/docker-compose.yml b/apps/viewtube/docker-compose.yml index 46f386f7..5246a892 100644 --- a/apps/viewtube/docker-compose.yml +++ b/apps/viewtube/docker-compose.yml @@ -4,7 +4,7 @@ services: viewtube: restart: unless-stopped container_name: viewtube - image: mauriceo/viewtube:0.12.2 + image: mauriceo/viewtube:0.13.0 depends_on: - viewtube-mongodb - viewtube-redis From 4a7eca57ccd0b4b76c2cceefc2c34f14a26e6ec4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 27 Oct 2023 07:57:58 +0000 Subject: [PATCH 258/263] chore(deps): update dullage/flatnotes docker tag to v3.4.0 (#1475) --- apps/flatnotes/config.json | 4 ++-- apps/flatnotes/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/flatnotes/config.json b/apps/flatnotes/config.json index 19f76287..928ba7b0 100644 --- a/apps/flatnotes/config.json +++ b/apps/flatnotes/config.json @@ -5,8 +5,8 @@ "exposable": true, "id": "flatnotes", "port": 8137, - "tipi_version": 14, - "version": "3.3.1", + "tipi_version": 15, + "version": "3.4.0", "categories": [ "utilities" ], diff --git a/apps/flatnotes/docker-compose.yml b/apps/flatnotes/docker-compose.yml index 6b1de95a..217d3ce3 100644 --- a/apps/flatnotes/docker-compose.yml +++ b/apps/flatnotes/docker-compose.yml @@ -3,7 +3,7 @@ version: "3" services: flatnotes: container_name: flatnotes - image: dullage/flatnotes:v3.3.1 + image: dullage/flatnotes:v3.4.0 environment: FLATNOTES_AUTH_TYPE: ${FLATNOTES_AUTH_TYPE} FLATNOTES_USERNAME: ${FLATNOTES_USERNAME} From 567ee1d54e89dd320947f255d9dd6ee147f4dbee Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 27 Oct 2023 10:16:35 +0000 Subject: [PATCH 259/263] chore(deps): update halohub/halo docker tag to v2.10.1 (#1476) --- apps/halo/config.json | 4 ++-- apps/halo/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/halo/config.json b/apps/halo/config.json index 569022a0..46b67d75 100644 --- a/apps/halo/config.json +++ b/apps/halo/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 8092, "id": "halo", - "tipi_version": 10, - "version": "2.10.0", + "tipi_version": 11, + "version": "2.10.1", "description": "Halo is a powerful and easy-to-use open source website building tool.", "short_desc": "Halo - Open source website building tool.", "categories": [ diff --git a/apps/halo/docker-compose.yml b/apps/halo/docker-compose.yml index 29540596..e4d7ed70 100644 --- a/apps/halo/docker-compose.yml +++ b/apps/halo/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: halo: - image: halohub/halo:2.10.0 + image: halohub/halo:2.10.1 container_name: halo restart: unless-stopped depends_on: From 5ef01bd52260e0d9f8f5730a1b5bd1750070a727 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 27 Oct 2023 22:23:46 +0000 Subject: [PATCH 260/263] chore(deps): update ghcr.io/autobrr/autobrr docker tag to v1.32.0 (#1479) --- apps/autobrr/config.json | 4 ++-- apps/autobrr/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/autobrr/config.json b/apps/autobrr/config.json index c0a33dab..44372abe 100644 --- a/apps/autobrr/config.json +++ b/apps/autobrr/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "autobrr", - "tipi_version": 11, - "version": "1.31.0", + "tipi_version": 12, + "version": "1.32.0", "categories": [ "media" ], diff --git a/apps/autobrr/docker-compose.yml b/apps/autobrr/docker-compose.yml index 4ba55ae9..1ea0ac22 100644 --- a/apps/autobrr/docker-compose.yml +++ b/apps/autobrr/docker-compose.yml @@ -3,7 +3,7 @@ version: "3" services: autobrr: container_name: autobrr - image: ghcr.io/autobrr/autobrr:v1.31.0 + image: ghcr.io/autobrr/autobrr:v1.32.0 restart: unless-stopped ports: - ${APP_PORT}:7474 From da12b58c714e4ee8162bb9aadd89d19081445c7a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 27 Oct 2023 22:25:31 +0000 Subject: [PATCH 261/263] chore(deps): update nextcloud docker tag to v25.0.13 (#1478) --- apps/nextcloud/config.json | 4 ++-- apps/nextcloud/docker-compose.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/nextcloud/config.json b/apps/nextcloud/config.json index aa509382..4c7b020a 100644 --- a/apps/nextcloud/config.json +++ b/apps/nextcloud/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 8083, "id": "nextcloud", - "tipi_version": 17, - "version": "25.0.12-apache", + "tipi_version": 18, + "version": "25.0.13-apache", "categories": [ "data" ], diff --git a/apps/nextcloud/docker-compose.yml b/apps/nextcloud/docker-compose.yml index 0f45510a..94c121a8 100644 --- a/apps/nextcloud/docker-compose.yml +++ b/apps/nextcloud/docker-compose.yml @@ -3,7 +3,7 @@ version: "3.7" services: nextcloud: container_name: nextcloud - image: nextcloud:25.0.12-apache + image: nextcloud:25.0.13-apache restart: unless-stopped ports: - ${APP_PORT}:80 @@ -69,7 +69,7 @@ services: - tipi_main_network cron: - image: nextcloud:25.0.12-apache + image: nextcloud:25.0.13-apache restart: on-failure volumes: - ${APP_DATA_DIR}/data/nextcloud:/var/www/html From aac1122298cb22231272020915a5da8a2b36af76 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 28 Oct 2023 04:49:15 +0000 Subject: [PATCH 262/263] chore(deps): update ghost docker tag to v5.71.0 (#1480) --- apps/ghost/config.json | 4 ++-- apps/ghost/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/ghost/config.json b/apps/ghost/config.json index d2250398..7c98c50e 100644 --- a/apps/ghost/config.json +++ b/apps/ghost/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "ghost", - "tipi_version": 56, - "version": "5.70.2", + "tipi_version": 57, + "version": "5.71.0", "categories": [ "social", "media" diff --git a/apps/ghost/docker-compose.yml b/apps/ghost/docker-compose.yml index b76c0097..7d8a6463 100644 --- a/apps/ghost/docker-compose.yml +++ b/apps/ghost/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.9" services: ghost: - image: ghost:5.70.2 + image: ghost:5.71.0 container_name: ghost depends_on: - ghostdb From a4b880e1b616012b5ca57871f0bfc756542cc325 Mon Sep 17 00:00:00 2001 From: Nicolas Meienberger Date: Sat, 28 Oct 2023 10:55:30 +0200 Subject: [PATCH 263/263] chore(wizarr): pin version --- apps/wizarr/config.json | 8 ++--- apps/wizarr/docker-compose.yml | 2 +- apps/wizarr/metadata/description.md | 45 ++--------------------------- 3 files changed, 7 insertions(+), 48 deletions(-) diff --git a/apps/wizarr/config.json b/apps/wizarr/config.json index 00538921..b30923d3 100644 --- a/apps/wizarr/config.json +++ b/apps/wizarr/config.json @@ -6,14 +6,14 @@ "exposable": true, "id": "wizarr", "tipi_version": 5, - "version": "latest", + "version": "latest-3.4.2", "categories": [ "utilities" ], - "description": "Wizarr is a automatic user invitation system for Plex and Jellyfin. Create a unique link and share it to a user and they will be invited to your Media Server after they complete there signup proccess! They can even be guided to download the clients and read instructions on how to use your media software!", - "short_desc": "Wizarr is a automatic user invitation system for Plex and Jellyfin.", + "description": "Wizarr is an automatic user invitation system for Plex and Jellyfin. Create a unique link and share it to a user and they will be invited to your Media Server after they complete there signup proccess! They can even be guided to download the clients and read instructions on how to use your media software!", + "short_desc": "Wizarr is an automatic user invitation system for Plex and Jellyfin.", "author": "https://github.com/Wizarrrr", "source": "https://github.com/Wizarrrr/wizarr", "website": "https://docs.wizarr.dev/", "form_fields": [] -} \ No newline at end of file +} diff --git a/apps/wizarr/docker-compose.yml b/apps/wizarr/docker-compose.yml index 7c8c2784..3ad8f0ca 100644 --- a/apps/wizarr/docker-compose.yml +++ b/apps/wizarr/docker-compose.yml @@ -3,7 +3,7 @@ version: "3.8" services: wizarr: container_name: wizarr - image: ghcr.io/wizarrrr/wizarr:latest + image: ghcr.io/wizarrrr/wizarr:latest-3.4.2 ports: - ${APP_PORT}:5690 volumes: diff --git a/apps/wizarr/metadata/description.md b/apps/wizarr/metadata/description.md index 19dbb368..487cd1a6 100644 --- a/apps/wizarr/metadata/description.md +++ b/apps/wizarr/metadata/description.md @@ -1,45 +1,4 @@ -

Wizarr

-

The Free Media Invitation System

- ---- - -

- -
-
- -GPL 2.0 License - - -Current Release - - - - - -Donate - - -Submit Feature Requests - - -Chat on Discord - - -Join our Subreddit - - -Github Issue - - -Submit Feature Requests - - -Github Build - -

- -Wizarr is a automatic user invitation system for Plex and Jellyfin. Create a unique link and share it to a user and they will be invited to your Media Server after they complete there signup proccess! They can even be guided to download the clients and read instructions on how to use your media software! +Wizarr is an automatic user invitation system for Plex and Jellyfin. Create a unique link and share it to a user and they will be invited to your Media Server after they complete there signup proccess! They can even be guided to download the clients and read instructions on how to use your media software! ## Where is V2? @@ -93,4 +52,4 @@ A big thank you ❤️ to these amazing people for contributing to this project! - \ No newline at end of file +

+ +
+
+
+GPL 2.0 License + + +Current Release + + + + + +Donate + + +Submit Feature Requests + + +Chat on Discord + + +Join our Subreddit + + +Github Issue + + +Submit Feature Requests + + +Github Build + +