Install current versions instead of relying on the upgrade script to fix things later

This commit is contained in:
Bernhard "bero" Rosenkränzer (Boggins) 2025-02-17 23:41:01 +01:00
parent 93a7ed6689
commit c79918c201
42 changed files with 41 additions and 68 deletions

View File

@ -14,8 +14,6 @@ config_authelia() {
fi
cat > /federated/apps/authelia/docker-compose.yml <<EOF
version: '3.7'
services:
authelia:
image: authelia/authelia:\${IMAGE_VERSION}
@ -56,7 +54,7 @@ POWERDNS_CLIENT_SECRET_HASH=$(docker run --rm authelia/authelia:latest authelia
[[ -d "/federated/apps/pdnsmysql/data/var/lib/mysql/pdnsadmin" ]] && POWERDNS_DB="pdnsadmin" || POWERDNS_DB="pdns"
cat > /federated/apps/authelia/.env <<EOF
IMAGE_VERSION=4.38.8
IMAGE_VERSION=$(current_version authelia)
X_AUTHELIA_CONFIG_FILTERS=template
X_AUTHELIA_CONFIG=/config/configuration.yml,/config/idproviders.yml
AUTHELIA_TOTP_ISSUER=$DOMAIN

View File

@ -56,7 +56,7 @@ networks:
EOF
cat > /federated/apps/autodiscover/.env <<EOF
IMAGE_VERSION="620af02"
IMAGE_VERSION="$(current_version autodiscover)"
COMPANY_NAME=$COMPANY
SUPPORT_URL=https://autodiscover.$DOMAIN
DOMAIN=$DOMAIN

View File

@ -43,7 +43,7 @@ EOF
[[ "${PLUS}" = "true" ]] && sed -i "s/letsencrypt/httpresolver/g" /federated/apps/baserow/docker-compose.yml
cat > /federated/apps/baserow/.env <<EOF
IMAGE_VERSION="1.18.0"
IMAGE_VERSION="$(current_version baserow)"
BASEROW_PUBLIC_URL=https://baserow.$DOMAIN
DATABASE_HOST=postgresql.$DOMAIN
DATABASE_NAME=baserow

View File

@ -45,7 +45,7 @@ BOOKSTACK_SECRET=$(create_password);
[[ "${PLUS}" = "true" ]] && sed -i "s/letsencrypt/httpresolver/g" /federated/apps/bookstack/docker-compose.yml
cat > /federated/apps/bookstack/.env <<EOF
IMAGE_VERSION="24.05.3"
IMAGE_VERSION="$(current_version bookstack)"
PUID=1000
PGID=1000
APP_URL=https://bookstack.$DOMAIN

View File

@ -15,8 +15,6 @@ config_caddy() {
fi
cat > /federated/apps/caddy/docker-compose.yml <<EOF
version: "3.7"
services:
caddy:
image: federatedcomputer/caddy:\${IMAGE_VERSION}
@ -46,7 +44,7 @@ networks:
EOF
cat > /federated/apps/caddy/.env <<EOF
IMAGE_VERSION="latest"
IMAGE_VERSION="$(current_version caddy)"
EOF
chmod 600 /federated/apps/caddy/.env

View File

@ -62,7 +62,7 @@ EOF
CALENDSO_ENCRYPTION_KEY=`dd if=/dev/urandom bs=1K count=1 2>/dev/null | md5sum | awk '{ print $1 }'`
cat > /federated/apps/calcom/.env <<EOF
IMAGE_VERSION=v4.7.8
IMAGE_VERSION=$(current_version calcom)
# Set this value to 'agree' to accept our license:
# LICENSE: https://github.com/calendso/calendso/blob/main/LICENSE

View File

@ -45,7 +45,7 @@ CASTOPOD_SECRET=$(create_password)
[[ "${PLUS}" = "true" ]] && sed -i "s/letsencrypt/httpresolver/g" /federated/apps/castopod/docker-compose.yml
cat > /federated/apps/castopod/.env <<EOF
IMAGE_VERSION="1.6.5"
IMAGE_VERSION="$(current_version castopod)"
MYSQL_DATABASE=castopod
MYSQL_USER=castopod
MYSQL_PASSWORD=$CASTOPOD_SECRET

View File

@ -16,8 +16,6 @@ config_collabora() {
get_externalip
cat > /federated/apps/collabora/docker-compose.yml <<EOF
version: '3.7'
services:
collabora:
image: collabora/code:\${IMAGE_VERSION}
@ -53,7 +51,7 @@ networks:
EOF
cat > /federated/apps/collabora/.env <<EOF
IMAGE_VERSION=24.04.9.2.1
IMAGE_VERSION=$(current_version collabora)
domain=nextcloud.$DOMAIN
server_name=collabora.$DOMAIN
extra_params="--o:ssl.enable=false --o:ssl.termination=true"

View File

@ -18,8 +18,6 @@ config_connector() {
DOMAIN_LAST=${DOMAIN_ARRAY[1]}
cat > /federated/apps/connector/docker-compose.yml <<EOF
version: '3.7'
services:
connector:
image: federatedcomputer/web-connector:\${IMAGE_VERSION}

View File

@ -14,8 +14,6 @@ config_coturn() {
fi
cat > /federated/apps/coturn/docker-compose.yml <<EOF
version: '3.7'
services:
coturn:
image: coturn/coturn:\${IMAGE_VERSION}
@ -42,7 +40,7 @@ networks:
EOF
cat > /federated/apps/coturn/.env <<EOF
IMAGE_VERSION="4.6.2"
IMAGE_VERSION="$(current_version coturn)"
LOG_FILE=stdout
PORT=3478
ALT_PORT=3479

View File

@ -92,7 +92,7 @@ cat > /etc/logrotate.d/federated <<EOF
EOF
cat > /federated/apps/discourse/.env <<EOF
IMAGE_VERSION="3.3.3"
IMAGE_VERSION="$(current_version discourse)"
DISCOURSE_HOST=discourse.$DOMAIN
DISCOURSE_USERNAME=admin
DISCOURSE_PASSWORD=$ADMINPASS

View File

@ -16,8 +16,6 @@ config_dns() {
mkdir -p /federated/apps/dns/data/var/log/letsencrypt
cat > /federated/apps/dns/docker-compose.yml <<EOF
version: '3.7'
services:
dns:
image: alpine:\${IMAGE_VERSION}

View File

@ -40,7 +40,7 @@ EOF
[[ "${PLUS}" = "true" ]] && sed -i "s/letsencrypt/httpresolver/g" /federated/apps/element/docker-compose.yml
cat > /federated/apps/element/.env <<EOF
IMAGE_VERSION="v1.11.33"
IMAGE_VERSION="$(current_version element)"
EOF
chmod 600 /federated/apps/element/.env

View File

@ -44,7 +44,7 @@ EOF
ESPOCRM_SECRET=$(create_password)
cat > /federated/apps/espocrm/.env <<EOF
IMAGE_VERSION="8.4.0-apache"
IMAGE_VERSION="$(current_version espocrm)"
ESPOCRM_DATABASE_HOST=pdnsmysql.$DOMAIN
ESPOCRM_DATABASE_NAME=espocrm
ESPOCRM_DATABASE_USER=espocrm

View File

@ -44,7 +44,7 @@ EOF
FREESCOUT_SECRET=$(create_password);
cat > /federated/apps/freescout/.env <<EOF
IMAGE_VERSION="latest_php8.3"
IMAGE_VERSION="$(current_version freescout)"
ADMIN_EMAIL=admin@$DOMAIN
ADMIN_PASS=$ADMINPASS
SITE_URL=https://freescout.$DOMAIN

View File

@ -58,7 +58,7 @@ GITEA_SECRET=$(create_password);
if [[ "${PLUS}" = "true" ]]; then
cat > /federated/apps/gitea/.env <<EOF
IMAGE_VERSION="1.19.0"
IMAGE_VERSION="$(current_version gitea)"
USER_UID=1000
USER_GID=1000
GITEA__database__DB_TYPE=postgres
@ -85,7 +85,7 @@ GITEA__service__DISABLE_REGISTRATION=true
EOF
else
cat > /federated/apps/gitea/.env <<EOF
IMAGE_VERSION="1.19.0"
IMAGE_VERSION="$(current_version gitea)"
USER_UID=1000
USER_GID=1000
GITEA__database__DB_TYPE=postgres

View File

@ -40,7 +40,7 @@ if [ "$JITSI_SCALE" != "server" ]; then
cat >> /federated/apps/jitsi/docker-compose.yml <<EOF
# Frontend
web:
image: jitsi/web:\${JITSI_IMAGE_VERSION:-stable-9779}
image: jitsi/web:\${JITSI_IMAGE_VERSION:-$(current_version jitsi)}
restart: \${RESTART_POLICY:-unless-stopped}
ports:
- '\${HTTP_PORT}:80'
@ -194,7 +194,7 @@ if [ "$JITSI_SCALE" != "server" ]; then
# XMPP server
prosody:
image: jitsi/prosody:\${JITSI_IMAGE_VERSION:-stable-9779}
image: jitsi/prosody:\${JITSI_IMAGE_VERSION:-$(current_version jitsi)}
restart: \${RESTART_POLICY:-unless-stopped}
expose:
- '\${XMPP_PORT:-5222}'
@ -305,7 +305,7 @@ EOF
# Focus component
jicofo:
image: jitsi/jicofo:\${JITSI_IMAGE_VERSION:-stable-9779}
image: jitsi/jicofo:\${JITSI_IMAGE_VERSION:-$(current_version jitsi)}
restart: \${RESTART_POLICY:-unless-stopped}
volumes:
- \${CONFIG}/jicofo:/config:Z
@ -360,7 +360,7 @@ if [ "$JITSI_SCALE" != "client" ]; then
cat >> /federated/apps/jitsi/docker-compose.yml <<EOF
# Video bridge
jvb:
image: jitsi/jvb:\${JITSI_IMAGE_VERSION:-stable-9779}
image: jitsi/jvb:\${JITSI_IMAGE_VERSION:-$(current_version jitsi)}
restart: \${RESTART_POLICY:-unless-stopped}
ports:
- '\${JVB_PORT:-10000}:\${JVB_PORT:-10000}/udp'
@ -716,7 +716,7 @@ cat >> /federated/apps/jitsi/.env <<EOF
#RESTART_POLICY=unless-stopped
# Jitsi image version (useful for local development)
JITSI_IMAGE_VERSION=stable-9823
JITSI_IMAGE_VERSION=$(current_version jitsi)
EOF
mkdir -p /federated/apps/jitsi/data/config/{web,transcripts,prosody/config,prosody/prosody-plugins-custom,jicofo,jvb,jigasi,jibri}

View File

@ -14,8 +14,6 @@ config_jitsiopenid() {
fi
cat > /federated/apps/jitsiopenid/docker-compose.yml <<EOF
version: '3.7'
services:
jitsiopenid:
image: mod242/jitsi-go-openid:\${IMAGE_VERSION}

View File

@ -1,3 +1,4 @@
authelia=4.38.8
pdnsmysql=10.7.8
pdns=4.9
pdnsadmin=0.4.1
@ -7,6 +8,7 @@ baserow=1.30.1
collabora=24.04.12.2.1
element=v1.11.92
postgresql=14
redis=7.0.15
jitsi=stable-9955
nextcloud=30.0.5
listmonk=v4.1.0

View File

@ -48,7 +48,7 @@ networks:
EOF
cat > /federated/apps/ldap/.env <<EOF
IMAGE_VERSION="1.5.0"
IMAGE_VERSION="$(current_version ldap)"
LDAP_ORGANISATION=$COMPANY
LDAP_DOMAIN=federatedcomputer.cloud
LDAP_ADMIN_PASSWORD_FILE=/run/secrets/federated_ldap_password

View File

@ -43,7 +43,7 @@ networks:
EOF
cat > /federated/apps/listmonk/.env <<EOF
IMAGE_VERSION="v4.1.0"
IMAGE_VERSION="$(current_version listmonk)"
TZ=Etc/UTC
LISTMONK_ADMIN_USER=admin@$DOMAIN
LISTMONK_ADMIN_PASSWORD=$ADMINPASS

View File

@ -60,7 +60,7 @@ EOF
LDAP_SECRET=`cat /federated/apps/ldap/.ldap.secret`
cat > /federated/apps/mail/.env <<EOF
IMAGE_VERSION="14.0"
IMAGE_VERSION="$(current_version mail)"
ENABLE_SPAMASSASSIN=1
ENABLE_SPAMASSASSIN_KAM=1
SPAMASSASSIN_SPAM_TO_INBOX=1

View File

@ -50,7 +50,7 @@ EOF
[[ "${PLUS}" = "true" ]] && sed -i "s/letsencrypt/httpresolver/g" /federated/apps/matrix/docker-compose.yml
cat > /federated/apps/matrix/.env <<EOF
IMAGE_VERSION="v1.100.0"
IMAGE_VERSION="$(current_version matrix)"
EOF
chmod 600 /federated/apps/matrix/.env

View File

@ -12,8 +12,6 @@ config_matrixsignal() {
fi
cat > /federated/apps/matrixsignal/docker-compose.yml <<EOF
version: '3.7'
services:
matrixsignal:
image: dock.mau.dev/mautrix/signal:\${IMAGE_VERSION}

View File

@ -12,8 +12,6 @@ config_matrixslack() {
fi
cat > /federated/apps/matrixslack/docker-compose.yml <<EOF
version: '3.7'
services:
matrixslack:
image: dock.mau.dev/mautrix/slack:\${IMAGE_VERSION}

View File

@ -12,8 +12,6 @@ config_matrixwhatsapp() {
fi
cat > /federated/apps/matrixwhatsapp/docker-compose.yml <<EOF
version: '3.7'
services:
matrixwhatsapp:
image: dock.mau.dev/mautrix/whatsapp:\${IMAGE_VERSION}

View File

@ -15,8 +15,6 @@ config_msp() {
TRAEFIK_HTTPAUTH_STRING_MSP=$(echo `htpasswd -nb admin@$DOMAIN $ADMINPASS` | sed -e s/\\$/\\$\\$/g)
cat > /federated/apps/msp/docker-compose.yml <<EOF
version: '3.7'
services:
msp:
image: thebells1111/federated-msp:\${IMAGE_VERSION}

View File

@ -83,7 +83,7 @@ docker exec postgresql psql -U postgres -c "CREATE USER nextcloud WITH PASSWORD
docker exec postgresql psql -U postgres -c "GRANT ALL PRIVILEGES ON DATABASE nextcloud TO nextcloud" &> /dev/null
cat > /federated/apps/nextcloud/.env <<EOF
IMAGE_VERSION=30.0.2
IMAGE_VERSION=$(current_version nextcloud)
NEXTCLOUD_UPDATE=1
PHP_MEMORY_LIMIT=2048M
PHP_UPLOAD_LIMIT=2048M

View File

@ -13,8 +13,6 @@ config_nginx() {
fi
cat > /federated/apps/nginx/docker-compose.yml <<EOF
version: '3.7'
services:
nginx:
image: nginx:latest

View File

@ -43,7 +43,7 @@ tar zxvf /federated/lib/files/panel/ldapusermanager-* -C /federated/apps/panel/d
LDAP_SECRET=`cat /federated/apps/ldap/.ldap.secret`
cat > /federated/apps/panel/.env <<EOF
IMAGE_VERSION="v1.11"
IMAGE_VERSION="$(current_version panel)"
SERVER_HOSTNAME=panel.$DOMAIN
LDAP_URI=ldap://ldap.$DOMAIN
LDAP_BASE_DN=dc=federatedcomputer,dc=cloud

View File

@ -42,7 +42,7 @@ EOF
PDNS_WEBSERVER_PASSWORD=$(create_password)
cat > /federated/apps/pdns/.env <<EOF
IMAGE_VERSION="4.9"
IMAGE_VERSION="$(current_version pdns)"
PDNS_gmysql_host=pdnsmysql.$DOMAIN
PDNS_gmysql_port=3306
PDNS_gmysql_user=pdns

View File

@ -42,7 +42,7 @@ PDNS_ADMIN_WEBSERVER_PASSWORD_SALT=`htpasswd -bnBC 10 "" $ADMINPASS | tr -d ':\n
PDNS_MYSQL_COMMAND="insert into user (id, username, password, firstname, lastname, email, otp_secret, role_id, confirmed) values (\"1\", \"admin@$DOMAIN\", \"$PDNS_ADMIN_WEBSERVER_PASSWORD_SALT\", \"Admin\", \"Federated\", \"admin@$DOMAIN\", \"\", \"1\", \"0\");"
cat > /federated/apps/pdnsadmin/.env <<EOF
IMAGE_VERSION="0.4.1"
IMAGE_VERSION="$(current_version pdnsadmin)"
PDNS_ADMIN_SQLA_DB_HOST="'mysql'"
PDNS_ADMIN_SQLA_DB_PORT="'3306'"
PDNS_ADMIN_SQLA_DB_USER="'pdns'"

View File

@ -23,8 +23,6 @@ config_pdnsstatic() {
# DOMAIN_LAST=${DOMAIN_ARRAY[1]}
cat > /federated/apps/pdns-static/docker-compose.yml <<EOF
version: '3.7'
services:
pdns-static:
image: pschiffe/pdns-admin-static\${IMAGE_VERSION}

View File

@ -31,7 +31,7 @@ config_plane() {
cat >/federated/apps/plane/.env <<'EOF'
APP_DOMAIN=plane.@DOMAIN@
IMAGE_VERSION=v0.24.1
IMAGE_VERSION=@VERSION@
VALKEY_RELEASE=7.2.5-alpine
RABBITMQ_RELEASE=3.13.6-management-alpine
MINIO_RELEASE=RELEASE.2024-12-18T13-15-44Z
@ -469,6 +469,7 @@ networks:
external: true
EOF
sed -i -e "s,@DOMAIN@,${DOMAIN},g" \
-e "s,@VERSION@,$(current_version plane),g" \
-e "s,@POSTGRES_PASSWORD@,${POSTGRES_PASSWORD},g" \
-e "s,@EMAIL_PASSWORD@,${EMAIL_PASSWORD},g" \
/federated/apps/plane/docker-compose.yml \

View File

@ -98,7 +98,7 @@ EOF
fi
cat > /federated/apps/postgresql/.env <<EOF
IMAGE_VERSION="14"
IMAGE_VERSION="$(current_version postgresql)"
POSTGRES_DB=postgres
POSTGRES_USER=postgres
POSTGRES_PASSWORD_FILE=/run/secrets/federated_psql_password
@ -106,7 +106,7 @@ POSTGRES_INITDB_ARGS=--encoding='UTF8' --lc-collate='C' --lc-ctype='C'
EOF
chmod 600 /federated/apps/postgresql/.env
PSQL_SECRET=$(create_password);
PSQL_SECRET=$(create_password)
echo "$PSQL_SECRET" > /federated/apps/postgresql/.postgresql.secret
chmod 600 /federated/apps/postgresql/.postgresql.secret

View File

@ -25,8 +25,6 @@ config_proxy() {
# DOMAIN_LAST=${DOMAIN_ARRAY[1]}
cat > /federated/apps/proxy/docker-compose.yml <<EOF
version: '3.7'
services:
proxy:
image: jwilder/nginx-proxy:\${IMAGE_VERSION}

View File

@ -37,7 +37,7 @@ EOF
REDIS_SECRET=$(create_password);
cat > /federated/apps/redis/.env <<EOF
IMAGE_VERSION="7.0.15"
IMAGE_VERSION="$(current_version redis)"
REDIS_PASSWORD=$REDIS_SECRET
EOF
chmod 600 /federated/apps/redis/.env

View File

@ -42,7 +42,7 @@ EOF
ROUNDCUBE_SECRET=$(create_password);
cat > /federated/apps/roundcube/.env <<EOF
IMAGE_VERSION="1.6.8-apache"
IMAGE_VERSION="$(current_version roundcube)"
ROUNDCUBEMAIL_DB_TYPE=mysql
ROUNDCUBEMAIL_DB_HOST=pdnsmysql.$DOMAIN
ROUNDCUBEMAIL_DB_USER=roundcube

View File

@ -146,11 +146,11 @@ PDNS_APIKEY=`grep PDNS_api_key /federated/apps/pdns/.env | awk -F= '{ print $2 }
if [[ "${PLUS}" = "true" ]]; then
cat > /federated/apps/traefik/.env <<EOF
IMAGE_VERSION="v2.11.16"
IMAGE_VERSION="$(current_version traefik)"
EOF
else
cat > /federated/apps/traefik/.env <<EOF
IMAGE_VERSION="v2.11.16"
IMAGE_VERSION="$(current_version traefik)"
PDNS_API_KEY=$PDNS_APIKEY
PDNS_API_URL=http://pdns.$DOMAIN:8081
EOF

View File

@ -14,8 +14,6 @@ config_vaultwarden() {
VAULTWARDEN_SECRET=$(create_password)
cat > /federated/apps/vaultwarden/docker-compose.yml <<EOF
version: '3.7'
services:
vaultwarden:
image: vaultwarden/server:\${IMAGE_VERSION}
@ -41,7 +39,7 @@ networks:
EOF
cat > /federated/apps/vaultwarden/.env <<EOF
IMAGE_VERSION="1.28.1"
IMAGE_VERSION="$(current_version vaultwarden)"
DATABASE_URL=postgresql://vaultwarden:$VAULTWARDEN_SECRET@postgresql.$DOMAIN:5432/vaultwarden
WEBSOCKET_ENABLED=true
DOMAIN=https://vaultwarden.$DOMAIN

View File

@ -42,7 +42,7 @@ networks:
EOF
cat > /federated/apps/wireguard/.env <<EOF
IMAGE_VERSION="1.0.20210914"
IMAGE_VERSION="$(current_version wireguard)"
PUID=1000
PGID=1000
SERVERURL=wireguard.$DOMAIN

View File

@ -46,7 +46,7 @@ networks:
EOF
cat > /federated/apps/wordpress/.env <<EOF
IMAGE_VERSION="6.2.2"
IMAGE_VERSION="$(current_version wordpress)"
WORDPRESS_USERNAME=admin@$DOMAIN
WORDPRESS_PASSWORD=$ADMINPASS
WORDPRESS_EMAIL=admin@$DOMAIN