Skip to content

Instantly share code, notes, and snippets.

@MulverineX
Created September 3, 2023 04:52
Show Gist options
  • Save MulverineX/00a56505908c63d679188ef984820c54 to your computer and use it in GitHub Desktop.
Save MulverineX/00a56505908c63d679188ef984820c54 to your computer and use it in GitHub Desktop.
Neptune media server
client
dev tun
remote-cert-tls server
cipher CHACHA20-POLY1305
pull
nobind
reneg-sec 0
resolv-retry infinite
verb 3
persist-key
persist-tun
remote-random
remote 169.150.231.243 1194
remote 169.150.231.243 1195
proto udp
mute-replay-warnings
replay-window 256
key-direction 1
<ca>
[REDACTED]
</ca>
<tls-auth>
[REDACTED]
</tls-auth>
data-ciphers CHACHA20-POLY1305:AES-256-GCM:AES-256-CBC:AES-128-GCM
allow-compression asym
listen-address=127.0.0.1
listen-address=10.8.0.1
bind-interfaces
log-queries
interface=tun0
addn-hosts=/etc/dnsmasq.hosts
10.8.0.1 neptune.lan
10.8.0.1 torrent.neptune.lan
10.8.0.1 manage.neptune.lan
10.8.0.1 request.neptune.lan
10.8.0.1 shows.neptune.lan
10.8.0.1 movies.neptune.lan
name: neptune
services:
vpn:
container_name: vpn
image: qmcgaw/gluetun:latest
cap_add:
- NET_ADMIN
environment:
- VPN_SERVICE_PROVIDER=custom
- OPENVPN_USER=[REDACTED]
- OPENVPN_PASSWORD=[REDACTED]
- VPN_TYPE=openvpn
- OPENVPN_CUSTOM_CONFIG=/gluetun/custom.conf
volumes:
- ./client.ovpn.conf:/gluetun/custom.conf:ro
networks:
- neptune
ports:
- 8080:8080 # qbittorrent
- 6881:6881
- 6881:6881/udp # prowlarr ports
- 9696:9696
- 7878:7878
- 8989:8989
- 5055:5055
- 8096:8096 # jellyfin ports
- 7359:7359/udp
- 8920:8920
restart: "unless-stopped"
## Default credentials of qBittorrent - Username: admin password: adminadmin ##
qbittorrent:
container_name: qbittorrent
image: hotio/qbittorrent
depends_on:
- vpn
network_mode: service:vpn
environment:
- PUID=1000
- PGID=1000
- TZ=America/Denver
volumes:
- qbittorrent-config:/config
- torrent-downloads:/downloads
restart: "unless-stopped"
radarr:
container_name: radarr
image: lscr.io/linuxserver/radarr:latest
depends_on:
- vpn
network_mode: service:vpn
environment:
- PUID=1000
- PGID=1000
- TZ=America/Denver
volumes:
- radarr-config:/config
- torrent-downloads:/downloads
restart: "unless-stopped"
sonarr:
image: linuxserver/sonarr:latest
container_name: sonarr
depends_on:
- vpn
network_mode: service:vpn
environment:
- PUID=1000
- PGID=1000
- TZ=America/Denver
volumes:
- sonarr-config:/config
- torrent-downloads:/downloads
restart: unless-stopped
prowlarr:
container_name: prowlarr
image: linuxserver/prowlarr:latest
depends_on:
- vpn
network_mode: service:vpn
environment:
- PUID=1000
- PGID=1000
- TZ=America/Denver
volumes:
- prowlarr-config:/config
restart: unless-stopped
jellyseerr:
image: fallenbagel/jellyseerr:latest
container_name: jellyseerr
depends_on:
- vpn
network_mode: service:vpn
environment:
- LOG_LEVEL=debug
- TZ=America/Denver
volumes:
- jellyseerr-config:/app/config
restart: unless-stopped
jellyfin:
image: linuxserver/jellyfin:latest
container_name: jellyfin
depends_on:
- vpn
network_mode: service:vpn
environment:
- PUID=1000
- PGID=1000
- TZ=America/Denver
volumes:
- jellyfin-config:/config
- torrent-downloads:/data
# devices:
# - /dev/videoN:/dev/videoN # Mount GPU device
restart: unless-stopped
volumes:
torrent-downloads:
radarr-config:
sonarr-config:
prowlarr-config:
jellyfin-config:
jellyseerr-config:
qbittorrent-config:
networks:
neptune:
client
dev tun
proto udp
remote [REDACTED] 1337
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
auth SHA512
cipher AES-256-CBC
ignore-unknown-option block-outside-dns
verb 3
push "dhcp-option DNS 10.8.0.1"
dhcp-option DNS 10.8.0.1
<ca>
[REDACTED]
</ca>
<cert>
[REDACTED]
</cert>
<key>
[REDACTED]
</key>
<tls-crypt>
[REDACTED]
</tls-crypt>
server {
listen 80;
server_name neptune.lan;
location / {
proxy_set_header Host $host;
proxy_pass http://10.8.0.1:8096/;
proxy_redirect off;
}
}
server {
listen 80;
server_name torrent.neptune.lan;
location / {
proxy_set_header Host $host;
proxy_pass http://10.8.0.1:8080/;
proxy_redirect off;
}
}
server {
listen 80;
server_name request.neptune.lan;
location / {
proxy_set_header Host $host;
proxy_pass http://10.8.0.1:5055/;
proxy_redirect off;
}
}
server {
listen 80;
server_name movies.neptune.lan;
location / {
proxy_set_header Host $host;
proxy_pass http://10.8.0.1:7878/;
proxy_redirect off;
}
}
server {
listen 80;
server_name shows.neptune.lan;
location / {
proxy_set_header Host $host;
proxy_pass http://10.8.0.1:8989/;
proxy_redirect off;
}
}
server {
listen 80;
server_name manage.neptune.lan;
location / {
proxy_set_header Host $host;
proxy_pass http://10.8.0.1:9696/;
proxy_redirect off;
}
}
local 192.168.79.53
port 1337
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
auth SHA512
tls-crypt tc.key
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
cipher AES-256-CBC
user nobody
group nogroup
persist-key
persist-tun
verb 3
crl-verify crl.pem
explicit-exit-notify
duplicate-cn
tun-mtu 1400
mssfix 1360
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment