From 37dd1d8d95c236d6d1771836c4da1f475a9be837 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bernhard=20Rosenkr=C3=A4nzer?= Date: Sun, 23 Feb 2025 23:44:15 +0100 Subject: [PATCH] Move versioning to service directories so auto-update MRs don't conflict --- lib/functions.sh | 23 ++++++++++++++++++----- services/authelia/service | 5 +++++ services/autodiscover/service | 9 +++++++++ services/baserow/service | 4 ++++ services/bookstack/service | 4 ++++ services/caddy/service | 3 +++ services/calcom/service | 5 +++++ services/castopod/service | 5 +++++ services/collabora/service | 4 ++++ services/coturn/service | 4 ++++ services/discourse/service | 2 +- services/element/service | 3 +++ services/espocrm/service | 4 ++++ services/freescout/service | 4 ++++ services/gitea/service | 5 +++++ services/jitsi/service | 5 +++++ services/ldap/service | 4 ++++ services/listmonk/service | 5 +++++ services/mail/service | 5 +++++ services/matrix/service | 4 ++++ services/msp/service | 3 +++ services/nextcloud/service | 4 ++++ services/panel/service | 3 +++ services/pdnsadmin/service | 4 ++++ services/plane/service | 6 ++++++ services/postgresql/service | 4 ++++ services/redis/service | 4 ++++ services/roundcube/service | 4 ++++ services/traefik/service | 3 +++ services/vaultwarden/service | 4 ++++ services/wireguard/service | 4 ++++ services/wordpress/service | 5 +++++ 32 files changed, 149 insertions(+), 6 deletions(-) create mode 100644 services/authelia/service create mode 100644 services/autodiscover/service create mode 100644 services/baserow/service create mode 100644 services/bookstack/service create mode 100644 services/caddy/service create mode 100644 services/calcom/service create mode 100644 services/castopod/service create mode 100644 services/collabora/service create mode 100644 services/coturn/service create mode 100644 services/element/service create mode 100644 services/espocrm/service create mode 100644 services/freescout/service create mode 100644 services/gitea/service create mode 100644 services/jitsi/service create mode 100644 services/ldap/service create mode 100644 services/listmonk/service create mode 100644 services/mail/service create mode 100644 services/matrix/service create mode 100644 services/msp/service create mode 100644 services/nextcloud/service create mode 100644 services/panel/service create mode 100644 services/pdnsadmin/service create mode 100644 services/plane/service create mode 100644 services/postgresql/service create mode 100644 services/redis/service create mode 100644 services/roundcube/service create mode 100644 services/traefik/service create mode 100644 services/vaultwarden/service create mode 100644 services/wireguard/service create mode 100644 services/wordpress/service diff --git a/lib/functions.sh b/lib/functions.sh index 42c9887..901fc29 100644 --- a/lib/functions.sh +++ b/lib/functions.sh @@ -143,12 +143,25 @@ upgrade_federated() { echo -ne "\n* Checking installed app versions with latest-versions." - [ ! -f "/federated/lib/latest-versions" ] && fail "File /federated/lib/latest-version doesn't exist." APP_DOTS='......................' - for i in `cat /federated/lib/latest-versions`; do - SERVICE=(${i//=/ }); - APP="${SERVICE[0]}" - VERSION="${SERVICE[1]}" + for i in /federated/apps/*; do + APP=$(basename $i) + VERSION="" + if [ -e /federated/services/${APP}/service ]; then + . /federated/services/${APP}/service + if [ -z "$VERSION" ]; then + echo "WARNING: No service file in ${APP} service file" >&2 + VERSION="$(cat /federated/lib/latest-versions |grep ^${APP}= |cut -d= -f2-)" + fi + else + echo "WARNING: No service file for ${APP} found" >&2 + VERSION="$(cat /federated/lib/latest-versions |grep ^${APP}= |cut -d= -f2-)" + fi + if [ -z "$VERSION" ]; then + echo "WARNING: No version information for ${APP} found" >&2 + continue + fi + printf "\n%s %s" "$APP" "${APP_DOTS:${#APP}} " if [ -f "/federated/apps/$APP/.env" ]; then diff --git a/services/authelia/service b/services/authelia/service new file mode 100644 index 0000000..3518287 --- /dev/null +++ b/services/authelia/service @@ -0,0 +1,5 @@ +CONTAINER=authelia/authelia +VERSION=4.38.8 +INTERNAL_IP=192.168.0.42 +PORTS=9091 +PUBLICPORTS="" diff --git a/services/autodiscover/service b/services/autodiscover/service new file mode 100644 index 0000000..5b11de8 --- /dev/null +++ b/services/autodiscover/service @@ -0,0 +1,9 @@ +if [ "$(uname -m)" = "x86_64" ]; then + CONTAINER=monogramm/autodiscover-email-settings +else + CONTAINER=federatedcomputer/autodiscover-email-settings +fi +VERSION=620af02 +DEPENDS=mail +INTERNAL_IP=192.168.0.32 +PORTS=8000 diff --git a/services/baserow/service b/services/baserow/service new file mode 100644 index 0000000..77c6caa --- /dev/null +++ b/services/baserow/service @@ -0,0 +1,4 @@ +CONTAINER=baserow/baserow +VERSION=1.30.1 +INTERNAL_IP=192.168.0.29 +DEPENDS="postgresql mail" diff --git a/services/bookstack/service b/services/bookstack/service new file mode 100644 index 0000000..40deb28 --- /dev/null +++ b/services/bookstack/service @@ -0,0 +1,4 @@ +CONTAINER=lscr.io/linuxserver/bookstack +VERSION=24.05.3 +INTERNAL_IP=192.168.0.36 +DEPENDS=pdnsmysql diff --git a/services/caddy/service b/services/caddy/service new file mode 100644 index 0000000..73cd1c9 --- /dev/null +++ b/services/caddy/service @@ -0,0 +1,3 @@ +CONTAINER=federatedcomputer/caddy +VERSION=latest +INTERNAL_IP=192.168.0.31 diff --git a/services/calcom/service b/services/calcom/service new file mode 100644 index 0000000..5145d09 --- /dev/null +++ b/services/calcom/service @@ -0,0 +1,5 @@ +CONTAINER=calcom/cal.com +VERSION=v4.7.8 +INTERNAL_IP=192.168.0.48 +PORTS=3000 +DEPENDS=postgresql diff --git a/services/castopod/service b/services/castopod/service new file mode 100644 index 0000000..e206a88 --- /dev/null +++ b/services/castopod/service @@ -0,0 +1,5 @@ +CONTAINER=castopod/castopod +VERSION=1.6.5 +INTERNAL_IP=192.168.0.33 +PORTS=8000 +DEPENDS=pdnsmysql diff --git a/services/collabora/service b/services/collabora/service new file mode 100644 index 0000000..da4ca5e --- /dev/null +++ b/services/collabora/service @@ -0,0 +1,4 @@ +CONTAINER=collabora/code +VERSION=24.04.12.2.1 +INTERNAL_IP=192.168.0.17 +PORTS=9980 diff --git a/services/coturn/service b/services/coturn/service new file mode 100644 index 0000000..021242d --- /dev/null +++ b/services/coturn/service @@ -0,0 +1,4 @@ +CONTAINER=coturn/coturn +VERSION=4.6.2 +INTERNAL_IP=192.168.0.35 +PORTS="3478 3479 5349 5350" diff --git a/services/discourse/service b/services/discourse/service index 902c468..54b8925 100644 --- a/services/discourse/service +++ b/services/discourse/service @@ -1,6 +1,6 @@ CONTAINER=docker.io/bitnami/discourse VERSION=3.3.3 -DEPENDS=redis +DEPENDS="redis postgresql" INTERNAL_IP=192.168.0.43 # sidekiq EXTRA_IPS=192.168.0.44 diff --git a/services/element/service b/services/element/service new file mode 100644 index 0000000..d9f1fb7 --- /dev/null +++ b/services/element/service @@ -0,0 +1,3 @@ +CONTAINER=vectorim/element-web +VERSION=v1.11.92 +INTERNAL_IP=192.168.0.20 diff --git a/services/espocrm/service b/services/espocrm/service new file mode 100644 index 0000000..8096e79 --- /dev/null +++ b/services/espocrm/service @@ -0,0 +1,4 @@ +CONTAINER=espocrm/espocrm +VERSION=8.4.0-apache +INTERNAL_IP=192.168.0.39 +DEPENDS="ldap pdnsmysql" diff --git a/services/freescout/service b/services/freescout/service new file mode 100644 index 0000000..69697f5 --- /dev/null +++ b/services/freescout/service @@ -0,0 +1,4 @@ +CONTAINER=ghcr.io/tiredofit/docker-freescout +VERSION=latest_php8.3 +INTERNAL_IP=192.168.0.37 +DEPENDS=postgresql diff --git a/services/gitea/service b/services/gitea/service new file mode 100644 index 0000000..4e49b75 --- /dev/null +++ b/services/gitea/service @@ -0,0 +1,5 @@ +CONTAINER=gitea/gitea +VERSION=1.23.3 +INTERNAL_IP=192.168.0.30 +PORTS=3000 +DEPENDS=postgresql diff --git a/services/jitsi/service b/services/jitsi/service new file mode 100644 index 0000000..83fedf5 --- /dev/null +++ b/services/jitsi/service @@ -0,0 +1,5 @@ +CONTAINER=jitsi/web +VERSION=stable-9955 +INTERNAL_IP=192.168.0.25 +PORTS="5222 5347 5280" +EXTRA_IPS="192.168.0.26 192.168.0.27 192.168.0.28" diff --git a/services/ldap/service b/services/ldap/service new file mode 100644 index 0000000..50ca302 --- /dev/null +++ b/services/ldap/service @@ -0,0 +1,4 @@ +CONTAINER=osixia/openldap +VERSION=1.5.0 +INTERNAL_IP=192.168.0.15 +PORTS="389 636" diff --git a/services/listmonk/service b/services/listmonk/service new file mode 100644 index 0000000..e9e8edf --- /dev/null +++ b/services/listmonk/service @@ -0,0 +1,5 @@ +CONTAINER=listmonk/listmonk +VERSION=v4.1.0 +INTERNAL_IP=192.168.0.21 +DEPENDS=postgresql +PORTS=9000 diff --git a/services/mail/service b/services/mail/service new file mode 100644 index 0000000..720467d --- /dev/null +++ b/services/mail/service @@ -0,0 +1,5 @@ +CONTAINER=docker.io/mailserver/docker-mailserver +VERSION=14.0 +INTERNAL_IP=192.168.0.16 +DEPENDS=ldap +PUBLIC_PORTS="25 143 465 587 993 4190" diff --git a/services/matrix/service b/services/matrix/service new file mode 100644 index 0000000..8bd4cc7 --- /dev/null +++ b/services/matrix/service @@ -0,0 +1,4 @@ +CONTAINER=matrixdotorg/synapse +VERSION=v1.124.0 +INTERNAL_IP=192.168.0.19 +DEPENDS=postgresql diff --git a/services/msp/service b/services/msp/service new file mode 100644 index 0000000..774df9a --- /dev/null +++ b/services/msp/service @@ -0,0 +1,3 @@ +CONTAINER=thebells1111/federated-msp +VERSION=latest +INTERNAL_IP=192.168.0.38 diff --git a/services/nextcloud/service b/services/nextcloud/service new file mode 100644 index 0000000..1102abb --- /dev/null +++ b/services/nextcloud/service @@ -0,0 +1,4 @@ +CONTAINER=nextcloud +VERSION=30.0.5 +INTERNAL_IP=192.168.0.18 +DEPENDS=postgresql diff --git a/services/panel/service b/services/panel/service new file mode 100644 index 0000000..864bd0b --- /dev/null +++ b/services/panel/service @@ -0,0 +1,3 @@ +CONTAINER=wheelybird/ldap-user-manager +VERSION=v1.11 +INTERNAL_IP=192.168.0.23 diff --git a/services/pdnsadmin/service b/services/pdnsadmin/service new file mode 100644 index 0000000..1fb69f1 --- /dev/null +++ b/services/pdnsadmin/service @@ -0,0 +1,4 @@ +CONTAINER=pschiffe/pdns-admin +VERSION=0.4.1 +INTERNAL_IP=192.168.0.12 +DEPENDS="pdnsmysql pdns" diff --git a/services/plane/service b/services/plane/service new file mode 100644 index 0000000..09d8ea2 --- /dev/null +++ b/services/plane/service @@ -0,0 +1,6 @@ +CONTAINER=makeplane/plane-frontend +VERSION=v0.24.1 +DEPENDS=postgresql +INTERNAL_IP=192.168.0.50 +EXTRA_IPS=192.168.0.51 +PORTS=3000 diff --git a/services/postgresql/service b/services/postgresql/service new file mode 100644 index 0000000..9c6bb4b --- /dev/null +++ b/services/postgresql/service @@ -0,0 +1,4 @@ +CONTAINER=postgres +VERSION=14 +INTERNAL_IP=192.168.0.14 +PORT=5432 diff --git a/services/redis/service b/services/redis/service new file mode 100644 index 0000000..be451c3 --- /dev/null +++ b/services/redis/service @@ -0,0 +1,4 @@ +CONTAINER=bitnami/redis +VERSION=7.0.15 +INTERNAL_IP=192.168.0.45 +PORTS=6379 diff --git a/services/roundcube/service b/services/roundcube/service new file mode 100644 index 0000000..b28b9c6 --- /dev/null +++ b/services/roundcube/service @@ -0,0 +1,4 @@ +CONTAINER=roundcube/roundcubemail +VERSION=1.6.9-apache +INTERNAL_IP=192.168.0.47 +DEPENDS="pdnsmysql mail" diff --git a/services/traefik/service b/services/traefik/service new file mode 100644 index 0000000..01ac2aa --- /dev/null +++ b/services/traefik/service @@ -0,0 +1,3 @@ +CONTAINER=traefik +VERSION=v2.11.16 +INTERNAL_IP=192.168.0.13 diff --git a/services/vaultwarden/service b/services/vaultwarden/service new file mode 100644 index 0000000..bd6fb12 --- /dev/null +++ b/services/vaultwarden/service @@ -0,0 +1,4 @@ +CONTAINER=vaultwarden/server +VERSION=1.32.7 +INTERNAL_IP=192.168.0.22 +DEPENDS=postgresql diff --git a/services/wireguard/service b/services/wireguard/service new file mode 100644 index 0000000..551bd3a --- /dev/null +++ b/services/wireguard/service @@ -0,0 +1,4 @@ +CONTAINER=linuxserver/wireguard +VERSION=1.0.20210914 +INTERNAL_IP=192.168.0.24 +PORTS="51820/udp" diff --git a/services/wordpress/service b/services/wordpress/service new file mode 100644 index 0000000..d1ed983 --- /dev/null +++ b/services/wordpress/service @@ -0,0 +1,5 @@ +CONTAINER=bitnami/wordpress +VERSION=6.2.2 +INTERNAL_IP=192.168.0.34 +PORTS=8080 +DEPENDS=pdnsmysql