Add gpodder-rs setup
This commit is contained in:
@@ -30,6 +30,8 @@ networks:
|
||||
external: false
|
||||
gitea:
|
||||
external: false
|
||||
gpodder:
|
||||
external: false
|
||||
services:
|
||||
web:
|
||||
image: "nginx"
|
||||
@@ -50,6 +52,7 @@ services:
|
||||
- jellyfin-int
|
||||
- auth
|
||||
- gitea
|
||||
- gpodder
|
||||
depends_on:
|
||||
- jellyfin
|
||||
- ollama-webui
|
||||
@@ -57,6 +60,7 @@ services:
|
||||
- authelia
|
||||
- qbittorrent
|
||||
- gitea
|
||||
- gpodder
|
||||
logging: &logging
|
||||
options:
|
||||
max-size: "50m"
|
||||
@@ -144,6 +148,13 @@ services:
|
||||
logging: *logging
|
||||
depends_on:
|
||||
- gitea
|
||||
gpodder:
|
||||
image: gitea.loadingm.xyz/the10thwiz/gpodder-rs:latest
|
||||
networks:
|
||||
- gpodder
|
||||
volumes:
|
||||
- /data/gpodder:/data
|
||||
logging: *logging
|
||||
# calibre:
|
||||
# image: "linuxserver/calibre-web"
|
||||
# 5d-diplomacy-frontend:
|
||||
|
||||
@@ -48,23 +48,33 @@ server {
|
||||
# ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
|
||||
ssl_trusted_certificate /etc/letsencrypt/live/loadingm.xyz/chain.pem;
|
||||
|
||||
root /data/site;
|
||||
# Security / XSS Mitigation Headers
|
||||
add_header X-Content-Type-Options "nosniff";
|
||||
|
||||
location /hosted {
|
||||
index index.html;
|
||||
autoindex on;
|
||||
}
|
||||
# Permissions policy. May cause issues with some clients
|
||||
add_header Permissions-Policy "accelerometer=(), ambient-light-sensor=(), battery=(), bluetooth=(), camera=(), clipboard-read=(), display-capture=(), document-domain=(), encrypted-media=(), gamepad=(), geolocation=(), gyroscope=(), hid=(), idle-detection=(), interest-cohort=(), keyboard-map=(), local-fonts=(), magnetometer=(), microphone=(), payment=(), publickey-credentials-get=(), serial=(), sync-xhr=(), usb=(), xr-spatial-tracking=()" always;
|
||||
|
||||
location / {
|
||||
# First attempt to serve request as file, then
|
||||
# as directory, then fall back to displaying a 404.
|
||||
try_files $uri $uri/ =404;
|
||||
}
|
||||
# Content Security Policy
|
||||
# See: https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP
|
||||
# Enforces https content and restricts JS/CSS to origin
|
||||
# External Javascript (such as cast_sender.js for Chromecast) must be whitelisted.
|
||||
add_header Content-Security-Policy "default-src https: data: blob: ; img-src 'self' https://* ; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' https://www.gstatic.com https://www.youtube.com blob:; worker-src 'self' blob:; connect-src 'self'; object-src 'none'; frame-ancestors 'self'; font-src 'self'";
|
||||
|
||||
# deny access to .htaccess files, if Apache's document root
|
||||
# concurs with nginx's one
|
||||
#
|
||||
#location ~ /\.ht {
|
||||
# deny all;
|
||||
#}
|
||||
location /.well-known/acme-challenge/ {
|
||||
root /var/www/certbot;
|
||||
}
|
||||
|
||||
location / {
|
||||
# Proxy main karakeep traffic
|
||||
proxy_pass http://gpodder:3000;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_set_header X-Forwarded-Protocol $scheme;
|
||||
proxy_set_header X-Forwarded-Host $http_host;
|
||||
|
||||
# Disable buffering when the nginx proxy gets very resource heavy upon streaming
|
||||
proxy_buffering off;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user