18 Commits

Author SHA1 Message Date
moosemower 6ae7d36909 updating monitoring-ng to latest main version so secret length doesnt bone us 2026-07-16 21:04:28 -07:00
Zigzagill 0e0148b8af Merge pull request 'Add Listmonk config' (#21) from listmonk-setup into main
Reviewed-on: #21
2026-07-12 18:23:11 +00:00
Zigzagill fa78895f62 Add listmonk 2026-07-12 10:06:08 -07:00
Jiajun Xu bde27815e1 update rtm website version 2026-06-30 11:52:40 -07:00
linnealovespie 97b79f9f02 Merge pull request 'Add www domain for the website' (#19) from linnealovespie/www into main
Reviewed-on: #19
2026-05-15 03:15:58 +00:00
linnealovespie 18f1b7d2a3 Merge remote-tracking branch 'origin/main' into linnealovespie/www 2026-05-14 20:15:11 -07:00
linnealovespie be211eb4e4 www 2026-05-14 20:14:13 -07:00
linnealovespie cef80044a9 Merge pull request 'linnealovespie/clean-sootie' (#18) from linnealovespie/clean-sootie into main
Reviewed-on: #18
2026-05-15 02:21:05 +00:00
linnealovespie afb1416656 Merge remote-tracking branch 'origin/main' into linnealovespie/clean-sootie 2026-05-14 19:19:53 -07:00
linnealovespie 3271ff1009 whoops gitignore 2026-05-14 14:27:41 -07:00
linnealovespie 3dfad504c5 clenaup, maubot 2026-05-13 12:37:12 -07:00
linnealovespie 38b80c1470 cleanup, got radicale and hedgedoc running 2026-05-07 21:19:12 -07:00
linnealovespie 8bb2d8c587 Merge remote-tracking branch 'origin/hedgedoc' into linnealovespie/clean-sootie 2026-04-29 16:15:26 -07:00
Zigzagill 9b87eededa Add hedgedoc config 2026-03-12 21:15:51 -07:00
linnealovespie 87b78d99af bad merge 2026-02-26 22:22:44 -08:00
linnealovespie b7efd7f718 Merge remote-tracking branch 'origin/main' into linnealovespie/maubot 2026-02-26 22:21:04 -08:00
linnealovespie 04921c8e44 maubot and gitignore 2026-02-26 22:17:26 -08:00
linnealovespie 8e3492e533 add draupnir recipe 2026-02-26 22:00:21 -08:00
10 changed files with 185 additions and 61 deletions
@@ -0,0 +1,6 @@
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:23b13cb8
TYPE=monitoring-ng:main
LETS_ENCRYPT_ENV=production
COMPOSE_FILE=compose.yml
DOMAIN=m.laylotta.resisttechmonopolies.online
@@ -6,14 +6,15 @@ 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
#
@@ -26,7 +27,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
@@ -39,39 +40,40 @@ 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.example.com
# SECRET_GRAFANA_ADMIN_PASSWORD_VERSION=v1
COMPOSE_FILE="$COMPOSE_FILE:compose.grafana.yml"
GF_SERVER_ROOT_URL=https://monitoring.${DOMAIN}
SECRET_GF_ADMINPASSWD_VERSION=v1
## Seperate domain for Grafana
#GRAFANA_DOMAIN=grafana.example.com
#
GRAFANA_DOMAIN=grafana.${DOMAIN}
## Single-Sign-On with OIDC
# 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/"
#
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/"
## 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_GRAFANA_SMTP_PASSWORD_VERSION=v1
SECRET_GF_SMTP_PASSWORD_VERSION=v1
#
## Grafana Matrix Contact Point (optional)
#COMPOSE_FILE="$COMPOSE_FILE:compose.matrix-alertmanager-receiver.yml"
#SECRET_MATRIX_ACCESS_TOKEN_VERSION=v1
#SECRET_MATRIX_TOKEN_VERSION=v1
#GF_MATRIX_USER_ID="<user-id>"
#GF_MATRIX_ROOM_ID="<room-id>"
#GF_MATRIX_HOMESERVER_URL="<homeserver-url>"
@@ -81,4 +83,9 @@ LOKI_STORAGE_FILESYSTEM=1
#ALERT_BACKUP_MISSING_ENABLED=true
#ALERT_BACKUP_NOT_SUCCESSFULL_ENABLED=true
#ALERT_NODE_DISK_SPACE_ENABLED=true
#ALERT_NODE_MEMORY_USAGE_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
@@ -4,6 +4,7 @@ DOMAIN=resisttechmonopolies.online
## Domain aliases
#EXTRA_DOMAINS=', `www.website.resisttechmonopolies.online`'
EXTRA_DOMAINS=", `www.resisttechmonopolies.online`"
LETS_ENCRYPT_ENV=production
VERSION=0.0.21
VERSION=0.0.26
@@ -1,13 +0,0 @@
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"
@@ -1,7 +0,0 @@
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=
@@ -1,7 +0,0 @@
TYPE=focalboard
DOMAIN=focalboard.resisttechmonopolies.online
## Domain aliases
#EXTRA_DOMAINS=', `www.focalboard.resisttechmonopolies.online`'
LETS_ENCRYPT_ENV=production
@@ -0,0 +1,59 @@
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
@@ -0,0 +1,18 @@
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
TYPE=radicale:0.1.0+3.0.6.0
DOMAIN=radicale.resisttechmonopolies.online
## Domain aliases
#EXTRA_DOMAINS=', `www.radicale.resisttechmonopolies.online`'
LETS_ENCRYPT_ENV=production
LETS_ENCRYPT_ENV=production
@@ -1,14 +1,16 @@
TYPE=traefik:3.7.0+v3.6.2
TIMEOUT=300
TYPE=traefik:5.1.1+v3.6.15
#TIMEOUT=300
ENABLE_AUTO_UPDATE=true
ENABLE_BACKUPS=true
DOMAIN=traefik.resisttechmonopolies.online
DOMAIN=t.sootie.resisttechmonopolies.online
LETS_ENCRYPT_ENV=production
LETS_ENCRYPT_EMAIL=linnealovespie@proton.me
DASHBOARD_ENABLED=false
DASHBOARD_ENABLED=true
# 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"
@@ -17,8 +19,14 @@ COMPOSE_FILE="compose.yml"
# General settings #
#####################################################################
## Host-mode networking
COMPOSE_FILE="$COMPOSE_FILE:compose.host.yml"
## 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"
## "Headless mode" (no domain configured)
#COMPOSE_FILE="$COMPOSE_FILE:compose.headless.yml"
@@ -28,8 +36,10 @@ COMPOSE_FILE="$COMPOSE_FILE:compose.host.yml"
#####################################################################
## Enable dns challenge (for wildcard domains)
## https://doc.traefik.io/traefik/https/acme/#dnschallenge
## https://go-acme.github.io/lego/dns/#dns-providers
#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
@@ -57,6 +67,25 @@ COMPOSE_FILE="$COMPOSE_FILE:compose.host.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 #
#####################################################################
@@ -93,14 +122,16 @@ COMPOSE_FILE="$COMPOSE_FILE:compose.host.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 #
@@ -118,6 +149,10 @@ FILE_PROVIDER_DIRECTORY_ENABLED=1
# 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
@@ -145,4 +180,29 @@ FILE_PROVIDER_DIRECTORY_ENABLED=1
## "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
#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