[video] 新增video线管的内容

This commit is contained in:
zeaslity
2023-12-20 11:34:58 +08:00
parent 57b95e3610
commit 152aa80fe6
10 changed files with 402 additions and 14 deletions

View File

@@ -0,0 +1,75 @@
version: "3"
services:
invidious:
#image: quay.io/invidious/invidious:latest
image: quay.io/invidious/invidious:latest-arm64 # ARM64/AArch64 devices
restart: unless-stopped
ports:
- "127.0.0.1:4000:3000"
environment:
# Please read the following file for a comprehensive list of all available
# configuration options and their associated syntax:
# https://github.com/iv-org/invidious/blob/master/config/config.example.yml
INVIDIOUS_CONFIG: |
db:
dbname: invidious
user: kemal
password: kemal
host: invidious-db
port: 5432
check_tables: true
# external_port:
# domain:
https_only: false
# statistics_enabled: false
hmac_key: "Aigho5thieC0ahng6Ahj"
locale: zh-CN
region: US
captions: ["Chinese (Simplified)", "English", "English (auto-generated)"]
dark_mode: "auto"
quality: hd720
volume: 70
force_resolve: ipv6
use_innertube_for_captions: true
healthcheck:
test: wget -nv --tries=1 --spider http://127.0.0.1:4000/api/v1/comments/jNQXAC9IVRw || exit 1
interval: 30s
timeout: 5s
retries: 2
logging:
options:
max-size: "1G"
max-file: "4"
depends_on:
- invidious-db
invidious-db:
image: docker.io/library/postgres:14
restart: unless-stopped
volumes:
- postgresdata:/var/lib/postgresql/data
- ./config/sql:/config/sql
- ./docker/init-invidious-db.sh:/docker-entrypoint-initdb.d/init-invidious-db.sh
environment:
POSTGRES_DB: invidious
POSTGRES_USER: kemal
POSTGRES_PASSWORD: kemal
healthcheck:
test: ["CMD-SHELL", "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"]
volumes:
postgresdata:
networks:
default:
enable_ipv6: true
ipam:
config:
- subnet: 2001:0DB9::/112
gateway: 2001:0DB9::1
# docker network create --driver bridge --ipv6 --subnet 2001:0DB9::/112 youtube-invidious_invidious_ip6net --attachable
# https://github.com/iv-org/smart-ipv6-rotator.

View File

@@ -0,0 +1,40 @@
server {
server_name video.107421.xyz;
listen 80 ;
return 301 https://video.107421.xyz$request_uri;
}
server {
listen 443 ssl;
server_name video.107421.xyz;
ssl_certificate /etc/nginx/conf.d/ssl_key/video.107421.xyz.cert.pem;
ssl_certificate_key /etc/nginx/conf.d/ssl_key/video.107421.xyz.key.pem;
ssl_session_timeout 1d;
ssl_session_cache shared:MozSSL:10m;
ssl_session_tickets off;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;
location / {
access_log /var/log/nginx/access.log main;
client_max_body_size 5120m;
client_body_buffer_size 5120m;
client_body_timeout 6000s;
proxy_send_timeout 10000s;
proxy_read_timeout 10000s;
proxy_connect_timeout 600s;
proxy_max_temp_file_size 5120m;
proxy_request_buffering on;
proxy_buffering off;
proxy_buffer_size 4k;
proxy_buffers 4 12k;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:4000;
}
}

View File

@@ -0,0 +1,13 @@
#!/bin/bash
export DOMAIN_NAME=video.107421.xyz
export CF_Token="oXJRP5XI8Zhipa_PtYtB_jy6qWL0I9BosrJEYE8p"
export CF_Account_ID="dfaadeb83406ef5ad35da02617af9191"
export CF_Zone_ID="511894a4f1357feb905e974e16241ebb"
acme.sh --issue --dns dns_cf -d ${DOMAIN_NAME} --keylength ec-256
acme.sh --install-cert -d ${DOMAIN_NAME} --ecc \
--key-file /etc/nginx/conf.d/ssl_key/${DOMAIN_NAME}.key.pem \
--fullchain-file /etc/nginx/conf.d/ssl_key/${DOMAIN_NAME}.cert.pem \
--reloadcmd "systemctl restart nginx --force"