inital commit
This commit is contained in:
26
static/Jackett/ServerConfig.json
Normal file
26
static/Jackett/ServerConfig.json
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"Port": 9117,
|
||||
"AllowExternal": true,
|
||||
"AllowCORS": false,
|
||||
"APIKey": null,
|
||||
"AdminPassword": null,
|
||||
"InstanceId": null,
|
||||
"BlackholeDir": null,
|
||||
"UpdateDisabled": false,
|
||||
"UpdatePrerelease": false,
|
||||
"BasePathOverride": "/jackett",
|
||||
"BaseUrlOverride": null,
|
||||
"CacheEnabled": true,
|
||||
"CacheTtl": 2100,
|
||||
"CacheMaxResultsPerIndexer": 1000,
|
||||
"FlareSolverrUrl": null,
|
||||
"FlareSolverrMaxTimeout": 55000,
|
||||
"OmdbApiKey": null,
|
||||
"OmdbApiUrl": null,
|
||||
"ProxyType": 0,
|
||||
"ProxyUrl": null,
|
||||
"ProxyPort": null,
|
||||
"ProxyUsername": null,
|
||||
"ProxyPassword": null,
|
||||
"ProxyIsAnonymous": true
|
||||
}
|
16
static/docker/deluge.yaml
Normal file
16
static/docker/deluge.yaml
Normal file
@@ -0,0 +1,16 @@
|
||||
---
|
||||
version: "2.1"
|
||||
services:
|
||||
deluge:
|
||||
image: lscr.io/linuxserver/deluge:latest
|
||||
container_name: deluge
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- DELUGE_LOGLEVEL=error #optional
|
||||
volumes:
|
||||
- /infra/deluge/config:/config
|
||||
- /infra/downloads:/downloads
|
||||
ports:
|
||||
- 8001:8112
|
||||
restart: unless-stopped
|
14
static/docker/homer.yaml
Normal file
14
static/docker/homer.yaml
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
version: "2"
|
||||
services:
|
||||
homer:
|
||||
image: b4bz/homer:latest
|
||||
container_name: homer
|
||||
volumes:
|
||||
- /infra/homer:/www/assets
|
||||
ports:
|
||||
- 8000:8080
|
||||
user: 1000:1000 # default
|
||||
environment:
|
||||
- INIT_ASSETS=1 # default
|
||||
restart: unless-stopped
|
16
static/docker/jackett.yaml
Normal file
16
static/docker/jackett.yaml
Normal file
@@ -0,0 +1,16 @@
|
||||
---
|
||||
version: "2.1"
|
||||
services:
|
||||
jackett:
|
||||
image: lscr.io/linuxserver/jackett:latest
|
||||
container_name: jackett
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- AUTO_UPDATE=true #optional
|
||||
volumes:
|
||||
- /infra/jackett/config:/config
|
||||
- /infra/downloads:/downloads
|
||||
ports:
|
||||
- 8005:9117
|
||||
restart: unless-stopped
|
16
static/docker/jellyfin.yaml
Normal file
16
static/docker/jellyfin.yaml
Normal file
@@ -0,0 +1,16 @@
|
||||
---
|
||||
version: "2.1"
|
||||
services:
|
||||
jellyfin:
|
||||
image: lscr.io/linuxserver/jellyfin:latest
|
||||
container_name: jellyfin
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
volumes:
|
||||
- /infra/jellyfin/config:/config
|
||||
- /infra/downloads/tvshows:/data/tvshows
|
||||
- /infra/downloads/movies:/data/movies
|
||||
ports:
|
||||
- 8006:8096
|
||||
restart: unless-stopped
|
13
static/docker/openbooks.yaml
Normal file
13
static/docker/openbooks.yaml
Normal file
@@ -0,0 +1,13 @@
|
||||
---
|
||||
version: "3.3"
|
||||
services:
|
||||
openbooks:
|
||||
image: evanbuss/openbooks:latest
|
||||
container_name: openbooks
|
||||
volumes:
|
||||
- /infra/downloads/books:/books
|
||||
ports:
|
||||
- 8004:80
|
||||
environment:
|
||||
- BASE_PATH=/openbooks/
|
||||
restart: unless-stopped
|
14
static/docker/radarr.yaml
Normal file
14
static/docker/radarr.yaml
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
version: "2.1"
|
||||
services:
|
||||
radarr:
|
||||
image: lscr.io/linuxserver/radarr:latest
|
||||
container_name: radarr
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
volumes:
|
||||
- /infra/radarr:/config
|
||||
- /infra/downloads:/downloads #optional
|
||||
network_mode: host
|
||||
restart: unless-stopped
|
14
static/docker/sonarr.yaml
Normal file
14
static/docker/sonarr.yaml
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
version: "2.1"
|
||||
services:
|
||||
sonarr:
|
||||
image: lscr.io/linuxserver/sonarr:latest
|
||||
container_name: sonarr
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
volumes:
|
||||
- /infra/sonarr:/config
|
||||
- /infra/downloads:/downloads #optional
|
||||
network_mode: host
|
||||
restart: unless-stopped
|
8
static/fail2ban/jails.local
Normal file
8
static/fail2ban/jails.local
Normal file
@@ -0,0 +1,8 @@
|
||||
[sshd]
|
||||
enabled = true
|
||||
|
||||
[nginx-http-auth]
|
||||
enabled = true
|
||||
|
||||
[nginx-botsearch]
|
||||
enabled = true
|
49
static/homer/config.yml
Normal file
49
static/homer/config.yml
Normal file
@@ -0,0 +1,49 @@
|
||||
---
|
||||
title: "Yarr'!"
|
||||
subtitle: "a poor man's pirate box"
|
||||
icon: "fas fa-skull-crossbones"
|
||||
|
||||
columns: "3" # "auto" or number (must be a factor of 12: 1, 2, 3, 4, 6, 12)
|
||||
|
||||
# Set the default layout and color scheme
|
||||
defaults:
|
||||
layout: columns # Either 'columns', or 'list'
|
||||
colorTheme: dark # One of 'auto', 'light', or 'dark'
|
||||
|
||||
header: true
|
||||
footer: <p>Piracy is not the problem, obscurity is.</p>
|
||||
|
||||
# Optional theming
|
||||
theme: default # 'default' or one of the themes available in 'src/assets/themes'.
|
||||
|
||||
services:
|
||||
- name: "Torrent"
|
||||
icon: "fas fa-code-branch"
|
||||
items:
|
||||
- name: "Deluge"
|
||||
icon: "fa-solid fa-download"
|
||||
subtitle: "Torrent client"
|
||||
url: "/deluge/"
|
||||
- name: "Jackett"
|
||||
icon: "fa-solid fa-shirt"
|
||||
subtitle: "Torrent tracker"
|
||||
url: "/jackett/UI/Dashboard"
|
||||
- name: "Radarr"
|
||||
icon: "fa-solid fa-satellite-dish"
|
||||
subtitle: "Movie downloader"
|
||||
url: "/radarr/"
|
||||
- name: "Sonarr"
|
||||
icon: "fa-solid fa-satellite-dish"
|
||||
subtitle: "TV Show downloader"
|
||||
url: "/sonarr/"
|
||||
- name: "Media"
|
||||
icon: "fa-solid fa-compact-disk"
|
||||
items:
|
||||
- name: "OpenBooks"
|
||||
icon: "fa-solid fa-book-skull"
|
||||
subtitle: "eBook tracker and downloader"
|
||||
url: "/openbooks/"
|
||||
- name: "Jellyfin"
|
||||
icon: "fa-solid fa-photo-film"
|
||||
subtitle: "Media vault"
|
||||
url: "/jellyfin/"
|
34
static/jellyfin/network.xml
Normal file
34
static/jellyfin/network.xml
Normal file
@@ -0,0 +1,34 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<NetworkConfiguration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<RequireHttps>false</RequireHttps>
|
||||
<BaseUrl>/jellyfin/</BaseUrl>
|
||||
<PublicHttpsPort>8920</PublicHttpsPort>
|
||||
<HttpServerPortNumber>8096</HttpServerPortNumber>
|
||||
<HttpsPortNumber>8920</HttpsPortNumber>
|
||||
<EnableHttps>false</EnableHttps>
|
||||
<PublicPort>8096</PublicPort>
|
||||
<UPnPCreateHttpPortMap>false</UPnPCreateHttpPortMap>
|
||||
<UDPPortRange />
|
||||
<EnableIPV6>false</EnableIPV6>
|
||||
<EnableIPV4>true</EnableIPV4>
|
||||
<EnableSSDPTracing>false</EnableSSDPTracing>
|
||||
<SSDPTracingFilter />
|
||||
<UDPSendCount>2</UDPSendCount>
|
||||
<UDPSendDelay>100</UDPSendDelay>
|
||||
<IgnoreVirtualInterfaces>true</IgnoreVirtualInterfaces>
|
||||
<VirtualInterfaceNames>vEthernet*</VirtualInterfaceNames>
|
||||
<GatewayMonitorPeriod>60</GatewayMonitorPeriod>
|
||||
<TrustAllIP6Interfaces>false</TrustAllIP6Interfaces>
|
||||
<HDHomerunPortRange />
|
||||
<PublishedServerUriBySubnet />
|
||||
<AutoDiscoveryTracing>false</AutoDiscoveryTracing>
|
||||
<AutoDiscovery>true</AutoDiscovery>
|
||||
<RemoteIPFilter />
|
||||
<IsRemoteIPFilterBlacklist>false</IsRemoteIPFilterBlacklist>
|
||||
<EnableUPnP>false</EnableUPnP>
|
||||
<EnableRemoteAccess>true</EnableRemoteAccess>
|
||||
<LocalNetworkSubnets />
|
||||
<LocalNetworkAddresses />
|
||||
<KnownProxies />
|
||||
<EnablePublishedServerUriByRequest>false</EnablePublishedServerUriByRequest>
|
||||
</NetworkConfiguration>
|
45
static/nginx/nginx.conf
Normal file
45
static/nginx/nginx.conf
Normal file
@@ -0,0 +1,45 @@
|
||||
user www-data;
|
||||
worker_processes auto;
|
||||
include /etc/nginx/modules-enabled/*.conf;
|
||||
pid /run/nginx.pid;
|
||||
|
||||
events {
|
||||
worker_connections 768;
|
||||
}
|
||||
|
||||
http {
|
||||
|
||||
##
|
||||
# Basic Settings
|
||||
##
|
||||
|
||||
sendfile on;
|
||||
tcp_nopush on;
|
||||
tcp_nodelay on;
|
||||
keepalive_timeout 65;
|
||||
types_hash_max_size 2048;
|
||||
|
||||
include /etc/nginx/mime.types;
|
||||
default_type application/octet-stream;
|
||||
|
||||
##
|
||||
# Logging Settings
|
||||
##
|
||||
|
||||
access_log /var/log/nginx/access.log;
|
||||
error_log /var/log/nginx/error.log;
|
||||
|
||||
##
|
||||
# Gzip Settings
|
||||
##
|
||||
|
||||
gzip on;
|
||||
gzip_disable "msie6";
|
||||
|
||||
##
|
||||
# Virtual Host Configs
|
||||
##
|
||||
|
||||
include /etc/nginx/conf.d/*.conf;
|
||||
include /etc/nginx/sites-enabled/*;
|
||||
}
|
32
static/nginx/proxy-control.conf
Normal file
32
static/nginx/proxy-control.conf
Normal file
@@ -0,0 +1,32 @@
|
||||
proxy_connect_timeout 59s;
|
||||
proxy_send_timeout 600;
|
||||
proxy_read_timeout 36000s; ## Timeout after 10 hours
|
||||
proxy_buffer_size 64k;
|
||||
proxy_buffers 16 32k;
|
||||
proxy_pass_header Set-Cookie;
|
||||
proxy_hide_header Vary;
|
||||
|
||||
proxy_busy_buffers_size 64k;
|
||||
proxy_temp_file_write_size 64k;
|
||||
|
||||
proxy_set_header Accept-Encoding '';
|
||||
proxy_ignore_headers Cache-Control Expires;
|
||||
proxy_set_header Referer $http_referer;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header Cookie $http_cookie;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-Host $host;
|
||||
proxy_set_header X-Forwarded-Server $host;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Port '443';
|
||||
proxy_set_header X-Forwarded-Ssl on;
|
||||
proxy_set_header X-Forwarded-Proto https;
|
||||
proxy_set_header Authorization '';
|
||||
|
||||
proxy_buffering off;
|
||||
proxy_redirect off;
|
||||
|
||||
## Required for Plex WebSockets
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
84
static/nginx/sites.conf
Normal file
84
static/nginx/sites.conf
Normal file
@@ -0,0 +1,84 @@
|
||||
server {
|
||||
listen 0.0.0.0:80 default_server;
|
||||
|
||||
location /deluge {
|
||||
return 302 $scheme://$host/deluge/;
|
||||
}
|
||||
|
||||
location /deluge/ {
|
||||
proxy_pass http://localhost:8001/;
|
||||
proxy_set_header X-Deluge-Base "/deluge/";
|
||||
include restrict-auth.conf;
|
||||
include proxy-control.conf;
|
||||
add_header X-Frame-Options SAMEORIGIN;
|
||||
}
|
||||
|
||||
location /radarr {
|
||||
proxy_pass http://localhost:8002/radarr;
|
||||
include restrict-auth.conf;
|
||||
include proxy-control.conf;
|
||||
add_header X-Frame-Options SAMEORIGIN;
|
||||
}
|
||||
|
||||
# allow radarr api to be reached
|
||||
location /radarr/api {
|
||||
proxy_pass http://localhost:8002/radarr/api;
|
||||
include restrict-auth.conf;
|
||||
include proxy-control.conf;
|
||||
add_header X-Frame-Options SAMEORIGIN;
|
||||
}
|
||||
|
||||
location /sonarr {
|
||||
proxy_pass http://localhost:8003/sonarr;
|
||||
include restrict-auth.conf;
|
||||
include proxy-control.conf;
|
||||
add_header X-Frame-Options SAMEORIGIN;
|
||||
}
|
||||
|
||||
# allow sonarr api to be reached
|
||||
location /sonarr/api {
|
||||
proxy_pass http://localhost:8003/sonarr/api;
|
||||
include restrict-auth.conf;
|
||||
include proxy-control.conf;
|
||||
add_header X-Frame-Options SAMEORIGIN;
|
||||
}
|
||||
|
||||
location /openbooks {
|
||||
proxy_pass http://localhost:8004/openbooks/;
|
||||
include restrict-auth.conf;
|
||||
include proxy-control.conf;
|
||||
add_header X-Frame-Options SAMEORIGIN;
|
||||
}
|
||||
|
||||
# openbooks uses a subdirectory for websocket connections
|
||||
location /openbooks/ws {
|
||||
proxy_pass http://localhost:8004/openbooks/ws;
|
||||
include restrict-auth.conf;
|
||||
include proxy-control.conf;
|
||||
add_header X-Frame-Options SAMEORIGIN;
|
||||
}
|
||||
|
||||
location /jackett {
|
||||
proxy_pass http://localhost:8005/jackett;
|
||||
include restrict-auth.conf;
|
||||
include proxy-control.conf;
|
||||
add_header X-Frame-Options SAMEORIGIN;
|
||||
}
|
||||
|
||||
# jellyfin doesn't require auth headers (it has its own authentication system)
|
||||
location /jellyfin {
|
||||
return 302 $scheme://$host/jellyfin/;
|
||||
}
|
||||
|
||||
location /jellyfin/ {
|
||||
proxy_pass http://localhost:8006;
|
||||
include proxy-control.conf;
|
||||
}
|
||||
|
||||
location / {
|
||||
proxy_pass http://localhost:8000/;
|
||||
include restrict-auth.conf;
|
||||
include proxy-control.conf;
|
||||
add_header X-Frame-Options SAMEORIGIN;
|
||||
}
|
||||
}
|
16
static/radarr/config.xml
Normal file
16
static/radarr/config.xml
Normal file
@@ -0,0 +1,16 @@
|
||||
<Config>
|
||||
<LogLevel>info</LogLevel>
|
||||
<UrlBase>/radarr</UrlBase>
|
||||
<UpdateMechanism>Docker</UpdateMechanism>
|
||||
<BindAddress>*</BindAddress>
|
||||
<Port>8002</Port>
|
||||
<SslPort>1337</SslPort>
|
||||
<EnableSsl>False</EnableSsl>
|
||||
<LaunchBrowser>False</LaunchBrowser>
|
||||
<ApiKey></ApiKey>
|
||||
<AuthenticationMethod>None</AuthenticationMethod>
|
||||
<Branch>master</Branch>
|
||||
<SslCertPath></SslCertPath>
|
||||
<SslCertPassword></SslCertPassword>
|
||||
<InstanceName>Radarr</InstanceName>
|
||||
</Config>
|
16
static/sonarr/config.xml
Normal file
16
static/sonarr/config.xml
Normal file
@@ -0,0 +1,16 @@
|
||||
<Config>
|
||||
<LogLevel>info</LogLevel>
|
||||
<UrlBase>/sonarr</UrlBase>
|
||||
<UpdateMechanism>Docker</UpdateMechanism>
|
||||
<BindAddress>*</BindAddress>
|
||||
<Port>8003</Port>
|
||||
<SslPort>1337</SslPort>
|
||||
<EnableSsl>False</EnableSsl>
|
||||
<LaunchBrowser>False</LaunchBrowser>
|
||||
<ApiKey></ApiKey>
|
||||
<AuthenticationMethod>None</AuthenticationMethod>
|
||||
<Branch>master</Branch>
|
||||
<SslCertPath></SslCertPath>
|
||||
<SslCertPassword></SslCertPassword>
|
||||
<InstanceName>Sonarr</InstanceName>
|
||||
</Config>
|
Reference in New Issue
Block a user