updated compose files and added matrix server

This commit is contained in:
2026-08-09 18:04:48 +00:00
parent 031d14c224
commit 546ed488ba
9 changed files with 177 additions and 29 deletions
+13
View File
@@ -1,7 +1,20 @@
.env .env
imy/
traefik/compose.yaml.old
vaultwarden/.vaultwarden-data-cp/
websites/*
websites/slajm websites/slajm
vaultwarden/.vaultwarden-data/ vaultwarden/.vaultwarden-data/
crafty/docker/ crafty/docker/
todo todo
certs/ certs/
traefik/config/ traefik/config/
matrix/matrix-synapse/*.signing.key
matrix/matrix-synapse/.env
matrix/matrix-synapse/*.log
matrix/matrix-synapse/*.log.config
matrix/matrix-synapse/media_store/
matrix/matrix-synapse/*.db
matrix/matrix-synapse/*.db-shm
matrix/matrix-synapse/*.db-wal
matrix/matrix-synapse/*.pid
+1 -1
View File
@@ -4,7 +4,7 @@ services:
crafty: crafty:
container_name: crafty_container container_name: crafty_container
image: registry.gitlab.com/crafty-controller/crafty-4:latest image: registry.gitlab.com/crafty-controller/crafty-4:latest
restart: always restart: unless-stopped
environment: environment:
- TZ=Etc/UTC - TZ=Etc/UTC
ports: ports:
+57 -5
View File
@@ -60,13 +60,65 @@ services:
restart: always restart: always
ddns-matrix:
ddns-sajm:
image: oznu/cloudflare-ddns:latest image: oznu/cloudflare-ddns:latest
container_name: ddns-sajm container_name: ddns-matrix
environment: environment:
- API_KEY=${SAJM_API_KEY} - API_KEY=${API_KEY}
- ZONE=${DOMAIN_MOM} - ZONE=${DOMAIN}
- SUBDOMAIN=matrix
- PROXIED=false
restart: always
ddns-turn:
image: oznu/cloudflare-ddns:latest
container_name: ddns-turn
environment:
- API_KEY=${API_KEY}
- ZONE=${DOMAIN}
- SUBDOMAIN=turn
- PROXIED=false
restart: always
ddns-temp-site:
image: oznu/cloudflare-ddns:latest
container_name: ddns-temp-site
environment:
- API_KEY=${API_KEY}
- ZONE=${DOMAIN}
- SUBDOMAIN=temp-link
- PROXIED=true - PROXIED=true
restart: always restart: always
ddns-testapp:
image: oznu/cloudflare-ddns:latest
container_name: ddns-testapp
environment:
- API_KEY=${API_KEY}
- ZONE=${DOMAIN}
- SUBDOMAIN=testapp
- PROXIED=false
restart: always
ddns-imy-site:
image: oznu/cloudflare-ddns:latest
container_name: ddns-imy-site
environment:
- API_KEY=${IMY_KEY}
- ZONE=${IMYDOMAIN}
- PROXIED=true
restart: always
ddns-kupitri-site:
image: oznu/cloudflare-ddns:latest
container_name: ddns-kupitri-site
environment:
- API_KEY=${KUPITRI_KEY}
- ZONE=${KUPITRI}
- PROXIED=false
restart: always
ddns-etfo:
image: oznu/cloudflare-ddns:latest
container_name: ddns-etfo
environment:
- API_KEY=${API_KEY}
- ZONE=${DOMAIN}
- SUBDOMAIN=etf-oglasi
- PROXIED=false
restart: always
+29 -1
View File
@@ -1,7 +1,7 @@
--- ---
services: services:
server: server:
image: gitea/gitea:1.23.8 image: gitea/gitea:1.26.2
container_name: gitea-server container_name: gitea-server
environment: environment:
- USER_UID=1000 - USER_UID=1000
@@ -13,6 +13,7 @@ services:
- GITEA__database__PASSWD=${POSTGRES_PASSWORD:?POSTGRES_PASSWORD not set} - GITEA__database__PASSWD=${POSTGRES_PASSWORD:?POSTGRES_PASSWORD not set}
- GITEA__server__SSH_PORT=2221 - GITEA__server__SSH_PORT=2221
- GITEA__server__ROOT_URL=https://git.${DOMAIN} - GITEA__server__ROOT_URL=https://git.${DOMAIN}
- GITEA__actions__ENABLE=true
networks: networks:
- frontend - frontend
- backend - backend
@@ -48,6 +49,30 @@ services:
volumes: volumes:
- /mnt/raid1/data/docker/volumes/gitea-db:/var/lib/postgresql/data - /mnt/raid1/data/docker/volumes/gitea-db:/var/lib/postgresql/data
restart: always restart: always
runner:
image: gitea/runner:latest
container_name: gitea-runner
environment:
- GITEA_INSTANCE_URL=https://git.${DOMAIN}
- GITEA_RUNNER_REGISTRATION_TOKEN=${RUNNER_TOKEN:?RUNNER_TOKEN not set}
- GITEA_RUNNER_NAME=gitea-runner
networks:
- frontend
volumes:
- /mnt/raid1/data/docker/volumes/gitea-runner:/data
- /var/run/docker.sock:/var/run/docker.sock
depends_on:
- server
restart: always
volumes: volumes:
gitea-data: gitea-data:
driver: local driver: local
@@ -59,3 +84,6 @@ networks:
external: true external: true
backend: backend:
external: true external: true
+66
View File
@@ -0,0 +1,66 @@
services:
synapse:
image: docker.io/matrixdotorg/synapse:sha-7e4588a
container_name: matrix-synapse-server
restart: always
# See the readme for a full documentation of the environment settings
# NOTE: You must edit homeserver.yaml to use postgres, it defaults to sqlite
environment:
- SYNAPSE_CONFIG_PATH=/data/homeserver.yaml
volumes:
- /mnt/raid1/matrix/files:/data
# .. or you may split this between different storage points
# - ./files:/data
# - /path/to/ssd:/data/uploads
# - /path/to/large_hdd:/data/media
depends_on:
- db
networks:
- frontend
- backend
labels:
- traefik.enable=true
- traefik.docker.network=frontend
# =========================
# Client traffic (443)
# =========================
- traefik.http.routers.synapse-client.rule=Host(`${DOMAIN}`) && PathPrefix(`/_matrix`)
- traefik.http.routers.synapse-client.entrypoints=websecure
- traefik.http.routers.synapse-client.tls=true
- traefik.http.routers.synapse-client.tls.certresolver=cloudflare
- traefik.http.routers.synapse-client.service=synapse
- traefik.http.services.synapse.loadbalancer.server.port=8008
# =========================
# Federation traffic (8448)
# =========================
- traefik.http.routers.synapse-federation.rule=Host(`ksan.dev`) && PathPrefix(`/_matrix`)
- traefik.http.routers.synapse-federation.entrypoints=federation
- traefik.http.routers.synapse-federation.tls=true
- traefik.http.routers.synapse-federation.tls.certresolver=cloudflare
- traefik.http.routers.synapse-federation.service=synapse
db:
image: docker.io/postgres:15
environment:
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_DB=${POSTGRES_DB}
- POSTGRES_INITDB_ARGS=--encoding=UTF-8 --lc-collate=C --lc-ctype=C
networks:
- backend
volumes:
- /mnt/raid1/matrix/db:/var/lib/postgresql/data
restart: always
networks:
frontend:
external: true
backend:
external: true
@@ -0,0 +1,5 @@
{
"m.homeserver": {
"base_url": "https://matrix.ksan.dev"
}
}
@@ -0,0 +1,3 @@
{
"m.server": "ksan.dev:443"
}
+2 -1
View File
@@ -1,11 +1,12 @@
--- ---
services: services:
traefik: traefik:
image: docker.io/library/traefik:v3.4.0 image: docker.io/library/traefik:v3.6.4
container_name: traefik container_name: traefik
ports: ports:
- 80:80 - 80:80
- 443:443 - 443:443
#- 8448:8448
#- 8080:8080 #- 8080:8080
volumes: volumes:
- /run/docker.sock:/run/docker.sock:ro - /run/docker.sock:/run/docker.sock:ro
-20
View File
@@ -1,20 +0,0 @@
services:
nginx:
image: nginx:latest # Use the latest official Nginx image
container_name: ksan.dev_nginx
networks:
- frontend
volumes:
- ${LOCAL_PATH}:/usr/share/nginx/html
labels:
- traefik.enable=true
- traefik.http.routers.nginx-http.rule=Host(`${DOMAIN}`) || Host(`www.${DOMAIN}`)
- traefik.http.routers.nginx-http.entrypoints=web
- traefik.http.routers.nginx-https.tls=true
- traefik.http.routers.nginx-https.tls.certresolver=cloudflare
- traefik.http.routers.nginx-https.entrypoints=websecure
- traefik.http.routers.nginx-https.rule=Host(`${DOMAIN}`) || Host(`www.${DOMAIN}`)
restart: always
networks:
frontend:
external: true