Initial Commit
This commit is contained in:
commit
dc40d19393
39 files changed
+2000
No files matched your search
@@ -0,0 +1,20 @@
|
||||
networks:
|
||||
ssankur:
|
||||
external: "true"
|
||||
|
||||
services:
|
||||
gitea:
|
||||
container_name: "gitea"
|
||||
environment:
|
||||
- "GITEA__repository__DEFAULT_PUSH_CREATE_PRIVATE=false"
|
||||
- "GITEA__repository__ENABLE_PUSH_CREATE_ORG=true"
|
||||
- "GITEA__repository__ENABLE_PUSH_CREATE_USER=true"
|
||||
- "TZ=Asia/Dhaka"
|
||||
- "USER_GID=1000"
|
||||
- "USER_UID=1000"
|
||||
image: "docker.gitea.com/gitea:latest"
|
||||
networks:
|
||||
- "ssankur"
|
||||
restart: "on-failure"
|
||||
volumes:
|
||||
- "./mounts/data:/data"
|
||||
@@ -0,0 +1,15 @@
|
||||
networks:
|
||||
ssankur:
|
||||
external: "true"
|
||||
|
||||
services:
|
||||
gotify:
|
||||
container_name: "gotify"
|
||||
environment:
|
||||
- "TZ=Asia/Dhaka"
|
||||
image: "gotify/server:latest"
|
||||
networks:
|
||||
- "ssankur"
|
||||
restart: "on-failure"
|
||||
volumes:
|
||||
- "./mounts/data:/app/data"
|
||||
@@ -0,0 +1,27 @@
|
||||
networks:
|
||||
ssankur:
|
||||
external: "true"
|
||||
|
||||
volumes:
|
||||
TrueNAS-RO-Movies:
|
||||
external: "true"
|
||||
TrueNAS-RO-Shows:
|
||||
external: "true"
|
||||
|
||||
services:
|
||||
jellyfin:
|
||||
container_name: "jellyfin"
|
||||
devices:
|
||||
- "/dev/dri:/dev/dri"
|
||||
environment:
|
||||
- "PGID=1000"
|
||||
- "PUID=1000"
|
||||
- "TZ=Asia/Dhaka"
|
||||
image: "lscr.io/linuxserver/jellyfin:latest"
|
||||
networks:
|
||||
- "ssankur"
|
||||
restart: "on-failure"
|
||||
volumes:
|
||||
- "./mounts/config:/config"
|
||||
- "TrueNAS-RO-Movies:/mnt/TrueNAS/Movies:ro"
|
||||
- "TrueNAS-RO-Shows:/mnt/TrueNAS/Shows:ro"
|
||||
@@ -0,0 +1,20 @@
|
||||
networks:
|
||||
ssankur:
|
||||
external: "true"
|
||||
|
||||
services:
|
||||
librespeed:
|
||||
container_name: "librespeed"
|
||||
environment:
|
||||
- "DOCKER_MODS=ghcr.io/themepark-dev/theme.park:librespeed"
|
||||
- "PASSWORD=${PASSWORD}"
|
||||
- "PGID=1000"
|
||||
- "PUID=1000"
|
||||
- "TP_THEME=dracula"
|
||||
- "TZ=Asia/Dhaka"
|
||||
image: "lscr.io/linuxserver/librespeed:latest"
|
||||
networks:
|
||||
- "ssankur"
|
||||
restart: "on-failure"
|
||||
volumes:
|
||||
- "./mounts/config:/config"
|
||||
@@ -0,0 +1,39 @@
|
||||
networks:
|
||||
ssankur:
|
||||
external: "true"
|
||||
|
||||
services:
|
||||
mailrise:
|
||||
configs:
|
||||
- source: "mailrise"
|
||||
target: "/etc/mailrise.conf"
|
||||
container_name: "mailrise"
|
||||
image: "yoryan/mailrise:latest"
|
||||
networks:
|
||||
- "ssankur"
|
||||
ports:
|
||||
- "10.1.4.2:25:25/tcp"
|
||||
restart: "on-failure"
|
||||
|
||||
configs:
|
||||
mailrise:
|
||||
content: |
|
||||
configs:
|
||||
fileserver@mailrise.ssankur.com:
|
||||
urls:
|
||||
- "gotify://gotify/${GOTIFY_TOKEN_FILE_SERVER}"
|
||||
mirotalk@mailrise.ssankur.com:
|
||||
urls:
|
||||
- "gotify://gotify/${GOTIFY_TOKEN_MIROTALK}"
|
||||
pfsense@mailrise.ssankur.com:
|
||||
urls:
|
||||
- "gotify://gotify/${GOTIFY_TOKEN_PFSENSE}"
|
||||
truenas@mailrise.ssankur.com:
|
||||
urls:
|
||||
- "gotify://gotify/${GOTIFY_TOKEN_TRUENAS}"
|
||||
listen:
|
||||
port: "25"
|
||||
smtp:
|
||||
auth:
|
||||
basic:
|
||||
SSAnkur: "${SMTP_PASSWORD}"
|
||||
@@ -0,0 +1,27 @@
|
||||
networks:
|
||||
ssankur:
|
||||
external: "true"
|
||||
|
||||
services:
|
||||
mirotalk:
|
||||
container_name: "mirotalk"
|
||||
environment:
|
||||
- "EMAIL_ALERTS_ENABLED=true"
|
||||
- "EMAIL_FROM=ankur7914@gmail.com"
|
||||
- "EMAIL_HOST=mailrise"
|
||||
- "EMAIL_PASSWORD=${EMAIL_PASSWORD}"
|
||||
- "EMAIL_PORT=25"
|
||||
- "EMAIL_SEND_TO=mirotalk@mailrise.ssankur.com"
|
||||
- "EMAIL_USERNAME=SSAnkur"
|
||||
- "JWT_SECRET=${JWT_SECRET}"
|
||||
- "PRESENTER_JOIN_FIRST=false"
|
||||
- "PRESENTERS=Ankur"
|
||||
- "SFU_SERVER=true"
|
||||
- "SFU_ANNOUNCED_IP=mirotalk.ssankur.com"
|
||||
image: "mirotalk/sfu:latest"
|
||||
networks:
|
||||
- "ssankur"
|
||||
ports:
|
||||
- "10.1.4.2:40000-40004:40000-40004/tcp"
|
||||
- "10.1.4.2:40000-40004:40000-40004/udp"
|
||||
restart: "on-failure"
|
||||
@@ -0,0 +1,17 @@
|
||||
networks:
|
||||
ssankur:
|
||||
external: "true"
|
||||
|
||||
services:
|
||||
nginx:
|
||||
container_name: "nginx"
|
||||
environment:
|
||||
- "PGID=1000"
|
||||
- "PUID=1000"
|
||||
- "TZ=Asia/Dhaka"
|
||||
image: "lscr.io/linuxserver/nginx:latest"
|
||||
networks:
|
||||
- "ssankur"
|
||||
restart: "on-failure"
|
||||
volumes:
|
||||
- "./mounts/config:/config"
|
||||
@@ -0,0 +1,16 @@
|
||||
networks:
|
||||
ssankur:
|
||||
external: "true"
|
||||
|
||||
services:
|
||||
openspeedtest:
|
||||
container_name: "openspeedtest"
|
||||
environment:
|
||||
- "SET_USER=1000"
|
||||
- "TZ=Asia/Dhaka"
|
||||
image: "openspeedtest/latest:latest"
|
||||
networks:
|
||||
- "ssankur"
|
||||
restart: "on-failure"
|
||||
volumes:
|
||||
- "./mounts/letsencrypt:/var/log/letsencrypt"
|
||||
@@ -0,0 +1,18 @@
|
||||
networks:
|
||||
ssankur:
|
||||
external: "true"
|
||||
|
||||
services:
|
||||
pingvin-share:
|
||||
container_name: "pingvin-share"
|
||||
environment:
|
||||
- "PGID=1000"
|
||||
- "PUID=1000"
|
||||
- "TZ=Asia/Dhaka"
|
||||
image: "stonith404/pingvin-share:latest"
|
||||
networks:
|
||||
- "ssankur"
|
||||
restart: "on-failure"
|
||||
volumes:
|
||||
- "./mounts/data:/opt/app/backend/data"
|
||||
- "./mounts/img:/opt/app/frontend/public/img"
|
||||
@@ -0,0 +1,49 @@
|
||||
networks:
|
||||
ssankur:
|
||||
external: "true"
|
||||
|
||||
volumes:
|
||||
Vault:
|
||||
external: "true"
|
||||
|
||||
services:
|
||||
qbittorrent-vpn:
|
||||
cap_add:
|
||||
- "NET_ADMIN"
|
||||
configs:
|
||||
- source: "wg0"
|
||||
target: "/config/wireguard/wg0.conf"
|
||||
container_name: "qbittorrent-vpn"
|
||||
environment:
|
||||
- "PGID=1000"
|
||||
- "PUID=1000"
|
||||
- "TZ=Asia/Dhaka"
|
||||
- "VPN_ENABLED=true"
|
||||
- "VPN_LAN_NETWORK=10.1.1.0/24,10.5.5.1"
|
||||
- "VPN_NAMESERVERS=1.1.1.1@853#cloudflare-dns.com"
|
||||
- "WEBUI_PORTS=8082/tcp"
|
||||
image: "ghcr.io/hotio/qbittorrent:latest"
|
||||
networks:
|
||||
- "ssankur"
|
||||
ports:
|
||||
- "10.1.4.2:8082:8082/tcp"
|
||||
restart: "on-failure"
|
||||
sysctls:
|
||||
- "net.ipv4.conf.all.src_valid_mark=1"
|
||||
- "net.ipv6.conf.all.disable_ipv6=1"
|
||||
volumes:
|
||||
- "./mounts/config:/config"
|
||||
- "Vault:/mnt/Vault"
|
||||
|
||||
configs:
|
||||
wg0:
|
||||
content: |
|
||||
[Interface]
|
||||
Address = 10.9.9.3/32
|
||||
DNS = 1.1.1.1
|
||||
PrivateKey = ${PRIVATE_KEY}
|
||||
|
||||
[Peer]
|
||||
AllowedIPs = 0.0.0.0/0
|
||||
Endpoint = ${VPN_SERVER_IP}:51820
|
||||
PublicKey = ${PUBLIC_KEY}
|
||||
@@ -0,0 +1,44 @@
|
||||
networks:
|
||||
ssankur:
|
||||
external: "true"
|
||||
|
||||
volumes:
|
||||
TrueNAS-RW-Downloads:
|
||||
external: "true"
|
||||
TrueNAS-RO-Games-Setup:
|
||||
external: "true"
|
||||
TrueNAS-RO-Movies:
|
||||
external: "true"
|
||||
TrueNAS-RO-Shows:
|
||||
external: "true"
|
||||
TrueNAS-RO-Softwares-Operating-Systems:
|
||||
external: "true"
|
||||
TrueNAS-RO-Videos:
|
||||
external: "true"
|
||||
Vault:
|
||||
external: "true"
|
||||
|
||||
services:
|
||||
qbittorrent:
|
||||
container_name: "qbittorrent"
|
||||
environment:
|
||||
- "PGID=1000"
|
||||
- "PUID=1000"
|
||||
- "TZ=Asia/Dhaka"
|
||||
image: "lscr.io/linuxserver/qbittorrent:latest"
|
||||
networks:
|
||||
- "ssankur"
|
||||
ports:
|
||||
- "10.1.4.2:6881:6881/tcp"
|
||||
- "10.1.4.2:6881:6881/udp"
|
||||
- "10.1.4.2:8080:8080/tcp"
|
||||
restart: "on-failure"
|
||||
volumes:
|
||||
- "./mounts/config:/config"
|
||||
- "TrueNAS-RW-Downloads:/mnt/TrueNAS/Downloads"
|
||||
- "TrueNAS-RO-Games-Setup:/mnt/TrueNAS/Games/Setup:ro"
|
||||
- "TrueNAS-RO-Movies:/mnt/TrueNAS/Movies:ro"
|
||||
- "TrueNAS-RO-Shows:/mnt/TrueNAS/Shows:ro"
|
||||
- "TrueNAS-RO-Softwares-Operating-Systems:/mnt/TrueNAS/Softwares/Operating Systems:ro"
|
||||
- "TrueNAS-RO-Videos:/mnt/TrueNAS/Videos:ro"
|
||||
- "Vault:/mnt/Vault"
|
||||
@@ -0,0 +1,52 @@
|
||||
networks:
|
||||
ssankur:
|
||||
external: "true"
|
||||
|
||||
services:
|
||||
socket-proxy:
|
||||
container_name: "socket-proxy"
|
||||
environment:
|
||||
- "ALLOW_ARCHIVE=1"
|
||||
- "ALLOW_CHANGES=1"
|
||||
- "ALLOW_EXPORT=1"
|
||||
- "ALLOW_LOGS=1"
|
||||
- "ALLOW_PAUSE=1"
|
||||
- "ALLOW_RESTARTS=1"
|
||||
- "ALLOW_STOP=1"
|
||||
- "ALLOW_START=1"
|
||||
- "ALLOW_TOP=1"
|
||||
- "ALLOW_UNPAUSE=1"
|
||||
- "AUTH=1"
|
||||
- "BUILD=1"
|
||||
- "COMMIT=1"
|
||||
- "CONFIGS=1"
|
||||
- "CONTAINERS=1"
|
||||
- "DISTRIBUTION=1"
|
||||
- "EVENTS=1"
|
||||
- "EXEC=1"
|
||||
- "IMAGES=1"
|
||||
- "INFO=1"
|
||||
- "NETWORKS=1"
|
||||
- "NODES=1"
|
||||
- "PING=1"
|
||||
- "PLUGINS=1"
|
||||
- "POST=1"
|
||||
- "SECRETS=1"
|
||||
- "SERVICES=1"
|
||||
- "SESSION=1"
|
||||
- "SWARM=1"
|
||||
- "SYSTEM=1"
|
||||
- "TASKS=1"
|
||||
- "TZ=Asia/Dhaka"
|
||||
- "VERSION=1"
|
||||
- "VOLUMES=1"
|
||||
image: "lscr.io/linuxserver/socket-proxy:latest"
|
||||
networks:
|
||||
- "ssankur"
|
||||
ports:
|
||||
- "10.1.4.2:2375:2375/tcp"
|
||||
restart: "on-failure"
|
||||
tmpfs:
|
||||
- "/run"
|
||||
volumes:
|
||||
- "/var/run/docker.sock:/var/run/docker.sock"
|
||||
@@ -0,0 +1,137 @@
|
||||
networks:
|
||||
ssankur:
|
||||
external: "true"
|
||||
|
||||
services:
|
||||
traefik-dmz:
|
||||
configs:
|
||||
- source: "config"
|
||||
target: "/etc/traefik/config.yaml"
|
||||
- source: "traefik"
|
||||
target: "/etc/traefik/traefik.yaml"
|
||||
container_name: "traefik-dmz"
|
||||
environment:
|
||||
- "CF_DNS_API_TOKEN=${CF_DNS_API_TOKEN}"
|
||||
- "TZ=Asia/Dhaka"
|
||||
image: "traefik:latest"
|
||||
networks:
|
||||
- "ssankur"
|
||||
ports:
|
||||
- "10.1.4.2:80:80/tcp"
|
||||
- "10.1.4.2:443:443/tcp"
|
||||
- "10.1.4.2:8081:8080/tcp"
|
||||
restart: "on-failure"
|
||||
volumes:
|
||||
- "./mounts/letsencrypt:/etc/letsencrypt"
|
||||
|
||||
configs:
|
||||
config:
|
||||
content: |
|
||||
http:
|
||||
routers:
|
||||
files:
|
||||
rule: "Host(`files.ssankur.com`)"
|
||||
service: "files"
|
||||
gitea:
|
||||
rule: "Host(`gitea.ssankur.com`)"
|
||||
service: "gitea"
|
||||
gotify:
|
||||
rule: "Host(`gotify.ssankur.com`)"
|
||||
service: "gotify"
|
||||
hunt:
|
||||
rule: "Host(`hunt.ssankur.com`)"
|
||||
service: "hunt"
|
||||
jellyfin:
|
||||
rule: "Host(`jellyfin.ssankur.com`)"
|
||||
service: "jellyfin"
|
||||
mirotalk:
|
||||
rule: "Host(`mirotalk.ssankur.com`)"
|
||||
service: "mirotalk"
|
||||
openspeedtest:
|
||||
rule: "Host(`openspeedtest.ssankur.com`)"
|
||||
service: "openspeedtest"
|
||||
speedtest:
|
||||
rule: "Host(`speedtest.ssankur.com`)"
|
||||
service: "speedtest"
|
||||
|
||||
services:
|
||||
files:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://pingvin-share:3000"
|
||||
gitea:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://gitea:3000"
|
||||
gotify:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://gotify:80"
|
||||
hunt:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://nginx:80"
|
||||
jellyfin:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://jellyfin:8096"
|
||||
mirotalk:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "https://mirotalk:3010"
|
||||
openspeedtest:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "https://openspeedtest:3001"
|
||||
speedtest:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "https://librespeed:443"
|
||||
|
||||
traefik:
|
||||
content: |
|
||||
api:
|
||||
disableDashboardAd: "true"
|
||||
insecure: "true"
|
||||
|
||||
certificatesResolvers:
|
||||
letsencrypt:
|
||||
acme:
|
||||
dnsChallenge:
|
||||
propagation:
|
||||
delayBeforeChecks: "300"
|
||||
disableANSChecks: "true"
|
||||
disableChecks: "true"
|
||||
provider: "cloudflare"
|
||||
email: "ankur7914@gmail.com"
|
||||
storage: "/etc/letsencrypt/acme.json"
|
||||
|
||||
entryPoints:
|
||||
http:
|
||||
address: ":80"
|
||||
http:
|
||||
redirections:
|
||||
entryPoint:
|
||||
to: "https"
|
||||
https:
|
||||
address: ":443"
|
||||
asDefault: "true"
|
||||
forwardedHeaders:
|
||||
trustedIPs:
|
||||
- "172.18.0.0/16"
|
||||
http:
|
||||
tls:
|
||||
certResolver: "letsencrypt"
|
||||
domains:
|
||||
- main: "ssankur.com"
|
||||
sans:
|
||||
- "*.ssankur.com"
|
||||
log:
|
||||
level: "INFO"
|
||||
|
||||
providers:
|
||||
file:
|
||||
filename: "/etc/traefik/config.yaml"
|
||||
|
||||
serversTransport:
|
||||
insecureSkipVerify: "true"
|
||||
Reference in new issue
Block a user