Compare commits

2 Commits

Author SHA1 Message Date
nick 7739634007 switch Authentik SMTP to use SSL instead of TLS 2026-05-11 20:45:15 -07:00
nick bb530a5c24 migrate email to mailu 2026-05-11 20:33:29 -07:00
10 changed files with 61 additions and 185 deletions
@@ -1,6 +0,0 @@
TYPE=listmonk:5.1.0+v6.1.0
DOMAIN=listmonk.resisttechmonopolies.online
LETS_ENCRYPT_ENV=production
SECRET_DB_PASSWORD_VERSION=v1
@@ -1,4 +1,4 @@
TYPE=monitoring-ng:main
TYPE=monitoring-ng:23b13cb8
LETS_ENCRYPT_ENV=production
COMPOSE_FILE=compose.yml
DOMAIN=m.laylotta.resisttechmonopolies.online
@@ -6,15 +6,14 @@ TIMEOUT=120
ENABLE_BACKUPS=true
## Enable this secret for Promtail / Prometheus
COMPOSE_FILE="$COMPOSE_FILE:compose.basic-auth.yml"
SECRET_BASIC_AUTH_VERSION=v1
## Promtail (Gathering Logs)
#COMPOSE_FILE="$COMPOSE_FILE:compose.promtail.yml"
#LOKI_PUSH_URL=https://loki.${DOMAIN}/loki/api/v1/push
COMPOSE_FILE="$COMPOSE_FILE:compose.promtail.yml"
LOKI_PUSH_URL=https://loki.${DOMAIN}/loki/api/v1/push
## Expose node and cadvisor ports instead of traefik
#COMPOSE_FILE="$COMPOSE_FILE:compose.expose-ports.yml"
COMPOSE_FILE="$COMPOSE_FILE:compose.expose-ports.yml"
# Monitoring Server
#
@@ -27,7 +26,7 @@ COMPOSE_FILE="$COMPOSE_FILE:compose.pushgateway.yml"
## Loki
# Loki Server
#COMPOSE_FILE="$COMPOSE_FILE:compose.loki.yml"
COMPOSE_FILE="$COMPOSE_FILE:compose.loki.yml"
# Set to 0 to disable retention
LOKI_RETENTION_PERIOD=744h
@@ -40,40 +39,39 @@ LOKI_STORAGE_FILESYSTEM=1
# LOKI_ACCESS_KEY_ID=bush-debrief-approval-robust-scraggly-molecule
# LOKI_BUCKET_NAMES=loki
# SECRET_LOKI_AWS_SECRET_ACCESS_KEY_VERSION=v1
#
## Grafana
COMPOSE_FILE="$COMPOSE_FILE:compose.grafana.yml"
GF_SERVER_ROOT_URL=https://monitoring.${DOMAIN}
SECRET_GF_ADMINPASSWD_VERSION=v1
#
# COMPOSE_FILE="$COMPOSE_FILE:compose.grafana.yml"
# GF_SERVER_ROOT_URL=https://monitoring.example.com
# SECRET_GRAFANA_ADMIN_PASSWORD_VERSION=v1
## Seperate domain for Grafana
GRAFANA_DOMAIN=grafana.${DOMAIN}
#GRAFANA_DOMAIN=grafana.example.com
#
## Single-Sign-On with OIDC
COMPOSE_FILE="$COMPOSE_FILE:compose.grafana-oidc.yml"
OIDC_ENABLED=1
SECRET_GF_OIDC_SECRET_VERSION=v1
OIDC_CLIENT_ID=grafana
OIDC_AUTH_URL="https://auth.resisttechmonopolies.online/application/o/authorize/"
OIDC_API_URL="https://auth.resisttechmonopolies.online/application/o/userinfo/"
OIDC_TOKEN_URL="https://auth.resisttechmonopolies.online/application/o/token/"
# OIDC_ENABLED=1
# SECRET_GRAFANA_OIDC_CLIENT_SECRET_VERSION=v1
# OIDC_CLIENT_ID=grafana
# OIDC_AUTH_URL="https://authentik.example.com/application/o/authorize/"
# OIDC_API_URL="https://authentik.example.com/application/o/userinfo/"
# OIDC_TOKEN_URL="https://authentik.example.com/application/o/token/"
#
## Additional grafana settings (unlikely to require editing)
# GF_SECURITY_ALLOW_EMBEDDING=1
# GF_INSTALL_PLUGINS=grafana-piechart-panel
#
## grafana SMTP configuration (optional)
# COMPOSE_FILE="$COMPOSE_FILE:compose.grafana-smtp.yml"
# GF_SMTP_HOST=changeme
# GF_SMTP_USER=changme
# GF_SMTP_ENABLED=true
# GF_SMTP_FROM_ADDRESS=grafana@example.com
# GF_SMTP_SKIP_VERIFY=false
SECRET_GF_SMTP_PASSWORD_VERSION=v1
# SECRET_GRAFANA_SMTP_PASSWORD_VERSION=v1
#
## Grafana Matrix Contact Point (optional)
#COMPOSE_FILE="$COMPOSE_FILE:compose.matrix-alertmanager-receiver.yml"
#SECRET_MATRIX_TOKEN_VERSION=v1
#SECRET_MATRIX_ACCESS_TOKEN_VERSION=v1
#GF_MATRIX_USER_ID="<user-id>"
#GF_MATRIX_ROOM_ID="<room-id>"
#GF_MATRIX_HOMESERVER_URL="<homeserver-url>"
@@ -83,9 +81,4 @@ SECRET_GF_SMTP_PASSWORD_VERSION=v1
#ALERT_BACKUP_MISSING_ENABLED=true
#ALERT_BACKUP_NOT_SUCCESSFULL_ENABLED=true
#ALERT_NODE_DISK_SPACE_ENABLED=true
#ALERT_NODE_MEMORY_USAGE_ENABLED=true
# Node disk space alert will trigger when free disk space left is below the given number in percent
#ALERT_NODE_DISK_SPACE_LEFT=10
# Node memory usage alert will trigger when memory usage is above the given number in percent
#ALERT_NODE_MEMORY_USAGE=85
#ALERT_NODE_MEMORY_USAGE_ENABLED=true
@@ -4,7 +4,6 @@ DOMAIN=resisttechmonopolies.online
## Domain aliases
#EXTRA_DOMAINS=', `www.website.resisttechmonopolies.online`'
EXTRA_DOMAINS=", `www.resisttechmonopolies.online`"
LETS_ENCRYPT_ENV=production
VERSION=0.0.26
VERSION=0.0.21
@@ -0,0 +1,13 @@
TYPE=calibre-web
DOMAIN=calibre.resisttechmonopolies.online
LETS_ENCRYPT_ENV=production
DOCKER_MODS="linuxserver/calibre-web:calibre"
OAUTHLIB_RELAX_TOKEN_SCOPE=1
TZ="America/Los_Angeles"
DEBUG=False
# oauth2 support
COMPOSE_FILE="compose.yml:compose.oauth2.yml"
@@ -0,0 +1,7 @@
TYPE=collabora
DOMAIN=collabora.resisttechmonopolies.online
LETS_ENCRYPT_ENV=production
NEXTCLOUD_DOMAIN=nextcloud.resisttechmonopolies.online
ADMIN_USERNAME=admin
SECRET_ADMIN_PASSWORD_VERSION=v1
FRAME_ANCESTORS=
@@ -0,0 +1,7 @@
TYPE=focalboard
DOMAIN=focalboard.resisttechmonopolies.online
## Domain aliases
#EXTRA_DOMAINS=', `www.focalboard.resisttechmonopolies.online`'
LETS_ENCRYPT_ENV=production
@@ -1,59 +0,0 @@
TYPE=hedgedoc:3.0.8+1.10.7
TIMEOUT=300
ENABLE_AUTO_UPDATE=true
ENABLE_BACKUPS=true
DOMAIN=hedgedoc.resisttechmonopolies.online
## Domain aliases
#EXTRA_DOMAINS=', `www.hedgedoc.resisttechmonopolies.online`'
LETS_ENCRYPT_ENV=production
SECRET_SESSION_SECRET_VERSION=v1
COMPOSE_FILE="compose.yml"
# Anubis
#COMPOSE_FILE="$COMPOSE_FILE:compose.anubis.yml"
# PostgreSQL
#COMPOSE_FILE="$COMPOSE_FILE:compose.postgresql.yml"
#SECRET_DB_PASSWORD_VERSION=v1
# OAuth, see https://docs.hedgedoc.org/guides/auth/keycloak/
#COMPOSE_FILE="$COMPOSE_FILE:compose.oauth.yml"
#CMD_OAUTH2_PROVIDERNAME="Keycloak"
#CMD_OAUTH2_CLIENT_ID="hedgedoc"
#CMD_OAUTH2_AUTHORIZATION_URL="https://keycloak.example.com/auth/realms/realmname/protocol/openid-connect/auth"
#CMD_OAUTH2_TOKEN_URL="https://keycloak.example.com/auth/realms/realmname/protocol/openid-connect/token"
#CMD_OAUTH2_USER_PROFILE_URL="https://keycloak.example.com/auth/realms/realmname/protocol/openid-connect/userinfo"
#CMD_OAUTH2_USER_PROFILE_USERNAME_ATTR=ocs.data.id
#CMD_OAUTH2_USER_PROFILE_ID_ATTR=
#CMD_OAUTH2_USER_PROFILE_DISPLAY_NAME_ATTR=ocs.data.display-name
#CMD_OAUTH2_USER_PROFILE_EMAIL_ATTR=ocs.data.email
#CMD_OAUTH2_PROVIDERNAME=Keycloak
#CMD_OAUTH2_SCOPE="openid email profile"
#
#SECRET_OAUTH_KEY_VERSION=v1
# Options, see https://docs.hedgedoc.org/configuration/
# CMD_ALLOW_ANONYMOUS=true
# CMD_ALLOW_ANONYMOUS_EDITS=false
# CMD_ALLOW_EMAIL_REGISTER=true
# CMD_ALLOW_FREEURL=false
# CMD_REQUIRE_FREEURL_AUTHENTICATION=true
# CMD_ALLOW_GRAVATAR=true
# CMD_ALLOW_ORIGIN=localhost
# CMD_COOKIE_POLICY=lax
# CMD_CSP_ADD_DISQUS=false
# CMD_CSP_ADD_GOOGLE_ANALYTICS=false
# CMD_CSP_ENABLE=true
# CMD_CSP_REPORTURI=undefined
# CMD_DEFAULT_PERMISSION=editable
# CMD_EMAIL=true
# CMD_SESSION_LIFE=1209600000
# Only present in config.json (no equivalent env var):
# DOCUMENT_MAX_LENGTH=100000
# CMD_ENABLE_UPLOADS=registered
@@ -1,18 +0,0 @@
TYPE=maubot:1.3.0+v0.6.0
DOMAIN=mb.sootie.resisttechmonopolies.online
## Domain aliases
#EXTRA_DOMAINS=', `www.maubot.resisttechmonopolies.online`'
LETS_ENCRYPT_ENV=production
HOMESERVER_HOST=matrix.resisttechmonopolies.online
# Client-server API URL
HOMESERVER_URL=https://matrix.resisttechmonopolies.online
ADMIN_USER_NAME=charlie
## Secrets
SECRET_ADMIN_PASSWORD_VERSION=v1
SECRET_HOMESERVER_REGISTRATION_VERSION=v1
@@ -1,6 +1,6 @@
TYPE=radicale:0.1.0+3.0.6.0
TYPE=radicale
DOMAIN=radicale.resisttechmonopolies.online
## Domain aliases
#EXTRA_DOMAINS=', `www.radicale.resisttechmonopolies.online`'
LETS_ENCRYPT_ENV=production
LETS_ENCRYPT_ENV=production
@@ -1,16 +1,14 @@
TYPE=traefik:5.1.1+v3.6.15
#TIMEOUT=300
TYPE=traefik:3.7.0+v3.6.2
TIMEOUT=300
ENABLE_AUTO_UPDATE=true
ENABLE_BACKUPS=true
DOMAIN=t.sootie.resisttechmonopolies.online
DOMAIN=traefik.resisttechmonopolies.online
LETS_ENCRYPT_ENV=production
LETS_ENCRYPT_EMAIL=linnealovespie@proton.me
DASHBOARD_ENABLED=true
DASHBOARD_ENABLED=false
# WARN, INFO etc.
LOG_LEVEL=WARN
LOG_MAX_AGE=1
# This is here so later lines can extend it; you likely don't wanna edit
COMPOSE_FILE="compose.yml"
@@ -19,14 +17,8 @@ COMPOSE_FILE="compose.yml"
# General settings #
#####################################################################
## Ingress-mode port publishing for ports 80 and 443
##
## /!\ Using this prevents the use of any compose override adding
## published ports to the traefik_app service (almost all of them)
## and it prevents the use of IPv6 for ingress traffic.
## Do not uncomment unless you know exactly what you are doing
##
#COMPOSE_FILE="$COMPOSE_FILE:compose.no-host.yml"
## Host-mode networking
COMPOSE_FILE="$COMPOSE_FILE:compose.host.yml"
## "Headless mode" (no domain configured)
#COMPOSE_FILE="$COMPOSE_FILE:compose.headless.yml"
@@ -36,10 +28,8 @@ COMPOSE_FILE="compose.yml"
#####################################################################
## Enable dns challenge (for wildcard domains)
## https://go-acme.github.io/lego/dns/#dns-providers
## https://doc.traefik.io/traefik/https/acme/#dnschallenge
#LETS_ENCRYPT_DNS_CHALLENGE_ENABLED=1
## *Currently* one of ovh, gandi, gandiv5, digitalocean, azure, porkbun.
## Uncomment the corresponding provider below to insert your secret token/key.
#LETS_ENCRYPT_DNS_CHALLENGE_PROVIDER=ovh
## OVH, https://ovh.com
@@ -67,25 +57,6 @@ COMPOSE_FILE="compose.yml"
#DIGITALOCEAN_ENABLED=1
#SECRET_DIGITALOCEAN_AUTH_TOKEN_VERSION=v1
## Azure, https://azure.com
## To insert your Azure client secret:
## abra app secret insert {myapp.example.coop} azure_secret v1 "<CLIENT_SECRET>"
#COMPOSE_FILE="$COMPOSE_FILE:compose.azure.yml"
#AZURE_ENABLED=1
#AZURE_TENANT_ID=
#AZURE_CLIENT_ID=
#AZURE_SUBSCRIPTION_ID=
#AZURE_RESOURCE_GROUP=
#SECRET_AZURE_SECRET_VERSION=v1
## Porkbun, https://porkbun.com
## To insert your secrets:
## abra app secret insert 1312.net pb_api_key v1 pk1_413
## abra app secret insert 1312.net pb_s_api_key v1 sk1_612
#COMPOSE_FILE="$COMPOSE_FILE:compose.porkbun.yml"
#SECRET_PORKBUN_API_KEY_VERSION=v1
#SECRET_PORKBUN_SECRET_API_KEY_VERSION=v1
#####################################################################
# Manual wildcard certificate insertion #
#####################################################################
@@ -122,16 +93,14 @@ COMPOSE_FILE="compose.yml"
## Enable prometheus metrics collection
## used used by the coop-cloud monitoring stack
## BASIC_AUTH should also be enabled
#COMPOSE_FILE="$COMPOSE_FILE:compose.metrics.yml"
#METRICS_ENABLED=1
#METRICS_FQDN=metrics.t.sootie.resisttechmonopolies.online
#####################################################################
# File provider directory configuration #
# (Route bare metal and non-docker services on the machine!) #
#####################################################################
#FILE_PROVIDER_DIRECTORY_ENABLED=1
FILE_PROVIDER_DIRECTORY_ENABLED=1
#####################################################################
# Additional services #
@@ -149,10 +118,6 @@ COMPOSE_FILE="compose.yml"
# COMPOSE_FILE="$COMPOSE_FILE:compose.gitea.yml"
# GITEA_SSH_ENABLED=1
## P2Panda UDP
# COMPOSE_FILE="$COMPOSE_FILE:compose.p2panda.yml"
# P2PANDA_ENABLED=1
## Foodsoft SMTP
# COMPOSE_FILE="$COMPOSE_FILE:compose.foodsoft.yml"
# FOODSOFT_SMTP_ENABLED=1
@@ -180,29 +145,4 @@ COMPOSE_FILE="compose.yml"
## "Web alt", an alternative web port
# NOTE(3wc): as of 2024-04-01 only the `icecast` recipe uses this
#COMPOSE_FILE="$COMPOSE_FILE:compose.web-alt.yml"
#WEB_ALT_ENABLED=1
## Matrix
#COMPOSE_FILE="$COMPOSE_FILE:compose.irc.yml"
#IRC_ENABLED=1
## Garage
#COMPOSE_FILE="$COMPOSE_FILE:compose.garage.yml"
#GARAGE_RPC_ENABLED=1
## Nextcloud Talk HPB
#COMPOSE_FILE="$COMPOSE_FILE:compose.nextcloud-talk-hpb.yml"
#NEXTCLOUD_TALK_HPB_ENABLED=1
## Anubis
#COMPOSE_FILE="$COMPOSE_FILE:compose.anubis.yml"
#ANUBIS_COOKIE_DOMAIN=example.com
#ANUBIS_DOMAIN=anubis.example.com
#ANUBIS_REDIRECT_DOMAINS=
#ANUBIS_OG_PASSTHROUGH=true
#ANUBIS_OG_EXPIRY_TIME=1h
#ANUBIS_OG_CACHE_CONSIDER_HOST=true
#ANUBIS_SERVE_ROBOTS_TXT=true
## Enable onion service support
#ONION_ENABLED=1
#WEB_ALT_ENABLED=1