inital commit

This commit is contained in:
2022-10-30 14:01:10 -05:00
commit 9506f24bcc
30 changed files with 769 additions and 0 deletions

View 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
View 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
View 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

View 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

View 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

View 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
View 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
View 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

View File

@@ -0,0 +1,8 @@
[sshd]
enabled = true
[nginx-http-auth]
enabled = true
[nginx-botsearch]
enabled = true

49
static/homer/config.yml Normal file
View 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/"

View 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
View 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/*;
}

View 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
View 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
View 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
View 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>