15 Commits

Author SHA1 Message Date
moosemower 122d20776b trying to get testio working 2026-06-18 20:00:07 -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
9 changed files with 255 additions and 38 deletions
@@ -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
@@ -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
@@ -0,0 +1,106 @@
TYPE=loomio:5.2.0+v3.0.20
COMPOSE_FILE="compose.yml"
DOMAIN=testio.sootie.resisttechmonopolies.online
## Domain aliases
#EXTRA_DOMAINS=', `www.testio.resisttechmonopolies.online`'
LETS_ENCRYPT_ENV=production
# mail setup
COMPOSE_FILE="$COMPOSE_FILE:compose.smtp.yml"
SUPPORT_EMAIL=noreply@example.com
SMTP_AUTH=plain
SMTP_DOMAIN=example.com
SMTP_SERVER=example.com
SMTP_PORT=587
SMTP_USERNAME=noreply@example.com
SMTP_USE_SSL=1
# to disable SSL comment out line rather than changing to 0
SECRET_SMTP_PASSWORD_VERSION=v1
# From field for notification e-mails
NOTIFICATIONS_EMAIL_ADDRESS=noreply@example.com
# reply-to in email notifications
REPLY_HOSTNAME=$DOMAIN
RAILS_ENV=production
# Number of webserver processes and threads
# threads are per worker. See https://github.com/puma/puma
PUMA_WORKERS=2
MIN_THREADS=12
MAX_THREADS=12
# Force all connections to be https
FORCE_SSL=1
# Enable rate limiting on group creation, other POST actions
USE_RACK_ATTACK=1
SECRET_DEVISE_SECRET_VERSION=v1 #length=64
SECRET_SECRET_COOKIE_TOKEN_VERSION=v1 #length=64
SECRET_DB_PASSWORD_VERSION=v1
# Send catch up email (missed yesterday) weekly
# EMAIL_CATCH_UP_WEEKLY=1
# TODO 3wc: settings from here on aren't yet included in compose.yml
# subscribe on participation default for new users
# uncomment this to change "subscribe on participation" to be false for new users
# EMAIL_ON_PARTICIPATION_DEFAULT_FALSE=1
# Uncomment these to disable features
# FEATURES_DISABLE_CREATE_USER=1 # users must be invited
# FEATURES_DISABLE_CREATE_GROUP=1 # users cannot create groups
# FEATURES_DISABLE_PUBLIC_GROUPS=1 # disable /explore
# FEATURES_DISABLE_HELP_LINK=1 # disable the help link
# MAX_PENDING_INVITATIONS=100 # maximum unaccepted invitations a group have have
# Enable search engines to index public content
# ALLOW_ROBOTS=1
# Uncomment to enable SAML SSO
# SAML_APP_KEY=1 # just a flag, keep value as 1
# SAML_IDP_METADATA_URL=https://saml-metadata-url-provided-by-your-SSO-provider.com/12356
#
# Disable login via email (usually when you have enabled SSO of some kind)
# FEATURES_DISABLE_EMAIL_LOGIN=1
# oauth providers, to let your users login using external accounts
# FACEBOOK_APP_KEY=REPLACE
# FACEBOOK_APP_SECRET=REPLACE
# TWITTER_APP_KEY=REPLACE
# TWITTER_APP_SECRET=REPLACE
# GOOGLE_APP_KEY=REPLACE
# GOOGLE_APP_SECRET=REPLACE
# SLACK_APP_KEY
# SLACK_APP_SECRET
# Theme images
# images should be a multiple of 32px tall.
# THEME_ICON_SRC=/files/icon.png
# THEME_APP_LOGO_SRC=/files/logo.svg
# THEME_EMAIL_HEADER_LOGO_SRC=/files/logo_128h.png
# THEME_EMAIL_FOOTER_LOGO_SRC=/files/logo_64h.png
# used in emails. use rgb or hsl values, not hex
# THEME_PRIMARY_COLOR=rgb(255,167,38)
# THEME_ACCENT_COLOR=rgb(0,188,212)
# THEME_TEXT_ON_PRIMARY_COLOR=rgb(255,255,255)
# THEME_TEXT_ON_ACCENT_COLOR=rgb(255,255,255)
# env variables needed to enable OAuth2 authentication
COMPOSE_FILE="$COMPOSE_FILE:compose.oauth.yml"
OAUTH_ENABLED=1
OAUTH_AUTH_URL="https://auth.resisttechmonopolies.online/application/o/authorize/"
OAUTH_TOKEN_URL="https://auth.resisttechmonopolies.online/application/o/token/"
OAUTH_PROFILE_URL="https://auth.resisttechmonopolies.online/application/o/userinfo/"
OAUTH_SCOPE="openid email profile"
OAUTH_APP_KEY="xNSKMmqA47TSgr7qKgzISV03reTnEmpqc0DZWmCa"
OAUTH_ATTR_UID=email
OAUTH_ATTR_NAME=name
OAUTH_ATTR_EMAIL=email
OAUTH_LOGIN_PROVIDER_NAME="loomio SSO"
SECRET_OAUTH_APP_SECRET_VERSION=v1