diff --git a/.vscode/extensions.json b/.vscode/extensions.json index c6cc40d..b8d8e0f 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -2,6 +2,7 @@ "recommendations": [ "paisleysoftworks.renpywarp", "luquedaniel.languague-renpy", - "jnoortheen.nix-ide" + "jnoortheen.nix-ide", + "matthewpi.caddyfile-support" ] } \ No newline at end of file diff --git a/Caddyfile b/Caddyfile new file mode 100644 index 0000000..a19c3ae --- /dev/null +++ b/Caddyfile @@ -0,0 +1,63 @@ +jf.soupclown.com { + reverse_proxy qmoran-desktop-1.tailc7e587.ts.net:8096 +} + +nd.soupclown.com { + reverse_proxy qmoran-desktop-1.tailc7e587.ts.net:4533 +} + +paperless.soupclown.com { + reverse_proxy qmoran-desktop.tailc7e587.ts.net:8000 +} + +immich.soupclown.com { + reverse_proxy qmoran-desktop.tailc7e587.ts.net:2283 +} + +seerr.soupclown.com { + reverse_proxy qmoran-desktop-1.tailc7e587.ts.net:5055 +} + +soupclown.com { + header /.well-known/matrix/* { + Access-Control-Allow-Origin * + Content-Type application/json + Cache-Control public,max-age=806400 + } + + # Matrix client-server well-known + handle /.well-known/matrix/client { + respond `{ + "m.homeserver": { + "base_url": "https://matrix.soupclown.com" + }, + "org.matrix.msc3575.proxy": { + "url": "https://matrix.soupclown.com" + } + }` 200 + } + + # Matrix server-server well-known + handle /.well-known/matrix/server { + respond `{ + "m.server": "matrix.soupclown.com:443" + }` 200 + } + + # Matrix Support contact information (MSC1929) + handle /.well-known/matrix/support { + respond `{ + "contacts": [ + { + "matrix_id": "@qmoran:soupclown.com", + "email_address": "", + "role": "m.role.admin" + } + ] + }` 200 + } +} + +matrix.soupclown.com, soupclown.com:8448 { + reverse_proxy qmoran-desktop.tailc7e587.ts.net:6167 +} \ No newline at end of file diff --git a/docker-compose/compose.yaml b/docker-compose/compose.yaml index b7095c9..dad36cf 100644 --- a/docker-compose/compose.yaml +++ b/docker-compose/compose.yaml @@ -196,7 +196,6 @@ services: - download image: ghcr.io/seerr-team/seerr:latest init: true - restart: unless-stopped ports: - 5055:5055 environment: @@ -210,6 +209,7 @@ services: timeout: 3s interval: 15s retries: 3 + restart: unless-stopped lidatube: container_name: lidatube @@ -231,7 +231,6 @@ services: profiles: - download image: ghcr.io/lklynet/aurral:latest - restart: unless-stopped ports: - 3001:3001 environment: @@ -239,6 +238,7 @@ services: volumes: - ${PATH_ETC}/aurral:/app/backend/data - /storage/aurral:/app/downloads + restart: unless-stopped ### END DOWNLOAD @@ -261,7 +261,6 @@ services: - app image: ghcr.io/alexta69/metube container_name: metube - restart: unless-stopped ports: - "8081:8081" volumes: @@ -269,5 +268,48 @@ services: - /storage/metube/downloads:/downloads environment: - YTDL_OPTIONS_FILE=/config/metube-options.json + restart: unless-stopped + gitea: + profiles: + - app + container_name: gitea + image: docker.gitea.com/gitea:1.26.1 + ports: + - 3000:3000 + - 222:22 + volumes: + - ${PATH_ETC}/gitea-data:/data + - /etc/timezone:/etc/timezone:ro + - /etc/localtime:/etc/localtime:ro + environment: + - USER_UID=1000 + - USER_GID=1000 + - GITEA__database__DB_TYPE=postgres + - GITEA__database__NAME=gitea + - GITEA__database__USER=${GITEA_DB_USERNAME} + - GITEA__database__PASSWD=${GITEA_DB_PASSWORD} + - GITEA__database__HOST=giteadb:5432 + restart: unless-stopped + depends_on: + - giteadb + + giteadb: + profiles: + - app + container_name: gitea-postgres + image: docker.io/library/postgres:14 + environment: + - POSTGRES_USER=${GITEA_DB_USERNAME} + - POSTGRES_PASSWORD=${GITEA_DB_PASSWORD} + - POSTGRES_DB=gitea + volumes: + - ${PATH_ETC}/gitea-postgres:/var/lib/postgresql/data + healthcheck: + test: + - CMD-SHELL + - pg_isready + start_period: 20s + interval: 10s + restart: unless-stopped ### END APP \ No newline at end of file diff --git a/modules/user-quin.nix b/modules/user-quin.nix index 178aadd..d102b4f 100644 --- a/modules/user-quin.nix +++ b/modules/user-quin.nix @@ -37,6 +37,7 @@ renpy bun wine + beets ]; };