feat: remove Conduit Matrix service

Remove all traces of the Conduit Matrix homeserver service including:
- Delete conduit-compose.yml.j2 template and conduit.yml task file
- Remove conduit from development services category
- Remove conduit Caddy reverse proxy configuration
- Remove conduit subdomain from domains.yml
- Remove conduit DNS A record from Route53
- Delete Matrix well-known files (client/server)
- Update all documentation from 25 to 24 services

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-06-19 11:39:15 -06:00
parent 8710ffc70d
commit a338186a77
13 changed files with 8 additions and 107 deletions

View File

@ -4,7 +4,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
## Overview
This is a personal infrastructure Ansible playbook that automates deployment and management of 25 self-hosted Docker services across two domains (`thesatelliteoflove.com` and `nerder.land`). The setup uses Tailscale VPN for secure networking and Caddy for reverse proxy with automated HTTPS.
This is a personal infrastructure Ansible playbook that automates deployment and management of 24 self-hosted Docker services across two domains (`thesatelliteoflove.com` and `nerder.land`). The setup uses Tailscale VPN for secure networking and Caddy for reverse proxy with automated HTTPS.
**Important**: Always review `DEPLOYMENT_LEARNINGS.md` when working on this repository for lessons learned and troubleshooting guidance.
@ -51,7 +51,7 @@ ansible-playbook site.yml -i hosts.yml --tags common,cron --vault-password-file
### Role Structure
- **bootstrap**: Initial server hardening, user creation, Tailscale VPN setup
- **common**: Basic system configuration, UFW firewall management
- **docker**: Comprehensive service deployment (25 containerized applications, organized by category)
- **docker**: Comprehensive service deployment (24 containerized applications, organized by category)
- **cron**: Scheduled task management (currently Warhammer RSS feed generation)
### Docker Role Organization (Reorganized into Logical Categories)
@ -60,7 +60,7 @@ The docker role is now organized into logical service groups under `roles/docker
- **infrastructure/**: Core platform components
- Caddy (reverse proxy), Authentik (SSO), Dockge (container management)
- **development/**: Development and collaboration tools
- Gitea, Code Server, Matrix (Conduit)
- Gitea, Code Server
- **media/**: Content creation and consumption
- Audiobookshelf, Calibre, Ghost blog, Pinchflat, Pinry, Karakeep (formerly Hoarder), Manyfold
- **productivity/**: Personal organization and document management

View File

@ -10,7 +10,7 @@ The playbook manages two main environments:
## Services Deployed
The Docker role deploys and manages 25 self-hosted services organized into logical categories:
The Docker role deploys and manages 24 self-hosted services organized into logical categories:
### Infrastructure
- **Caddy** (Reverse proxy with automatic HTTPS)
@ -20,7 +20,6 @@ The Docker role deploys and manages 25 self-hosted services organized into logic
### Development
- **Gitea** (Git repository hosting)
- **Code Server** (VS Code in browser)
- **Matrix Conduit** (Communication/chat)
### Media
- **Audiobookshelf** (Audiobook server)

View File

@ -35,8 +35,6 @@
ip: "152.53.36.98"
- name: watcher
ip: "152.53.36.98"
- name: chat
ip: "152.53.36.98"
- name: models
ip: "152.53.36.98"
- name: tasks

View File

@ -29,7 +29,6 @@ subdomains:
appriseapi: "appriseapi.{{ primary_domain }}"
dockge: "dockge.{{ primary_domain }}"
code: "code.{{ primary_domain }}" # Code Server
chat: "chat.{{ primary_domain }}" # Conduit Matrix
# Email domains for notifications
email_domains:

View File

@ -3,7 +3,7 @@
# Service categories for organization
service_categories:
infrastructure: ["caddy", "authentik", "dockge"]
development: ["gitea", "codeserver", "conduit"]
development: ["gitea", "codeserver"]
media: ["audiobookshelf", "calibre", "ghost", "pinchflat", "pinry", "hoarder", "manyfold"]
productivity: ["paperlessngx", "baikal", "syncthing", "mmdl", "heyform", "dawarich", "pingvin"]
communication: ["gotosocial", "postiz"]

View File

@ -1,7 +1,7 @@
# Docker Role
## Purpose
Deploys and manages a comprehensive self-hosted infrastructure with 22+ containerized services organized into logical categories, transforming a server into a personal cloud platform with authentication, media management, productivity tools, and development services.
Deploys and manages a comprehensive self-hosted infrastructure with 24 containerized services organized into logical categories, transforming a server into a personal cloud platform with authentication, media management, productivity tools, and development services.
## Architecture Overview
@ -28,7 +28,6 @@ Deploys and manages a comprehensive self-hosted infrastructure with 22+ containe
### Development (`development/`)
- **Gitea** - Self-hosted Git with CI/CD runners
- **Code Server** - VS Code in the browser
- **Conduit** - Matrix homeserver for communication
### Media (`media/`)
- **Audiobookshelf** - Audiobook and podcast server
@ -92,8 +91,7 @@ roles/docker/
│ ├── development/
│ │ ├── main.yml # Development category orchestrator
│ │ ├── gitea.yml # Git hosting
│ │ ── codeserver.yml # VS Code server
│ │ └── conduit.yml # Matrix server
│ │ ── codeserver.yml # VS Code server
│ ├── media/ # Media services (7 services)
│ ├── productivity/ # Productivity services (7 services)
│ ├── communication/ # Communication services (2 services)

View File

@ -64,13 +64,6 @@ thesatelliteoflove.com {
file_server
}
chat.thesatelliteoflove.com, chat.thesatelliteoflove.com:8448 {
handle /.well-known/* {
root * /srv/matrix
file_server
}
reverse_proxy /_matrix/* conduit-homeserver-1:6167
}
bookmarks.thesatelliteoflove.com {

View File

@ -1,5 +0,0 @@
{
"m.homeserver": {
"base_url": "https://chat.thesatelliteoflove.com"
}
}

View File

@ -1,3 +0,0 @@
{
"m.server": "chat.thesatelliteoflove.com:443"
}

View File

@ -1,29 +0,0 @@
- name: make conduit directories
ansible.builtin.file:
path: "{{ item}}"
state: directory
loop:
- /opt/stacks/conduit
- name: copy well-known files
ansible.builtin.copy:
src: "{{item}}"
dest: /opt/stacks/caddy/site/matrix/
owner: root
mode: 644
loop:
- client
- server
- name: Template out the compose file
ansible.builtin.template:
src: conduit-compose.yml.j2
dest: /opt/stacks/conduit/compose.yml
owner: root
mode: 644
- name: deploy conduit stack
community.docker.docker_compose_v2:
project_src: /opt/stacks/conduit
files:
- compose.yml

View File

@ -9,6 +9,3 @@
import_tasks: codeserver.yml
tags: codeserver
- name: Install conduit
import_tasks: conduit.yml
tags: conduit

View File

@ -1,46 +0,0 @@
services:
homeserver:
image: matrixconduit/matrix-conduit:next
restart: unless-stopped
volumes:
- db:/var/lib/matrix-conduit/
labels:
glance.name: Conduit
glance.icon: si:matrix
glance.url: https://{{ subdomains.chat }}/
glance.description: Matrix server
environment:
CONDUIT_SERVER_NAME: {{ subdomains.chat }} # EDIT THIS
CONDUIT_DATABASE_PATH: /var/lib/matrix-conduit/
CONDUIT_DATABASE_BACKEND: rocksdb
CONDUIT_PORT: 6167
CONDUIT_MAX_REQUEST_SIZE: 20000000 # in bytes, ~20 MB
CONDUIT_ALLOW_REGISTRATION: 'true'
CONDUIT_ALLOW_FEDERATION: 'true'
CONDUIT_ALLOW_CHECK_FOR_UPDATES: 'true'
CONDUIT_TRUSTED_SERVERS: '["matrix.org"]'
#CONDUIT_MAX_CONCURRENT_REQUESTS: 100
CONDUIT_ADDRESS: 0.0.0.0
CONDUIT_CONFIG: '' # Ignore this
#
### Uncomment if you want to use your own Element-Web App.
### Note: You need to provide a config.json for Element and you also need a second
### Domain or Subdomain for the communication between Element and Conduit
### Config-Docs: https://github.com/vector-im/element-web/blob/develop/docs/config.md
# element-web:
# image: vectorim/element-web:latest
# restart: unless-stopped
# ports:
# - 8009:80
# volumes:
# - ./element_config.json:/app/config.json
# depends_on:
# - homeserver
volumes:
db:
networks:
default:
external: true
name: {{ docker.network_name }}

View File

@ -9,7 +9,7 @@
roles/docker/tasks/
├── main.yml (orchestrator)
├── infrastructure/ (caddy, authentik, dockge)
├── development/ (gitea, codeserver, conduit)
├── development/ (gitea, codeserver)
├── media/ (audiobookshelf, calibre, ghost, pinchflat, pinry, hoarder, manyfold)
├── productivity/ (paperless, baikal, syncthing, mmdl, heyform, dawarich, pingvin)
├── communication/ (gotosocial, postiz)