mirror of
https://github.com/atareao/self-hosted.git
synced 2024-06-03 06:15:18 +02:00
invidious and nitter
This commit is contained in:
parent
62701a412f
commit
5195a0bd9d
13
invidious/docker-compose.caddy.yml
Normal file
13
invidious/docker-compose.caddy.yml
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
version: "3"
|
||||||
|
|
||||||
|
services:
|
||||||
|
invidious:
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
labels:
|
||||||
|
- caddy="${FQDN}"
|
||||||
|
- caddy.reverse_proxy="{{upstreams 3000}}"
|
||||||
|
|
||||||
|
networks:
|
||||||
|
proxy:
|
||||||
|
external: true
|
21
invidious/docker-compose.traefik.yml
Normal file
21
invidious/docker-compose.traefik.yml
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
version: "3"
|
||||||
|
|
||||||
|
services:
|
||||||
|
invidious:
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
labels:
|
||||||
|
- traefik.enable=true
|
||||||
|
- traefik.http.services.invidious.loadbalancer.server.port=3000
|
||||||
|
- traefik.http.routers.invidious.entrypoints=web
|
||||||
|
- traefik.http.routers.invidious.rule=Host(`${FQDN}`)
|
||||||
|
- traefik.http.middlewares.invidious-https-redirect.redirectscheme.scheme=websecure
|
||||||
|
- traefik.http.routers.invidious.middlewares=invidious-https-redirect
|
||||||
|
- traefik.http.routers.invidious-secure.entrypoints=websecure
|
||||||
|
- traefik.http.routers.invidious-secure.rule=Host(`${FQDN}`)
|
||||||
|
- traefik.http.routers.invidious-secure.tls=true
|
||||||
|
- traefik.http.routers.invidious-secure.tls.certresolver=letsencrypt
|
||||||
|
|
||||||
|
networks:
|
||||||
|
proxy:
|
||||||
|
external: true
|
49
invidious/docker-compose.yml
Normal file
49
invidious/docker-compose.yml
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
version: "3"
|
||||||
|
services:
|
||||||
|
postgres:
|
||||||
|
image: postgres:10
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- invidious
|
||||||
|
volumes:
|
||||||
|
- ./postgresdata:/var/lib/postgresql/data
|
||||||
|
environment:
|
||||||
|
POSTGRES_DB: invidious
|
||||||
|
POSTGRES_USER: kemal
|
||||||
|
POSTGRES_PASSWORD: kemal
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "pg_isready -U $$POSTGRES_USER $$POSTGRES_DB"]
|
||||||
|
invidious:
|
||||||
|
image: sriegler/invidious-auth:latest
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- invidious
|
||||||
|
mem_limit: 1024M
|
||||||
|
cpus: 0.5
|
||||||
|
environment:
|
||||||
|
INVIDIOUS_CONFIG: |
|
||||||
|
channel_threads: 1
|
||||||
|
check_tables: true
|
||||||
|
feed_threads: 1
|
||||||
|
db:
|
||||||
|
dbname: invidious
|
||||||
|
user: kemal
|
||||||
|
password: kemal
|
||||||
|
host: postgres
|
||||||
|
port: 5432
|
||||||
|
full_refresh: false
|
||||||
|
https_only: false
|
||||||
|
popular_enabled: false
|
||||||
|
statistics_enabled: false
|
||||||
|
domain: invidious.example.com
|
||||||
|
external_port: 443
|
||||||
|
registration_enabled: false
|
||||||
|
captcha_enabled: false
|
||||||
|
admins: []
|
||||||
|
disable_proxy: false
|
||||||
|
geo_bypass: false
|
||||||
|
depends_on:
|
||||||
|
- postgres
|
||||||
|
|
||||||
|
networks:
|
||||||
|
invidious:
|
13
nitter/docker-compose.caddy.yml
Normal file
13
nitter/docker-compose.caddy.yml
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
version: "3"
|
||||||
|
|
||||||
|
services:
|
||||||
|
nitter:
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
labels:
|
||||||
|
- caddy="${FQDN}"
|
||||||
|
- caddy.reverse_proxy="{{upstreams 8080}}"
|
||||||
|
|
||||||
|
networks:
|
||||||
|
proxy:
|
||||||
|
external: true
|
21
nitter/docker-compose.traefik.yml
Normal file
21
nitter/docker-compose.traefik.yml
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
version: "3"
|
||||||
|
|
||||||
|
services:
|
||||||
|
nitter:
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
labels:
|
||||||
|
- traefik.enable=true
|
||||||
|
- traefik.http.services.nitter.loadbalancer.server.port=8080
|
||||||
|
- traefik.http.routers.nitter.entrypoints=web
|
||||||
|
- traefik.http.routers.nitter.rule=Host(`${FQDN}`)
|
||||||
|
- traefik.http.middlewares.nitter-https-redirect.redirectscheme.scheme=websecure
|
||||||
|
- traefik.http.routers.nitter.middlewares=nitter-https-redirect
|
||||||
|
- traefik.http.routers.nitter-secure.entrypoints=websecure
|
||||||
|
- traefik.http.routers.nitter-secure.rule=Host(`${FQDN}`)
|
||||||
|
- traefik.http.routers.nitter-secure.tls=true
|
||||||
|
- traefik.http.routers.nitter-secure.tls.certresolver=letsencrypt
|
||||||
|
|
||||||
|
networks:
|
||||||
|
proxy:
|
||||||
|
external: true
|
36
nitter/docker-compose.yml
Normal file
36
nitter/docker-compose.yml
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
version: "3"
|
||||||
|
|
||||||
|
services:
|
||||||
|
|
||||||
|
nitter:
|
||||||
|
image: zedeus/nitter:latest
|
||||||
|
container_name: nitter
|
||||||
|
ports:
|
||||||
|
- "127.0.0.1:8080:8080" # Replace with "8080:8080" if you don't use a reverse proxy
|
||||||
|
volumes:
|
||||||
|
- ./nitter.conf:/src/nitter.conf:ro
|
||||||
|
depends_on:
|
||||||
|
- nitter-redis
|
||||||
|
restart: unless-stopped
|
||||||
|
healthcheck:
|
||||||
|
test: wget -nv --tries=1 --spider http://127.0.0.1:8080/Jack/status/20 || exit 1
|
||||||
|
interval: 30s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 2
|
||||||
|
|
||||||
|
nitter-redis:
|
||||||
|
image: redis:6-alpine
|
||||||
|
container_name: nitter-redis
|
||||||
|
command: redis-server --save 60 1 --loglevel warning
|
||||||
|
volumes:
|
||||||
|
- nitter-redis:/data
|
||||||
|
restart: unless-stopped
|
||||||
|
healthcheck:
|
||||||
|
test: redis-cli ping
|
||||||
|
interval: 30s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 2
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
nitter-redis:
|
||||||
|
|
45
nitter/nitter.example.conf
Normal file
45
nitter/nitter.example.conf
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
[Server]
|
||||||
|
address = "0.0.0.0"
|
||||||
|
port = 8080
|
||||||
|
https = false # disable to enable cookies when not using https
|
||||||
|
httpMaxConnections = 100
|
||||||
|
staticDir = "./public"
|
||||||
|
title = "nitter"
|
||||||
|
hostname = "nitter.net"
|
||||||
|
|
||||||
|
[Cache]
|
||||||
|
listMinutes = 240 # how long to cache list info (not the tweets, so keep it high)
|
||||||
|
rssMinutes = 10 # how long to cache rss queries
|
||||||
|
redisHost = "localhost" # Change to "nitter-redis" if using docker-compose
|
||||||
|
redisPort = 6379
|
||||||
|
redisPassword = ""
|
||||||
|
redisConnections = 20 # connection pool size
|
||||||
|
redisMaxConnections = 30
|
||||||
|
# max, new connections are opened when none are available, but if the pool size
|
||||||
|
# goes above this, they're closed when released. don't worry about this unless
|
||||||
|
# you receive tons of requests per second
|
||||||
|
|
||||||
|
[Config]
|
||||||
|
hmacKey = "secretkey" # random key for cryptographic signing of video urls
|
||||||
|
base64Media = false # use base64 encoding for proxied media urls
|
||||||
|
enableRSS = true # set this to false to disable RSS feeds
|
||||||
|
enableDebug = false # enable request logs and debug endpoints
|
||||||
|
proxy = "" # http/https url, SOCKS proxies are not supported
|
||||||
|
proxyAuth = ""
|
||||||
|
tokenCount = 10
|
||||||
|
# minimum amount of usable tokens. tokens are used to authorize API requests,
|
||||||
|
# but they expire after ~1 hour, and have a limit of 187 requests.
|
||||||
|
# the limit gets reset every 15 minutes, and the pool is filled up so there's
|
||||||
|
# always at least $tokenCount usable tokens. again, only increase this if
|
||||||
|
# you receive major bursts all the time
|
||||||
|
|
||||||
|
# Change default preferences here, see src/prefs_impl.nim for a complete list
|
||||||
|
[Preferences]
|
||||||
|
theme = "Nitter"
|
||||||
|
replaceTwitter = "nitter.net"
|
||||||
|
replaceYouTube = "piped.kavin.rocks"
|
||||||
|
replaceReddit = "teddit.net"
|
||||||
|
replaceInstagram = ""
|
||||||
|
proxyVideos = true
|
||||||
|
hlsPlayback = false
|
||||||
|
infiniteScroll = false
|
Loading…
Reference in New Issue
Block a user