Compare commits
5 Commits
20c81207f1
...
ccdfa80fe6
| Author | SHA1 | Date | |
|---|---|---|---|
| ccdfa80fe6 | |||
| 99b343e64d | |||
| dcea8e6afe | |||
| 5e87919766 | |||
| abaf169941 |
109
arr/compose.yml
Normal file
109
arr/compose.yml
Normal file
@@ -0,0 +1,109 @@
|
||||
services:
|
||||
prowlarr:
|
||||
image: lscr.io/linuxserver/prowlarr:latest
|
||||
container_name: prowlarr
|
||||
environment:
|
||||
- PUID=1029
|
||||
- PGID=1000
|
||||
- TZ=Etc/UTC
|
||||
volumes:
|
||||
- /home/fejy/docker/prowlarr/data:/config
|
||||
ports:
|
||||
- 9696:9696
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- proxy
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.prowlarr.rule=Host(`prowlarr.nearfuture`)"
|
||||
- "traefik.http.routers.prowlarr.entrypoints=web"
|
||||
|
||||
radarr:
|
||||
image: lscr.io/linuxserver/radarr:latest
|
||||
container_name: radarr
|
||||
environment:
|
||||
- PUID=1029
|
||||
- PGID=1000
|
||||
- TZ=Etc/UTC
|
||||
volumes:
|
||||
- /home/fejy/docker/radarr:/config
|
||||
- /mnt/LUXURIA/Share:/Share
|
||||
- /mnt/AVARITIA/Share:/Avaritia/Share
|
||||
ports:
|
||||
- 7878:7878
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- proxy
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.radarr.rule=Host(`radarr.nearfuture`)"
|
||||
- "traefik.http.routers.radarr.entrypoints=web"
|
||||
|
||||
sonarr:
|
||||
image: lscr.io/linuxserver/sonarr:latest
|
||||
container_name: sonarr
|
||||
environment:
|
||||
- PUID=1029
|
||||
- PGID=1000
|
||||
- TZ=Etc/UTC
|
||||
volumes:
|
||||
- /home/fejy/docker/sonarr:/config
|
||||
- /mnt/LUXURIA/Share:/Share
|
||||
- /mnt/AVARITIA/Share:/Avaritia/Share
|
||||
ports:
|
||||
- 8989:8989
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- proxy
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.sonarr.rule=Host(`sonarr.nearfuture`)"
|
||||
- "traefik.http.routers.sonarr.entrypoints=web"
|
||||
|
||||
overseerr:
|
||||
image: lscr.io/linuxserver/overseerr:latest
|
||||
container_name: overseerr
|
||||
environment:
|
||||
- PUID=1029
|
||||
- PGID=1000
|
||||
- TZ=Etc/UTC
|
||||
volumes:
|
||||
- /home/fejy/docker/overseerr:/config
|
||||
ports:
|
||||
- 5055:5055
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- proxy
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.overseerr.rule=Host(`overseerr.nearfuture`)"
|
||||
- "traefik.http.routers.overseerr.entrypoints=web"
|
||||
- "traefik.http.routers.overseerr-ssl.rule=Host(`overseerr.nearfuture`)"
|
||||
- "traefik.http.routers.overseerr-ssl.entrypoints=websecure"
|
||||
- "traefik.http.routers.overseerr-ssl.tls=true"
|
||||
|
||||
lidarr:
|
||||
image: lscr.io/linuxserver/lidarr:latest
|
||||
container_name: lidarr
|
||||
environment:
|
||||
- PUID=1029
|
||||
- PGID=1000
|
||||
- TZ=Etc/UTC
|
||||
volumes:
|
||||
- /home/fejy/docker/lidarr:/config
|
||||
- /mnt/LUXURIA/Share:/Share
|
||||
- /mnt/AVARITIA/Share:/Avaritia/Share
|
||||
ports:
|
||||
- 8686:8686
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- proxy
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.lidarr.rule=Host(`lidarr.nearfuture`)"
|
||||
- "traefik.http.routers.lidarr.entrypoints=web"
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
||||
|
||||
@@ -33,6 +33,40 @@ services:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.cross-seed2.rule=Host(`cross-seed2.nearfuture`)"
|
||||
- "traefik.http.routers.cross-seed2.entrypoints=web"
|
||||
cross-seed3:
|
||||
image: ghcr.io/cross-seed/cross-seed:6
|
||||
container_name: cross-seed3
|
||||
user: 1029:1000 # this must match your torrent client (cross-seed does not support using PGID and PUID)
|
||||
ports:
|
||||
- "2470:2468"
|
||||
volumes:
|
||||
- /home/fejy/docker/cross-seed3:/config
|
||||
- /mnt/AVARITIA/Share:/Avaritia/Share/
|
||||
command: daemon
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- proxy
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.cross-seed3.rule=Host(`cross-seed3.nearfuture`)"
|
||||
- "traefik.http.routers.cross-seed3.entrypoints=web"
|
||||
cross-seed-priv:
|
||||
image: ghcr.io/cross-seed/cross-seed:6
|
||||
container_name: cross-seed-priv
|
||||
user: 1029:1000 # this must match your torrent client (cross-seed does not support using PGID and PUID)
|
||||
ports:
|
||||
- "2471:2468"
|
||||
volumes:
|
||||
- /home/fejy/docker/cross-seed-priv:/config
|
||||
- /mnt/LUXURIA/Private:/mnt/LUXURIA/Private
|
||||
command: daemon
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- proxy
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.cross-seed-priv.rule=Host(`cross-seed-priv.nearfuture`)"
|
||||
- "traefik.http.routers.cross-seed-priv.entrypoints=web"
|
||||
|
||||
|
||||
networks:
|
||||
|
||||
@@ -12,8 +12,15 @@ services:
|
||||
- proxy
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.excalidraw.rule=Host(`excalidraw.nearfuture`)"
|
||||
- "traefik.http.routers.excalidraw.entrypoints=web"
|
||||
- "traefik.http.routers.ex.rule=Host(`excalidraw.nearfuture`)"
|
||||
- "traefik.http.routers.ex.entrypoints=web"
|
||||
- "traefik.http.routers.ex-ssl.rule=Host(`excalidraw.nearfuture`)"
|
||||
- "traefik.http.routers.ex-ssl.entrypoints=websecure"
|
||||
- "traefik.http.routers.ex-ssl.tls=true"
|
||||
- "traefik.http.routers.ex-ssl-ext.rule=Host(`excalidraw.nearfuture.industries`)"
|
||||
- "traefik.http.routers.ex-ssl-ext.entrypoints=websecure"
|
||||
- "traefik.http.routers.ex-ssl-ext.tls=true"
|
||||
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
|
||||
@@ -6,6 +6,7 @@ services:
|
||||
environment:
|
||||
PUID: 1029 # optional, your user id
|
||||
PGID: 994 # optional, your group id
|
||||
HOMEPAGE_ALLOWED_HOSTS: home.nearfuture
|
||||
ports:
|
||||
- 3069:3000
|
||||
volumes:
|
||||
|
||||
36
matrix-bots/compose.yml
Normal file
36
matrix-bots/compose.yml
Normal file
@@ -0,0 +1,36 @@
|
||||
services:
|
||||
matrix-registration-bot:
|
||||
image: moanos/matrix-registration-bot:latest
|
||||
environment:
|
||||
LOGGING_LEVEL: DEBUG
|
||||
BOT_SERVER: "https://nearfuture.industries"
|
||||
BOT_USERNAME: "registration-bot"
|
||||
BOT_PASSWORD: ${BOT_PW}
|
||||
API_BASE_URL: 'https://synapse.nearfuture.industries'
|
||||
API_TOKEN: ${API_TOK}
|
||||
volumes:
|
||||
- /home/fejy/docker/matrix-bots/matrix-registration-bot/:/data/
|
||||
|
||||
|
||||
maubot:
|
||||
image: dock.mau.dev/maubot/maubot
|
||||
container_name: maubot
|
||||
volumes:
|
||||
- /home/fejy/docker/matrix-bots/maubot/:/data:z
|
||||
ports:
|
||||
- 29316:29316
|
||||
environment:
|
||||
R34_API_KEY: ${R34_API_KEY}
|
||||
R34_UID: ${R34_UID}
|
||||
networks:
|
||||
- proxy
|
||||
restart: unless-stopped
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.maubot.rule=Host(`maubot.nearfuture`)"
|
||||
- "traefik.http.routers.maubot.entrypoints=web"
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
||||
|
||||
@@ -15,6 +15,7 @@ services:
|
||||
- 8388:8388/udp # Gluetun's built-in Shadowsocks server
|
||||
- 8089:8089/tcp # Qbittorrent web-ui
|
||||
- 8090:8090/tcp # Qbittorrent2 web-gui
|
||||
- 8091:8091/tcp # Qbittorrent3 web-gui
|
||||
- 8069:8069/tcp # Qbittorrent_priv web-gui
|
||||
- 3000:3000 # Firefox desktop gui
|
||||
- 3001:3001 # Firefox desktop gui HTTPS
|
||||
@@ -22,14 +23,19 @@ services:
|
||||
- /home/fejy/docker/gluetun:/gluetun
|
||||
environment:
|
||||
# See https://github.com/qdm12/gluetun-wiki/tree/main/setup#setup
|
||||
- VPN_SERVICE_PROVIDER=mullvad
|
||||
- VPN_SERVICE_PROVIDER=airvpn
|
||||
- VPN_TYPE=wireguard
|
||||
# Wireguard:
|
||||
- WIREGUARD_PRIVATE_KEY=${WIREGUARD_PRIV_KEY}
|
||||
- WIREGUARD_PRESHARED_KEY=${WIREGUARD_PSHARE_KEY}
|
||||
- WIREGUARD_ADDRESSES=${WIREGUARD_ADDR}
|
||||
- SERVER_CITIES=Amsterdam
|
||||
- SERVER_CITIES=Alblasserdam
|
||||
- HTTP_CONTROL_SERVER_ADDRESS=:8000
|
||||
- HTTP_CONTROL_SERVER_LOG=ON
|
||||
- DOT=off
|
||||
- BLOCK_MALICIOUS=off
|
||||
- BLOCK_SURVEILLANCE=off
|
||||
- BLOCK_ADS=off
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- proxy
|
||||
@@ -47,6 +53,11 @@ services:
|
||||
- "traefik.http.routers.qbit2.entrypoints=web"
|
||||
- "traefik.http.routers.qbit2.service=qbit2"
|
||||
- "traefik.http.services.qbit2.loadbalancer.server.port=8090"
|
||||
# Qbittorrent3
|
||||
- "traefik.http.routers.qbit3.rule=Host(`qbit3.nearfuture`)"
|
||||
- "traefik.http.routers.qbit3.entrypoints=web"
|
||||
- "traefik.http.routers.qbit3.service=qbit3"
|
||||
- "traefik.http.services.qbit3.loadbalancer.server.port=8091"
|
||||
# Qbittorrent-priv
|
||||
- "traefik.http.routers.qbit-priv.rule=Host(`qbit-priv.nearfuture`)"
|
||||
- "traefik.http.routers.qbit-priv.entrypoints=web"
|
||||
@@ -70,7 +81,7 @@ services:
|
||||
depends_on:
|
||||
gluetun:
|
||||
condition: service_healthy
|
||||
restart: unless-stopped
|
||||
#restart: unless-stopped
|
||||
|
||||
qbittorrent2:
|
||||
image: lscr.io/linuxserver/qbittorrent:latest
|
||||
@@ -89,7 +100,25 @@ services:
|
||||
depends_on:
|
||||
gluetun:
|
||||
condition: service_healthy
|
||||
restart: unless-stopped
|
||||
#restart: unless-stopped
|
||||
|
||||
qbittorrent3:
|
||||
image: lscr.io/linuxserver/qbittorrent:latest
|
||||
container_name: qbittorrent3
|
||||
environment:
|
||||
- PUID=1029
|
||||
- PGID=1000
|
||||
- TZ=Etc/UTC
|
||||
- WEBUI_PORT=8091
|
||||
volumes:
|
||||
- /home/fejy/docker/qbittorrent3:/config
|
||||
- /mnt/AVARITIA/Share:/Avaritia/Share
|
||||
network_mode: "service:gluetun"
|
||||
depends_on:
|
||||
gluetun:
|
||||
condition: service_healthy
|
||||
#restart: unless-stopped
|
||||
|
||||
|
||||
qbittorrent_priv:
|
||||
image: lscr.io/linuxserver/qbittorrent:latest
|
||||
@@ -108,7 +137,7 @@ services:
|
||||
depends_on:
|
||||
gluetun:
|
||||
condition: service_healthy
|
||||
restart: unless-stopped
|
||||
#restart: unless-stopped
|
||||
|
||||
mam-api:
|
||||
image: myanonamouse/seedboxapi
|
||||
@@ -116,7 +145,7 @@ services:
|
||||
user: 1029:1000
|
||||
environment:
|
||||
- DEBUG=1
|
||||
#- mam_id=<Grab from security settings>
|
||||
#- mam_id=${MAM_KEY}
|
||||
- interval=1
|
||||
volumes:
|
||||
- /home/fejy/docker/mam-api:/config
|
||||
|
||||
94
synapse/compose.yml
Normal file
94
synapse/compose.yml
Normal file
@@ -0,0 +1,94 @@
|
||||
# This compose file is compatible with Compose itself, it might need some
|
||||
# adjustments to run properly with stack.
|
||||
|
||||
version: '3'
|
||||
|
||||
services:
|
||||
|
||||
synapse:
|
||||
build:
|
||||
context: ../..
|
||||
dockerfile: docker/Dockerfile
|
||||
image: docker.io/matrixdotorg/synapse:latest
|
||||
# Since synapse does not retry to connect to the database, restart upon
|
||||
# failure
|
||||
restart: unless-stopped
|
||||
# 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:
|
||||
# You may either store all the files in a local folder
|
||||
- /home/fejy/docker/synapse:/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:
|
||||
- proxy
|
||||
|
||||
# In order to expose Synapse, remove one of the following, you might for
|
||||
# instance expose the TLS port directly:
|
||||
ports:
|
||||
- 8448:8448/tcp
|
||||
# ... or use a reverse proxy, here is an example for traefik:
|
||||
labels:
|
||||
# The following lines are valid for Traefik version 1.x:
|
||||
#- traefik.enable=true
|
||||
#- traefik.frontend.rule=Host:my.matrix.Host
|
||||
#- traefik.port=8008
|
||||
# Alternatively, for Traefik version 2.0:
|
||||
- traefik.enable=true
|
||||
- traefik.http.routers.http-synapse.entryPoints=web
|
||||
- traefik.http.routers.http-synapse.rule=Host(`synapse.nearfuture.industries`)
|
||||
- traefik.http.middlewares.https_redirect.redirectscheme.scheme=https
|
||||
- traefik.http.middlewares.https_redirect.redirectscheme.permanent=true
|
||||
- traefik.http.routers.http-synapse.middlewares=https_redirect
|
||||
- traefik.http.routers.https-synapse.entryPoints=websecure
|
||||
- traefik.http.routers.https-synapse.rule=Host(`synapse.nearfuture.industries`)
|
||||
- traefik.http.routers.https-synapse.service=synapse
|
||||
- traefik.http.routers.https-synapse.tls=true
|
||||
- traefik.http.routers.https-synapse.tls.certresolver=myresolver
|
||||
- traefik.http.services.synapse.loadbalancer.server.port=8008
|
||||
|
||||
db:
|
||||
image: docker.io/postgres:12-alpine
|
||||
# Change that password, of course!
|
||||
environment:
|
||||
- POSTGRES_USER=postgres
|
||||
- POSTGRES_PASSWORD=${POSTGRES_PASS}
|
||||
# ensure the database gets created correctly
|
||||
# https://element-hq.github.io/synapse/latest/postgres.html#set-up-database
|
||||
- POSTGRES_INITDB_ARGS=--encoding=UTF-8 --lc-collate=C --lc-ctype=C
|
||||
networks:
|
||||
- proxy
|
||||
volumes:
|
||||
# You may store the database tables in a local folder..
|
||||
- /home/fejy/docker/synapse-db/:/var/lib/postgresql/data
|
||||
# .. or store them on some high performance storage for better results
|
||||
# - /path/to/ssd/storage:/var/lib/postgresql/data
|
||||
|
||||
nginx:
|
||||
image: nginx:1.12-alpine
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- proxy
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.http.services.matrix.loadbalancer.server.port=80
|
||||
- traefik.http.routers.matrix.rule=Host(`nearfuture.industries`)
|
||||
- traefik.http.routers.matrix.entrypoints=websecure
|
||||
- traefik.http.routers.matrix.service=matrix
|
||||
- traefik.http.routers.matrix.tls=true
|
||||
- traefik.http.routers.matrix.tls.certresolver=myresolver
|
||||
|
||||
volumes:
|
||||
- ./nginx/matrix.conf:/etc/nginx/conf.d/matrix.conf
|
||||
- ./nginx/www:/var/www/
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
||||
|
||||
17
synapse/nginx/matrix.conf
Normal file
17
synapse/nginx/matrix.conf
Normal file
@@ -0,0 +1,17 @@
|
||||
server {
|
||||
listen 80 default_server;
|
||||
server_name nearfuture.industries;
|
||||
|
||||
# Traefik -> nginx -> synapse
|
||||
location /_matrix {
|
||||
proxy_pass http://synapse:8008;
|
||||
proxy_set_header X-Forwarded-For $remote_addr;
|
||||
client_max_body_size 128m;
|
||||
}
|
||||
|
||||
location /.well-known/matrix/ {
|
||||
root /var/www/;
|
||||
default_type application/json;
|
||||
add_header Access-Control-Allow-Origin *;
|
||||
}
|
||||
}
|
||||
6
synapse/nginx/www/.well-known/matrix/client
Normal file
6
synapse/nginx/www/.well-known/matrix/client
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"m.homeserver": {
|
||||
"base_url": "https://nearfuture.industries"
|
||||
}
|
||||
}
|
||||
|
||||
4
synapse/nginx/www/.well-known/matrix/server
Normal file
4
synapse/nginx/www/.well-known/matrix/server
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"m.server": "synapse.nearfuture.industries:443"
|
||||
}
|
||||
|
||||
@@ -8,6 +8,9 @@ services:
|
||||
#- "--providers.docker.exposedbydefault=false"
|
||||
#- "--entrypoints.web.address=:80"
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- NAMECHEAP_API_USER=${NAMECHEAP_USER}
|
||||
- NAMECHEAP_API_KEY=${NAMECHEAP_KEY}
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
@@ -16,6 +19,7 @@ services:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- /home/fejy/docker/traefik:/etc/traefik
|
||||
- /home/fejy/docker/traefik-ssl:/ssl
|
||||
- /home/fejy/docker/traefik-acme/acme.json:/acme.json
|
||||
networks:
|
||||
- proxy
|
||||
labels:
|
||||
|
||||
Reference in New Issue
Block a user