push
This commit is contained in:
30
flake.lock
generated
30
flake.lock
generated
@@ -74,11 +74,11 @@
|
|||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": "nixpkgs"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770626770,
|
"lastModified": 1770758715,
|
||||||
"narHash": "sha256-uthunhCGLWxxB6tzAajS+MP3dz3TXMK8MyLpzUMlDp0=",
|
"narHash": "sha256-FlRSDJ8OlCiWX+tIAZJkQnkBAAwbO125aUdAC6VJlOk=",
|
||||||
"owner": "9001",
|
"owner": "9001",
|
||||||
"repo": "copyparty",
|
"repo": "copyparty",
|
||||||
"rev": "e8609b87af6785603a7971585d34bb06279ef33c",
|
"rev": "d44ea245307c06eb060b6e6f5c2cba91a759c940",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -268,11 +268,11 @@
|
|||||||
"nixpkgs": "nixpkgs_2"
|
"nixpkgs": "nixpkgs_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770642890,
|
"lastModified": 1770654520,
|
||||||
"narHash": "sha256-XWWHZEy5ZYMOx5hVuz+oeKtKDfv7syl7dwKCBx0LqzA=",
|
"narHash": "sha256-mg5WZMIPGsFu9MxSrUcuJUPMbfMsF77el5yb/7rc10k=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "13a1beb7c9962e0d2ba35a4d5c87546509b89b7d",
|
"rev": "6c4fdbe1ad198fac36c320fd45c5957324a80b8e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -311,11 +311,11 @@
|
|||||||
"treefmt-nix": "treefmt-nix"
|
"treefmt-nix": "treefmt-nix"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770329357,
|
"lastModified": 1770673830,
|
||||||
"narHash": "sha256-Z5bDEg5TwVF+v7LHS6PaKO6+2eekNGc4Y6kvKHSOt6c=",
|
"narHash": "sha256-m/4WPh6komkPfizenqHmEVZBzn/CpL+WAD4B7axDjqs=",
|
||||||
"owner": "LovingMelody",
|
"owner": "LovingMelody",
|
||||||
"repo": "nix-citizen",
|
"repo": "nix-citizen",
|
||||||
"rev": "f5f929f6b1d8c292e450f217e98e5c0a4fd5557a",
|
"rev": "8a7401f3ff547d4ee1a54e893a5e52d4c18cc9ff",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -330,11 +330,11 @@
|
|||||||
"nixpkgs": "nixpkgs_5"
|
"nixpkgs": "nixpkgs_5"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770631245,
|
"lastModified": 1770691919,
|
||||||
"narHash": "sha256-SGPUP0Pe199/Dh3jaEOuFG6K6C0kLGkneKIitmkqTkM=",
|
"narHash": "sha256-e3G2ebDGaMfNCeRRSFQivSC+iWktI7a37AEzZ9I+JZA=",
|
||||||
"owner": "fufexan",
|
"owner": "fufexan",
|
||||||
"repo": "nix-gaming",
|
"repo": "nix-gaming",
|
||||||
"rev": "9a2002d01130ba91987a32654a2680fb5cbb0262",
|
"rev": "6cc488d4779f9dd15dd4831e97b15d2432ae761b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -465,11 +465,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
"nixpkgs_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770197578,
|
"lastModified": 1770562336,
|
||||||
"narHash": "sha256-AYqlWrX09+HvGs8zM6ebZ1pwUqjkfpnv8mewYwAo+iM=",
|
"narHash": "sha256-ub1gpAONMFsT/GU2hV6ZWJjur8rJ6kKxdm9IlCT0j84=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "00c21e4c93d963c50d4c0c89bfa84ed6e0694df2",
|
"rev": "d6c71932130818840fc8fe9509cf50be8c64634f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ in
|
|||||||
"files.bug.tools" = "http://127.0.0.1:3210";
|
"files.bug.tools" = "http://127.0.0.1:3210";
|
||||||
"tube.bug.tools" = "http://127.0.0.1:3030";
|
"tube.bug.tools" = "http://127.0.0.1:3030";
|
||||||
"monitor.bug.tools" = "http://127.0.0.1:61208";
|
"monitor.bug.tools" = "http://127.0.0.1:61208";
|
||||||
|
"reddit.bug.tools" = "http://127.0.0.1:8975";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,902 +0,0 @@
|
|||||||
#########################################
|
|
||||||
#
|
|
||||||
# Database configuration
|
|
||||||
#
|
|
||||||
#########################################
|
|
||||||
|
|
||||||
##
|
|
||||||
## Database configuration with separate parameters.
|
|
||||||
## This setting is MANDATORY, unless 'database_url' is used.
|
|
||||||
##
|
|
||||||
db:
|
|
||||||
user: kemal
|
|
||||||
password: kemal
|
|
||||||
host: localhost
|
|
||||||
port: 5432
|
|
||||||
dbname: invidious
|
|
||||||
|
|
||||||
##
|
|
||||||
## Database configuration using a single URI. This is an
|
|
||||||
## alternative to the 'db' parameter above. If both forms
|
|
||||||
## are used, then only database_url is used.
|
|
||||||
## This setting is MANDATORY, unless 'db' is used.
|
|
||||||
##
|
|
||||||
## Note: The 'database_url' setting allows the use of UNIX
|
|
||||||
## sockets. To do so, remove the IP address (or FQDN) and port
|
|
||||||
## and append the 'host' parameter. E.g:
|
|
||||||
## postgres://kemal:kemal@/invidious?host=/var/run/postgresql
|
|
||||||
##
|
|
||||||
## Accepted values: a postgres:// URI
|
|
||||||
## Default: postgres://kemal:kemal@localhost:5432/invidious
|
|
||||||
##
|
|
||||||
#database_url: postgres://kemal:kemal@localhost:5432/invidious
|
|
||||||
|
|
||||||
##
|
|
||||||
## Enable automatic table integrity check. This will create
|
|
||||||
## the required tables and columns if anything is missing.
|
|
||||||
##
|
|
||||||
## Accepted values: true, false
|
|
||||||
## Default: false
|
|
||||||
##
|
|
||||||
#check_tables: false
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#########################################
|
|
||||||
#
|
|
||||||
# Server config
|
|
||||||
#
|
|
||||||
#########################################
|
|
||||||
|
|
||||||
# -----------------------------
|
|
||||||
# Network (inbound)
|
|
||||||
# -----------------------------
|
|
||||||
|
|
||||||
##
|
|
||||||
## Port to listen on for incoming connections.
|
|
||||||
##
|
|
||||||
## Note: Ports lower than 1024 requires either root privileges
|
|
||||||
## (not recommended) or the "CAP_NET_BIND_SERVICE" capability
|
|
||||||
## (See https://stackoverflow.com/a/414258 and `man capabilities`)
|
|
||||||
##
|
|
||||||
## Accepted values: 1-65535
|
|
||||||
## Default: 3000
|
|
||||||
##
|
|
||||||
port: 3000
|
|
||||||
|
|
||||||
##
|
|
||||||
## When the invidious instance is behind a proxy, and the proxy
|
|
||||||
## listens on a different port than the instance does, this lets
|
|
||||||
## invidious know about it. This is used to craft absolute URLs
|
|
||||||
## to the instance (e.g in the API).
|
|
||||||
##
|
|
||||||
## Note: This setting is MANDATORY if invidious is behind a
|
|
||||||
## reverse proxy.
|
|
||||||
##
|
|
||||||
## Accepted values: 1-65535
|
|
||||||
## Default: <none>
|
|
||||||
##
|
|
||||||
#external_port:
|
|
||||||
|
|
||||||
##
|
|
||||||
## Interface address to listen on for incoming connections.
|
|
||||||
##
|
|
||||||
## Accepted values: a valid IPv4 or IPv6 address.
|
|
||||||
## default: 0.0.0.0 (listen on all interfaces)
|
|
||||||
##
|
|
||||||
host_binding: 0.0.0.0
|
|
||||||
|
|
||||||
##
|
|
||||||
## Domain name under which this instance is hosted. This is
|
|
||||||
## used to craft absolute URLs to the instance (e.g in the API).
|
|
||||||
## The domain MUST be defined if your instance is accessed from
|
|
||||||
## a domain name (like 'example.com').
|
|
||||||
##
|
|
||||||
## Accepted values: a fully qualified domain name (FQDN)
|
|
||||||
## Default: <none>
|
|
||||||
##
|
|
||||||
domain:
|
|
||||||
|
|
||||||
##
|
|
||||||
## Tell Invidious that it is behind a proxy that provides only
|
|
||||||
## HTTPS, so all links must use the https:// scheme. This
|
|
||||||
## setting MUST be set to true if invidious is behind a
|
|
||||||
## reverse proxy serving HTTPs.
|
|
||||||
##
|
|
||||||
## Accepted values: true, false
|
|
||||||
## Default: false
|
|
||||||
##
|
|
||||||
https_only: true
|
|
||||||
|
|
||||||
##
|
|
||||||
## Enable/Disable 'Strict-Transport-Security'. Make sure that
|
|
||||||
## the domain specified under 'domain' is served securely.
|
|
||||||
##
|
|
||||||
## Accepted values: true, false
|
|
||||||
## Default: true
|
|
||||||
##
|
|
||||||
hsts: true
|
|
||||||
|
|
||||||
|
|
||||||
# -----------------------------
|
|
||||||
# Network (outbound)
|
|
||||||
# -----------------------------
|
|
||||||
|
|
||||||
##
|
|
||||||
## Disable proxying server-wide. Can be disable as a whole, or
|
|
||||||
## only for a single function.
|
|
||||||
##
|
|
||||||
## Accepted values: true, false, dash, livestreams, downloads, local
|
|
||||||
## Default: false
|
|
||||||
##
|
|
||||||
#disable_proxy: false
|
|
||||||
|
|
||||||
##
|
|
||||||
## Size of the HTTP pool used to connect to youtube. Each
|
|
||||||
## domain ('youtube.com', 'ytimg.com', ...) has its own pool.
|
|
||||||
##
|
|
||||||
## Accepted values: a positive integer
|
|
||||||
## Default: 100
|
|
||||||
##
|
|
||||||
#pool_size: 100
|
|
||||||
|
|
||||||
|
|
||||||
##
|
|
||||||
## Additional cookies to be sent when requesting the youtube API.
|
|
||||||
##
|
|
||||||
## Accepted values: a string in the format "name1=value1; name2=value2..."
|
|
||||||
## Default: <none>
|
|
||||||
##
|
|
||||||
#cookies:
|
|
||||||
|
|
||||||
##
|
|
||||||
## Force connection to youtube over a specific IP family.
|
|
||||||
##
|
|
||||||
## Note: This may sometimes resolve issues involving rate-limiting.
|
|
||||||
## See https://github.com/ytdl-org/youtube-dl/issues/21729.
|
|
||||||
##
|
|
||||||
## Accepted values: ipv4, ipv6
|
|
||||||
## Default: <none>
|
|
||||||
##
|
|
||||||
#force_resolve:
|
|
||||||
|
|
||||||
|
|
||||||
##
|
|
||||||
## Use Innertube's transcripts API instead of timedtext for closed captions
|
|
||||||
##
|
|
||||||
## Useful for larger instances as InnerTube is **not ratelimited**. See https://github.com/iv-org/invidious/issues/2567
|
|
||||||
##
|
|
||||||
## Subtitle experience may differ slightly on Invidious.
|
|
||||||
##
|
|
||||||
## Accepted values: true, false
|
|
||||||
## Default: false
|
|
||||||
##
|
|
||||||
# use_innertube_for_captions: false
|
|
||||||
|
|
||||||
|
|
||||||
# -----------------------------
|
|
||||||
# Logging
|
|
||||||
# -----------------------------
|
|
||||||
|
|
||||||
##
|
|
||||||
## Path to log file. Can be absolute or relative to the invidious
|
|
||||||
## binary. This is overridden if "-o OUTPUT" or "--output=OUTPUT"
|
|
||||||
## are passed on the command line.
|
|
||||||
##
|
|
||||||
## Accepted values: a filesystem path or 'STDOUT'
|
|
||||||
## Default: STDOUT
|
|
||||||
##
|
|
||||||
#output: STDOUT
|
|
||||||
|
|
||||||
##
|
|
||||||
## Logging Verbosity. This is overridden if "-l LEVEL" or
|
|
||||||
## "--log-level=LEVEL" are passed on the command line.
|
|
||||||
##
|
|
||||||
## Accepted values: All, Trace, Debug, Info, Warn, Error, Fatal, Off
|
|
||||||
## Default: Info
|
|
||||||
##
|
|
||||||
#log_level: Info
|
|
||||||
|
|
||||||
|
|
||||||
# -----------------------------
|
|
||||||
# Features
|
|
||||||
# -----------------------------
|
|
||||||
|
|
||||||
##
|
|
||||||
## Enable/Disable the "Popular" tab on the main page.
|
|
||||||
##
|
|
||||||
## Accepted values: true, false
|
|
||||||
## Default: true
|
|
||||||
##
|
|
||||||
popular_enabled: true
|
|
||||||
|
|
||||||
##
|
|
||||||
## Enable/Disable statstics (available at /api/v1/stats).
|
|
||||||
## The following data is available:
|
|
||||||
## - Software name ("invidious") and version+branch (same data as
|
|
||||||
## displayed in the footer, e.g: "2021.05.13-75e5b49" / "master")
|
|
||||||
## - The value of the 'registration_enabled' config (true/false)
|
|
||||||
## - Number of currently registered users
|
|
||||||
## - Number of registered users who connected in the last month
|
|
||||||
## - Number of registered users who connected in the last 6 months
|
|
||||||
## - Timestamp of the last server restart
|
|
||||||
## - Timestamp of the last "Channel Refresh" job execution
|
|
||||||
##
|
|
||||||
## Warning: This setting MUST be set to true if you plan to run
|
|
||||||
## a public instance. It is used by api.invidious.io to refresh
|
|
||||||
## your instance's status.
|
|
||||||
##
|
|
||||||
## Accepted values: true, false
|
|
||||||
## Default: false
|
|
||||||
##
|
|
||||||
statistics_enabled: true
|
|
||||||
|
|
||||||
|
|
||||||
# -----------------------------
|
|
||||||
# Users and accounts
|
|
||||||
# -----------------------------
|
|
||||||
|
|
||||||
##
|
|
||||||
## Allow/Forbid Invidious (local) account creation. Invidious
|
|
||||||
## accounts allow users to subscribe to channels and to create
|
|
||||||
## playlists without a Google account.
|
|
||||||
##
|
|
||||||
## Accepted values: true, false
|
|
||||||
## Default: true
|
|
||||||
##
|
|
||||||
registration_enabled: true
|
|
||||||
|
|
||||||
##
|
|
||||||
## Allow/Forbid users to log-in.
|
|
||||||
##
|
|
||||||
## Accepted values: true, false
|
|
||||||
## Default: true
|
|
||||||
##
|
|
||||||
login_enabled: true
|
|
||||||
|
|
||||||
##
|
|
||||||
## Enable/Disable the captcha challenge on the login page.
|
|
||||||
##
|
|
||||||
## Note: this is a basic captcha challenge that doesn't
|
|
||||||
## depend on any third parties.
|
|
||||||
##
|
|
||||||
## Accepted values: true, false
|
|
||||||
## Default: true
|
|
||||||
##
|
|
||||||
captcha_enabled: false
|
|
||||||
|
|
||||||
##
|
|
||||||
## List of usernames that will be granted administrator rights.
|
|
||||||
## A user with administrator rights will be able to change the
|
|
||||||
## server configuration options listed below in /preferences,
|
|
||||||
## in addition to the usual user preferences.
|
|
||||||
##
|
|
||||||
## Server-wide settings:
|
|
||||||
## - popular_enabled
|
|
||||||
## - captcha_enabled
|
|
||||||
## - login_enabled
|
|
||||||
## - registration_enabled
|
|
||||||
## - statistics_enabled
|
|
||||||
## Default user preferences:
|
|
||||||
## - default_home
|
|
||||||
## - feed_menu
|
|
||||||
##
|
|
||||||
## Accepted values: an array of strings
|
|
||||||
## Default: [""]
|
|
||||||
##
|
|
||||||
#admins: [""]
|
|
||||||
|
|
||||||
##
|
|
||||||
## Enable/Disable the user notifications for all users
|
|
||||||
##
|
|
||||||
## Note: On large instances, it is recommended to set this option to 'false'
|
|
||||||
## in order to reduce the amount of data written to the database, and hence
|
|
||||||
## improve the overall performance of the instance.
|
|
||||||
##
|
|
||||||
## Accepted values: true, false
|
|
||||||
## Default: true
|
|
||||||
##
|
|
||||||
enable_user_notifications: true
|
|
||||||
|
|
||||||
# -----------------------------
|
|
||||||
# Background jobs
|
|
||||||
# -----------------------------
|
|
||||||
|
|
||||||
##
|
|
||||||
## Number of threads to use when crawling channel videos (during
|
|
||||||
## subscriptions update).
|
|
||||||
##
|
|
||||||
## Notes: This setting is overridden if either "-c THREADS" or
|
|
||||||
## "--channel-threads=THREADS" is passed on the command line.
|
|
||||||
##
|
|
||||||
## Accepted values: a positive integer
|
|
||||||
## Default: 1
|
|
||||||
##
|
|
||||||
channel_threads: 1
|
|
||||||
|
|
||||||
##
|
|
||||||
## Time interval between two executions of the job that crawls
|
|
||||||
## channel videos (subscriptions update).
|
|
||||||
##
|
|
||||||
## Accepted values: a valid time interval (like 1h30m or 90m)
|
|
||||||
## Default: 30m
|
|
||||||
##
|
|
||||||
#channel_refresh_interval: 30m
|
|
||||||
|
|
||||||
##
|
|
||||||
## Forcefully dump and re-download the entire list of uploaded
|
|
||||||
## videos when crawling channel (during subscriptions update).
|
|
||||||
##
|
|
||||||
## Accepted values: true, false
|
|
||||||
## Default: false
|
|
||||||
##
|
|
||||||
full_refresh: false
|
|
||||||
|
|
||||||
##
|
|
||||||
## Number of threads to use when updating RSS feeds.
|
|
||||||
##
|
|
||||||
## Notes: This setting is overridden if either "-f THREADS" or
|
|
||||||
## "--feed-threads=THREADS" is passed on the command line.
|
|
||||||
##
|
|
||||||
## Accepted values: a positive integer
|
|
||||||
## Default: 1
|
|
||||||
##
|
|
||||||
feed_threads: 1
|
|
||||||
|
|
||||||
##
|
|
||||||
## Enable/Disable the polling job that keeps the decryption
|
|
||||||
## function (for "secured" videos) up to date.
|
|
||||||
##
|
|
||||||
## Note: This part of the code generate a small amount of data every minute.
|
|
||||||
## This may not be desired if you have bandwidth limits set by your ISP.
|
|
||||||
##
|
|
||||||
## Note 2: This part of the code is currently broken, so changing
|
|
||||||
## this setting has no impact.
|
|
||||||
##
|
|
||||||
## Accepted values: true, false
|
|
||||||
## Default: false
|
|
||||||
##
|
|
||||||
#decrypt_polling: false
|
|
||||||
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
|
|
||||||
## Options for the database cleaning job
|
|
||||||
clear_expired_items:
|
|
||||||
|
|
||||||
## Enable/Disable job
|
|
||||||
##
|
|
||||||
## Accepted values: true, false
|
|
||||||
## Default: true
|
|
||||||
##
|
|
||||||
enable: true
|
|
||||||
|
|
||||||
## Options for the channels updater job
|
|
||||||
refresh_channels:
|
|
||||||
|
|
||||||
## Enable/Disable job
|
|
||||||
##
|
|
||||||
## Accepted values: true, false
|
|
||||||
## Default: true
|
|
||||||
##
|
|
||||||
enable: true
|
|
||||||
|
|
||||||
## Options for the RSS feeds updater job
|
|
||||||
refresh_feeds:
|
|
||||||
|
|
||||||
## Enable/Disable job
|
|
||||||
##
|
|
||||||
## Accepted values: true, false
|
|
||||||
## Default: true
|
|
||||||
##
|
|
||||||
enable: true
|
|
||||||
|
|
||||||
|
|
||||||
# -----------------------------
|
|
||||||
# Miscellaneous
|
|
||||||
# -----------------------------
|
|
||||||
|
|
||||||
##
|
|
||||||
## custom banner displayed at the top of every page. This can
|
|
||||||
## used for instance announcements, e.g.
|
|
||||||
##
|
|
||||||
## Accepted values: any string. HTML is accepted.
|
|
||||||
## Default: <none>
|
|
||||||
##
|
|
||||||
#banner:
|
|
||||||
|
|
||||||
##
|
|
||||||
## Subscribe to channels using PubSubHub (Google PubSubHubbub service).
|
|
||||||
## PubSubHub allows Invidious to be instantly notified when a new video
|
|
||||||
## is published on any subscribed channels. When PubSubHub is not used,
|
|
||||||
## Invidious will check for new videos every minute.
|
|
||||||
##
|
|
||||||
## Note: This setting is recommended for public instances.
|
|
||||||
##
|
|
||||||
## Note 2:
|
|
||||||
## - Requires a public instance (it uses /feed/webhook/v1)
|
|
||||||
## - Requires 'domain' and 'hmac_key' to be set.
|
|
||||||
## - Setting this parameter to any number greater than zero will
|
|
||||||
## enable channel subscriptions via PubSubHub, but will limit the
|
|
||||||
## amount of concurrent subscriptions.
|
|
||||||
##
|
|
||||||
## Accepted values: true, false, a positive integer
|
|
||||||
## Default: false
|
|
||||||
##
|
|
||||||
#use_pubsub_feeds: false
|
|
||||||
|
|
||||||
##
|
|
||||||
## HMAC signing key used for CSRF tokens, cookies and pubsub
|
|
||||||
## subscriptions verification.
|
|
||||||
##
|
|
||||||
## Note: This parameter is mandatory and should be a random string.
|
|
||||||
## Such random string can be generated on linux with the following
|
|
||||||
## command: `pwgen 20 1`
|
|
||||||
##
|
|
||||||
## Accepted values: a string
|
|
||||||
## Default: <none>
|
|
||||||
##
|
|
||||||
hmac_key: "CHANGEME"
|
|
||||||
|
|
||||||
##
|
|
||||||
## List of video IDs where the "download" widget must be
|
|
||||||
## disabled, in order to comply with DMCA requests.
|
|
||||||
##
|
|
||||||
## Accepted values: an array of string
|
|
||||||
## Default: <none>
|
|
||||||
##
|
|
||||||
#dmca_content:
|
|
||||||
|
|
||||||
##
|
|
||||||
## Cache video annotations in the database.
|
|
||||||
##
|
|
||||||
## Warning: empty annotations or annotations that only contain
|
|
||||||
## cards won't be cached.
|
|
||||||
##
|
|
||||||
## Accepted values: true, false
|
|
||||||
## Default: false
|
|
||||||
##
|
|
||||||
cache_annotations: false
|
|
||||||
|
|
||||||
##
|
|
||||||
## Source code URL. If your instance is running a modified source
|
|
||||||
## code, you MUST publish it somewhere and set this option.
|
|
||||||
##
|
|
||||||
## Accepted values: a string
|
|
||||||
## Default: <none>
|
|
||||||
##
|
|
||||||
#modified_source_code_url: ""
|
|
||||||
|
|
||||||
##
|
|
||||||
## Maximum custom playlist length limit.
|
|
||||||
##
|
|
||||||
## Accepted values: Integer
|
|
||||||
## Default: 500
|
|
||||||
##
|
|
||||||
playlist_length_limit: 500
|
|
||||||
|
|
||||||
#########################################
|
|
||||||
#
|
|
||||||
# Default user preferences
|
|
||||||
#
|
|
||||||
#########################################
|
|
||||||
|
|
||||||
##
|
|
||||||
## NOTE: All the settings below define the default user
|
|
||||||
## preferences. They will apply to ALL users connecting
|
|
||||||
## without a preferences cookie (so either on the first
|
|
||||||
## connection to the instance or after clearing the
|
|
||||||
## browser's cookies).
|
|
||||||
##
|
|
||||||
|
|
||||||
default_user_preferences:
|
|
||||||
|
|
||||||
# -----------------------------
|
|
||||||
# Internationalization
|
|
||||||
# -----------------------------
|
|
||||||
|
|
||||||
##
|
|
||||||
## Default user interface language (locale).
|
|
||||||
##
|
|
||||||
## Note: When hosting a public instance, overriding the
|
|
||||||
## default (english) is not recommended, as it may
|
|
||||||
## people using other languages.
|
|
||||||
##
|
|
||||||
## Accepted values:
|
|
||||||
## ar (Arabic)
|
|
||||||
## da (Danish)
|
|
||||||
## de (German)
|
|
||||||
## en-US (english, US)
|
|
||||||
## el (Greek)
|
|
||||||
## eo (Esperanto)
|
|
||||||
## es (Spanish)
|
|
||||||
## fa (Persian)
|
|
||||||
## fi (Finnish)
|
|
||||||
## fr (French)
|
|
||||||
## he (Hebrew)
|
|
||||||
## hr (Hungarian)
|
|
||||||
## id (Indonesian)
|
|
||||||
## is (Icelandic)
|
|
||||||
## it (Italian)
|
|
||||||
## ja (Japanese)
|
|
||||||
## nb-NO (Norwegian, Bokmål)
|
|
||||||
## nl (Dutch)
|
|
||||||
## pl (Polish)
|
|
||||||
## pt-BR (Portuguese, Brazil)
|
|
||||||
## pt-PT (Portuguese, Portugal)
|
|
||||||
## ro (Romanian)
|
|
||||||
## ru (Russian)
|
|
||||||
## sv (Swedish)
|
|
||||||
## tr (Turkish)
|
|
||||||
## uk (Ukrainian)
|
|
||||||
## zh-CN (Chinese, China) (a.k.a "Simplified Chinese")
|
|
||||||
## zh-TW (Chinese, Taiwan) (a.k.a "Traditional Chinese")
|
|
||||||
##
|
|
||||||
## Default: en-US
|
|
||||||
##
|
|
||||||
locale: en-US
|
|
||||||
|
|
||||||
##
|
|
||||||
## Default geographical location for content.
|
|
||||||
##
|
|
||||||
## Accepted values:
|
|
||||||
## AE, AR, AT, AU, AZ, BA, BD, BE, BG, BH, BO, BR, BY, CA, CH, CL, CO, CR,
|
|
||||||
## CY, CZ, DE, DK, DO, DZ, EC, EE, EG, ES, FI, FR, GB, GE, GH, GR, GT, HK,
|
|
||||||
## HN, HR, HU, ID, IE, IL, IN, IQ, IS, IT, JM, JO, JP, KE, KR, KW, KZ, LB,
|
|
||||||
## LI, LK, LT, LU, LV, LY, MA, ME, MK, MT, MX, MY, NG, NI, NL, NO, NP, NZ,
|
|
||||||
## OM, PA, PE, PG, PH, PK, PL, PR, PT, PY, QA, RO, RS, RU, SA, SE, SG, SI,
|
|
||||||
## SK, SN, SV, TH, TN, TR, TW, TZ, UA, UG, US, UY, VE, VN, YE, ZA, ZW
|
|
||||||
##
|
|
||||||
## Default: US
|
|
||||||
##
|
|
||||||
region: DE
|
|
||||||
|
|
||||||
##
|
|
||||||
## Top 3 preferred languages for video captions.
|
|
||||||
##
|
|
||||||
## Note: overriding the default (no preferred
|
|
||||||
## caption language) is not recommended, in order
|
|
||||||
## to not penalize people using other languages.
|
|
||||||
##
|
|
||||||
## Accepted values: a three-entries array.
|
|
||||||
## Each entry can be one of:
|
|
||||||
## "English", "English (auto-generated)",
|
|
||||||
## "Afrikaans", "Albanian", "Amharic", "Arabic",
|
|
||||||
## "Armenian", "Azerbaijani", "Bangla", "Basque",
|
|
||||||
## "Belarusian", "Bosnian", "Bulgarian", "Burmese",
|
|
||||||
## "Catalan", "Cebuano", "Chinese (Simplified)",
|
|
||||||
## "Chinese (Traditional)", "Corsican", "Croatian",
|
|
||||||
## "Czech", "Danish", "Dutch", "Esperanto", "Estonian",
|
|
||||||
## "Filipino", "Finnish", "French", "Galician", "Georgian",
|
|
||||||
## "German", "Greek", "Gujarati", "Haitian Creole", "Hausa",
|
|
||||||
## "Hawaiian", "Hebrew", "Hindi", "Hmong", "Hungarian",
|
|
||||||
## "Icelandic", "Igbo", "Indonesian", "Irish", "Italian",
|
|
||||||
## "Japanese", "Javanese", "Kannada", "Kazakh", "Khmer",
|
|
||||||
## "Korean", "Kurdish", "Kyrgyz", "Lao", "Latin", "Latvian",
|
|
||||||
## "Lithuanian", "Luxembourgish", "Macedonian",
|
|
||||||
## "Malagasy", "Malay", "Malayalam", "Maltese", "Maori",
|
|
||||||
## "Marathi", "Mongolian", "Nepali", "Norwegian Bokmål",
|
|
||||||
## "Nyanja", "Pashto", "Persian", "Polish", "Portuguese",
|
|
||||||
## "Punjabi", "Romanian", "Russian", "Samoan",
|
|
||||||
## "Scottish Gaelic", "Serbian", "Shona", "Sindhi",
|
|
||||||
## "Sinhala", "Slovak", "Slovenian", "Somali",
|
|
||||||
## "Southern Sotho", "Spanish", "Spanish (Latin America)",
|
|
||||||
## "Sundanese", "Swahili", "Swedish", "Tajik", "Tamil",
|
|
||||||
## "Telugu", "Thai", "Turkish", "Ukrainian", "Urdu",
|
|
||||||
## "Uzbek", "Vietnamese", "Welsh", "Western Frisian",
|
|
||||||
## "Xhosa", "Yiddish", "Yoruba", "Zulu"
|
|
||||||
##
|
|
||||||
## Default: ["", "", ""]
|
|
||||||
##
|
|
||||||
captions: ["English", "English (auto-generated)","German"]
|
|
||||||
|
|
||||||
|
|
||||||
# -----------------------------
|
|
||||||
# Interface
|
|
||||||
# -----------------------------
|
|
||||||
|
|
||||||
##
|
|
||||||
## Enable/Disable dark mode.
|
|
||||||
##
|
|
||||||
## Accepted values: "dark", "light", "auto"
|
|
||||||
## Default: "auto"
|
|
||||||
##
|
|
||||||
dark_mode: "dark"
|
|
||||||
|
|
||||||
##
|
|
||||||
## Enable/Disable thin mode (no video thumbnails).
|
|
||||||
##
|
|
||||||
## Accepted values: true, false
|
|
||||||
## Default: false
|
|
||||||
##
|
|
||||||
thin_mode: false
|
|
||||||
|
|
||||||
##
|
|
||||||
## List of feeds available on the home page.
|
|
||||||
##
|
|
||||||
## Note: "Subscriptions" and "Playlists" are only visible
|
|
||||||
## when the user is logged in.
|
|
||||||
##
|
|
||||||
## Accepted values: A list of strings
|
|
||||||
## Each entry can be one of: "Popular", "Trending",
|
|
||||||
## "Subscriptions", "Playlists"
|
|
||||||
##
|
|
||||||
## Default: ["Popular", "Trending", "Subscriptions", "Playlists"] (show all feeds)
|
|
||||||
##
|
|
||||||
feed_menu: ["Popular", "Trending", "Subscriptions", "Playlists"]
|
|
||||||
|
|
||||||
##
|
|
||||||
## Default feed to display on the home page.
|
|
||||||
##
|
|
||||||
## Note: setting this option to "Popular" has no
|
|
||||||
## effect when 'popular_enabled' is set to false.
|
|
||||||
##
|
|
||||||
## Accepted values: Popular, Trending, Subscriptions, Playlists, <none>
|
|
||||||
## Default: Popular
|
|
||||||
##
|
|
||||||
default_home: Popular
|
|
||||||
|
|
||||||
##
|
|
||||||
## Default number of results to display per page.
|
|
||||||
##
|
|
||||||
## Note: this affects invidious-generated pages only, such
|
|
||||||
## as watch history and subscription feeds. Playlists, search
|
|
||||||
## results and channel videos depend on the data returned by
|
|
||||||
## the Youtube API.
|
|
||||||
##
|
|
||||||
## Accepted values: any positive integer
|
|
||||||
## Default: 40
|
|
||||||
##
|
|
||||||
max_results: 64
|
|
||||||
|
|
||||||
##
|
|
||||||
## Show/hide annotations.
|
|
||||||
##
|
|
||||||
## Accepted values: true, false
|
|
||||||
## Default: false
|
|
||||||
##
|
|
||||||
annotations: false
|
|
||||||
|
|
||||||
##
|
|
||||||
## Show/hide annotation.
|
|
||||||
##
|
|
||||||
## Accepted values: true, false
|
|
||||||
## Default: false
|
|
||||||
##
|
|
||||||
annotations_subscribed: false
|
|
||||||
|
|
||||||
##
|
|
||||||
## Type of comments to display below video.
|
|
||||||
##
|
|
||||||
## Accepted values: a two-entries array.
|
|
||||||
## Each entry can be one of: "youtube", "reddit", ""
|
|
||||||
##
|
|
||||||
## Default: ["youtube", ""]
|
|
||||||
##
|
|
||||||
comments: ["youtube", "reddit"]
|
|
||||||
|
|
||||||
##
|
|
||||||
## Default player style.
|
|
||||||
##
|
|
||||||
## Accepted values: invidious, youtube
|
|
||||||
## Default: invidious
|
|
||||||
##
|
|
||||||
player_style: invidious
|
|
||||||
|
|
||||||
##
|
|
||||||
## Show/Hide the "related videos" sidebar when
|
|
||||||
## watching a video.
|
|
||||||
##
|
|
||||||
## Accepted values: true, false
|
|
||||||
## Default: true
|
|
||||||
##
|
|
||||||
related_videos: true
|
|
||||||
|
|
||||||
|
|
||||||
# -----------------------------
|
|
||||||
# Video player behavior
|
|
||||||
# -----------------------------
|
|
||||||
|
|
||||||
##
|
|
||||||
## Automatically play videos on page load.
|
|
||||||
##
|
|
||||||
## Accepted values: true, false
|
|
||||||
## Default: false
|
|
||||||
##
|
|
||||||
autoplay: false
|
|
||||||
|
|
||||||
##
|
|
||||||
## Automatically load the "next" video (either next in
|
|
||||||
## playlist or proposed) when the current video ends.
|
|
||||||
##
|
|
||||||
## Accepted values: true, false
|
|
||||||
## Default: false
|
|
||||||
##
|
|
||||||
continue: false
|
|
||||||
|
|
||||||
##
|
|
||||||
## Autoplay next video by default.
|
|
||||||
##
|
|
||||||
## Note: Only effective if 'continue' is set to true.
|
|
||||||
##
|
|
||||||
## Accepted values: true, false
|
|
||||||
## Default: true
|
|
||||||
##
|
|
||||||
continue_autoplay: true
|
|
||||||
|
|
||||||
##
|
|
||||||
## Play videos in Audio-only mode by default.
|
|
||||||
##
|
|
||||||
## Accepted values: true, false
|
|
||||||
## Default: false
|
|
||||||
##
|
|
||||||
listen: false
|
|
||||||
|
|
||||||
##
|
|
||||||
## Loop videos automatically.
|
|
||||||
##
|
|
||||||
## Accepted values: true, false
|
|
||||||
## Default: false
|
|
||||||
##
|
|
||||||
video_loop: false
|
|
||||||
|
|
||||||
|
|
||||||
# -----------------------------
|
|
||||||
# Video playback settings
|
|
||||||
# -----------------------------
|
|
||||||
|
|
||||||
##
|
|
||||||
## Default video quality.
|
|
||||||
##
|
|
||||||
## Accepted values: dash, hd720, medium, small
|
|
||||||
## Default: hd720
|
|
||||||
##
|
|
||||||
quality: dash
|
|
||||||
|
|
||||||
##
|
|
||||||
## Default dash video quality.
|
|
||||||
##
|
|
||||||
## Note: this setting only takes effet if the
|
|
||||||
## 'quality' parameter is set to "dash".
|
|
||||||
##
|
|
||||||
## Accepted values:
|
|
||||||
## auto, best, 4320p, 2160p, 1440p, 1080p,
|
|
||||||
## 720p, 480p, 360p, 240p, 144p, worst
|
|
||||||
## Default: auto
|
|
||||||
##
|
|
||||||
quality_dash: best
|
|
||||||
|
|
||||||
##
|
|
||||||
## Default video playback speed.
|
|
||||||
##
|
|
||||||
## Accepted values: 0.25, 0.5, 0.75, 1.0, 1.25, 1.5, 1.75, 2.0
|
|
||||||
## Default: 1.0
|
|
||||||
##
|
|
||||||
speed: 1.25
|
|
||||||
|
|
||||||
##
|
|
||||||
## Default volume.
|
|
||||||
##
|
|
||||||
## Accepted values: 0-100
|
|
||||||
## Default: 100
|
|
||||||
##
|
|
||||||
volume: 100
|
|
||||||
|
|
||||||
##
|
|
||||||
## Allow 360° videos to be played.
|
|
||||||
##
|
|
||||||
## Note: This feature requires a WebGL-enabled browser.
|
|
||||||
##
|
|
||||||
## Accepted values: true, false
|
|
||||||
## Default: true
|
|
||||||
##
|
|
||||||
vr_mode: true
|
|
||||||
|
|
||||||
##
|
|
||||||
## Save the playback position
|
|
||||||
## Allow to continue watching at the previous position when
|
|
||||||
## watching the same video.
|
|
||||||
##
|
|
||||||
## Accepted values: true, false
|
|
||||||
## Default: false
|
|
||||||
##
|
|
||||||
save_player_pos: true
|
|
||||||
|
|
||||||
# -----------------------------
|
|
||||||
# Subscription feed
|
|
||||||
# -----------------------------
|
|
||||||
|
|
||||||
##
|
|
||||||
## In the "Subscription" feed, only show the latest video
|
|
||||||
## of each channel the user is subscribed to.
|
|
||||||
##
|
|
||||||
## Note: when combined with 'unseen_only', the latest unseen
|
|
||||||
## video of each channel will be displayed instead of the
|
|
||||||
## latest by date.
|
|
||||||
##
|
|
||||||
## Accepted values: true, false
|
|
||||||
## Default: false
|
|
||||||
##
|
|
||||||
latest_only: false
|
|
||||||
|
|
||||||
##
|
|
||||||
## Enable/Disable user subscriptions desktop notifications.
|
|
||||||
##
|
|
||||||
## Accepted values: true, false
|
|
||||||
## Default: false
|
|
||||||
##
|
|
||||||
notifications_only: false
|
|
||||||
|
|
||||||
##
|
|
||||||
## In the "Subscription" feed, Only show the videos that the
|
|
||||||
## user haven't watched yet (i.e which are not in their watch
|
|
||||||
## history).
|
|
||||||
##
|
|
||||||
## Accepted values: true, false
|
|
||||||
## Default: false
|
|
||||||
##
|
|
||||||
unseen_only: false
|
|
||||||
|
|
||||||
##
|
|
||||||
## Default sorting parameter for subscription feeds.
|
|
||||||
##
|
|
||||||
## Accepted values:
|
|
||||||
## 'alphabetically'
|
|
||||||
## 'alphabetically - reverse'
|
|
||||||
## 'channel name'
|
|
||||||
## 'channel name - reverse'
|
|
||||||
## 'published'
|
|
||||||
## 'published - reverse'
|
|
||||||
##
|
|
||||||
## Default: published
|
|
||||||
##
|
|
||||||
sort: published
|
|
||||||
|
|
||||||
|
|
||||||
# -----------------------------
|
|
||||||
# Miscellaneous
|
|
||||||
# -----------------------------
|
|
||||||
|
|
||||||
##
|
|
||||||
## Proxy videos through instance by default.
|
|
||||||
##
|
|
||||||
## Warning: As most users won't change this setting in their
|
|
||||||
## preferences, defaulting to true will significantly
|
|
||||||
## increase the instance's network usage, so make sure that
|
|
||||||
## your server's connection can handle it.
|
|
||||||
##
|
|
||||||
## Accepted values: true, false
|
|
||||||
## Default: false
|
|
||||||
##
|
|
||||||
local: false
|
|
||||||
|
|
||||||
##
|
|
||||||
## Show the connected user's nick at the top right.
|
|
||||||
##
|
|
||||||
## Accepted values: true, false
|
|
||||||
## Default: true
|
|
||||||
##
|
|
||||||
show_nick: true
|
|
||||||
|
|
||||||
##
|
|
||||||
## Automatically redirect to a random instance when the user uses
|
|
||||||
## any "switch invidious instance" link (For videos, it's the plane
|
|
||||||
## icon, next to "watch on youtube" and "listen"). When set to false,
|
|
||||||
## the user is sent to https://redirect.invidious.io instead, where
|
|
||||||
## they can manually select an instance.
|
|
||||||
##
|
|
||||||
## Accepted values: true, false
|
|
||||||
## Default: false
|
|
||||||
##
|
|
||||||
automatic_instance_redirect: false
|
|
||||||
|
|
||||||
##
|
|
||||||
## Show the entire video description by default (when set to 'false',
|
|
||||||
## only the first few lines of the description are shown and a
|
|
||||||
## "show more" button allows to expand it).
|
|
||||||
##
|
|
||||||
## Accepted values: true, false
|
|
||||||
## Default: false
|
|
||||||
##
|
|
||||||
extend_desc: true
|
|
||||||
|
|
||||||
@@ -1,72 +0,0 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
services.invidious = {
|
|
||||||
enable = true;
|
|
||||||
# sig helper is deprecated -> waiting for nixos pkg update to Invidious companion (see: https://docs.invidious.io/installation/#hardware-requirements)
|
|
||||||
sig-helper = {
|
|
||||||
enable = true;
|
|
||||||
listenAddress = "127.0.0.1:2999";
|
|
||||||
};
|
|
||||||
port = 3030;
|
|
||||||
domain = "tube.bug.tools";
|
|
||||||
settings = {
|
|
||||||
signature_server = "127.0.0.1:2999";
|
|
||||||
https_only = true;
|
|
||||||
hsts = true;
|
|
||||||
external_port = 443;
|
|
||||||
popular_enabled = true;
|
|
||||||
statistics_enabled = true;
|
|
||||||
registration_enabled = false;
|
|
||||||
login_enabled = true;
|
|
||||||
captcha_enabled = false;
|
|
||||||
enable_user_notifications = false;
|
|
||||||
channel_threads = 2;
|
|
||||||
full_refresh = false;
|
|
||||||
cache_annotations = true;
|
|
||||||
playlist_length_limit = 500;
|
|
||||||
default_user_preferences = {
|
|
||||||
locale = "en-US";
|
|
||||||
region = "DE";
|
|
||||||
captions = [
|
|
||||||
"German"
|
|
||||||
"English"
|
|
||||||
"English (auto-generated)"
|
|
||||||
];
|
|
||||||
dark_mode = "dark";
|
|
||||||
thin_mode = false;
|
|
||||||
feed_menu = [
|
|
||||||
"Popular"
|
|
||||||
"Trending"
|
|
||||||
"Subscriptions"
|
|
||||||
"Playlists"
|
|
||||||
];
|
|
||||||
default_home = "Popular";
|
|
||||||
max_results = 60;
|
|
||||||
annotations = false;
|
|
||||||
annotations_subscribed = false;
|
|
||||||
comments = [
|
|
||||||
"youtube"
|
|
||||||
"reddit"
|
|
||||||
];
|
|
||||||
player_style = "invidious";
|
|
||||||
related_videos = true;
|
|
||||||
autoplay = false;
|
|
||||||
continue = false;
|
|
||||||
continue_autoplay = true;
|
|
||||||
listen = false;
|
|
||||||
video_loop = false;
|
|
||||||
quality = "dash";
|
|
||||||
quality_dash = "best";
|
|
||||||
speed = 1.5;
|
|
||||||
volume = 100;
|
|
||||||
vr_mode = true;
|
|
||||||
save_player_pos = true;
|
|
||||||
latest_only = false;
|
|
||||||
notifications_only = false;
|
|
||||||
unseen_only = false;
|
|
||||||
sort = "published";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,66 +0,0 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
options.nixos = {
|
|
||||||
server.fediverse.libreddit = {
|
|
||||||
enable = lib.mkOption {
|
|
||||||
type = lib.types.bool;
|
|
||||||
default = false;
|
|
||||||
example = true;
|
|
||||||
description = "Enable Libreddit.";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf config.nixos.server.fediverse.libreddit.enable {
|
|
||||||
services.redlib = {
|
|
||||||
enable = true;
|
|
||||||
address = "127.0.0.1";
|
|
||||||
port = 8975;
|
|
||||||
openFirewall = false;
|
|
||||||
|
|
||||||
settings = {
|
|
||||||
SFW_ONLY = "off"; # ["on", "off"]
|
|
||||||
ROBOTS_DISABLE_INDEXING = "on"; # ["on", "off"]
|
|
||||||
ENABLE_RSS = "on"; # ["on", "off"]
|
|
||||||
THEME = "system"; # ["system", "light", "dark", "black", "dracula", "nord", "laserwave", "violet", "gold", "rosebox", "gruvboxdark", "gruvboxlight", "tokyoNight", "icebergDark", "doomone", "libredditBlack", "libredditDark", "libredditLight"]
|
|
||||||
FRONT_PAGE = "default"; # ["default", "popular", "all"]
|
|
||||||
LAYOUT = "card"; # ["card", "clean", "compact"]
|
|
||||||
WIDE = "on"; # ["on", "off"]
|
|
||||||
POST_SORT = "hot"; # ["hot", "new", "top", "rising", "controversial"]
|
|
||||||
COMMENT_SORT = "confidence"; # ["confidence", "top", "new", "controversial", "old"]
|
|
||||||
BLUR_SPOILER = "off"; # ["on", "off"]
|
|
||||||
SHOW_NSFW = "on"; # ["on", "off"]
|
|
||||||
BLUR_NSFW = "off"; # ["on", "off"]
|
|
||||||
USE_HLS = "on"; # ["on", "off"]
|
|
||||||
HIDE_HLS_NOTIFICATION = "off"; # ["on", "off"]
|
|
||||||
AUTOPLAY_VIDEOS = "off"; # ["on", "off"]
|
|
||||||
HIDE_AWARDS = "off"; # ["on", "off"]
|
|
||||||
DISABLE_VISIT_REDDIT_CONFIRMATION = "off"; # ["on", "off"]
|
|
||||||
HIDE_SCORE = "off"; # ["on", "off"]
|
|
||||||
HIDE_SIDEBAR_AND_SUMMARY = "off"; # ["on", "off"]
|
|
||||||
FIXED_NAVBAR = "on"; # ["on", "off"]
|
|
||||||
REMOVE_DEFAULT_FEEDS = "off"; # ["on", "off"]
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
services.nginx = {
|
|
||||||
virtualHosts = {
|
|
||||||
"libreddit.${config.nixos.server.network.nginx.domain}" = {
|
|
||||||
forceSSL = true;
|
|
||||||
enableACME = true;
|
|
||||||
acmeRoot = null;
|
|
||||||
kTLS = true;
|
|
||||||
http2 = false;
|
|
||||||
locations."/" = {
|
|
||||||
proxyPass = "http://localhost:8975";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
services.ddclient.domains = [
|
|
||||||
"libreddit.${config.nixos.server.network.nginx.domain}"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
SEARX_SECRET_KEY=random-string
|
|
||||||
SEARXNG_SECRET=random-string
|
|
||||||
@@ -1,28 +1,56 @@
|
|||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
{ config, pkgs, ... }:
|
let
|
||||||
|
companionPort = 8282;
|
||||||
|
companionPath = "/companion";
|
||||||
|
companionKey = "kKg3RKeZjE7frmuw";
|
||||||
|
in
|
||||||
{
|
{
|
||||||
services.invidious = {
|
virtualisation.podman.enable = true;
|
||||||
enable = true;
|
virtualisation.oci-containers.backend = lib.mkDefault "podman";
|
||||||
|
|
||||||
domain = "tube.bug.tools";
|
virtualisation.oci-containers.containers.invidious-companion = {
|
||||||
|
image = "quay.io/invidious/invidious-companion:latest";
|
||||||
|
extraOptions = [ "--network=host" "--pull=always" ];
|
||||||
|
|
||||||
port = 3030;
|
environment = {
|
||||||
|
SERVER_SECRET_KEY = companionKey;
|
||||||
|
HOST = "127.0.0.1";
|
||||||
|
PORT = toString companionPort;
|
||||||
|
SERVER_BASE_URL = "http://127.0.0.1:${toString companionPort}";
|
||||||
|
|
||||||
database.createLocally = true;
|
# HTTP_PROXY = "http://proxy.example:3128";
|
||||||
|
# HTTPS_PROXY = "http://proxy.example:3128";
|
||||||
settings = {
|
# NO_PROXY = "127.0.0.1,localhost";
|
||||||
https_only = true;
|
|
||||||
external_port = 443;
|
|
||||||
|
|
||||||
registration_enabled = false;
|
|
||||||
login_enabled = true;
|
|
||||||
|
|
||||||
popular_enabled = true;
|
|
||||||
|
|
||||||
default_user_preferences = {
|
|
||||||
local = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
services.invidious = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.invidious;
|
||||||
|
|
||||||
|
address = "127.0.0.1";
|
||||||
|
port = 3030;
|
||||||
|
|
||||||
|
nginx.enable = false;
|
||||||
|
sig-helper.enable = false;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
domain = "tube.bug.tools";
|
||||||
|
https_only = true;
|
||||||
|
external_port = 3030;
|
||||||
|
|
||||||
|
invidious_companion = [
|
||||||
|
{ private_url = "http://127.0.0.1:${toString companionPort}${companionPath}"; }
|
||||||
|
];
|
||||||
|
|
||||||
|
invidious_companion_key = companionKey;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.services.invidious = let dep = "podman-invidious-companion.service"; in {
|
||||||
|
wants = [ dep ];
|
||||||
|
after = [ dep ];
|
||||||
|
requires = [ dep ];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
@@ -3,32 +3,33 @@
|
|||||||
{
|
{
|
||||||
services.redlib = {
|
services.redlib = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
address = "127.0.0.1";
|
address = "127.0.0.1";
|
||||||
port = 8975;
|
port = 8975;
|
||||||
openFirewall = false;
|
openFirewall = false;
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
SFW_ONLY = "off"; # ["on", "off"]
|
SFW_ONLY = "off"; # ["on", "off"]
|
||||||
ROBOTS_DISABLE_INDEXING = "on"; # ["on", "off"]
|
ROBOTS_DISABLE_INDEXING = "on"; # ["on", "off"]
|
||||||
ENABLE_RSS = "on"; # ["on", "off"]
|
ENABLE_RSS = "on"; # ["on", "off"]
|
||||||
THEME = "system"; # ["system", "light", "dark", "black", "dracula", "nord", "laserwave", "violet", "gold", "rosebox", "gruvboxdark", "gruvboxlight", "tokyoNight", "icebergDark", "doomone", "libredditBlack", "libredditDark", "libredditLight"]
|
THEME = "system"; # ["system", "light", "dark", "black", "dracula", "nord", "laserwave", "violet", "gold", "rosebox", "gruvboxdark", "gruvboxlight", "tokyoNight", "icebergDark", "doomone", "libredditBlack", "libredditDark", "libredditLight"]
|
||||||
FRONT_PAGE = "default"; # ["default", "popular", "all"]
|
FRONT_PAGE = "default"; # ["default", "popular", "all"]
|
||||||
LAYOUT = "card"; # ["card", "clean", "compact"]
|
LAYOUT = "card"; # ["card", "clean", "compact"]
|
||||||
WIDE = "on"; # ["on", "off"]
|
WIDE = "on"; # ["on", "off"]
|
||||||
POST_SORT = "hot"; # ["hot", "new", "top", "rising", "controversial"]
|
POST_SORT = "hot"; # ["hot", "new", "top", "rising", "controversial"]
|
||||||
COMMENT_SORT = "confidence"; # ["confidence", "top", "new", "controversial", "old"]
|
COMMENT_SORT = "confidence"; # ["confidence", "top", "new", "controversial", "old"]
|
||||||
BLUR_SPOILER = "off"; # ["on", "off"]
|
BLUR_SPOILER = "off"; # ["on", "off"]
|
||||||
SHOW_NSFW = "on"; # ["on", "off"]
|
SHOW_NSFW = "on"; # ["on", "off"]
|
||||||
BLUR_NSFW = "off"; # ["on", "off"]
|
BLUR_NSFW = "off"; # ["on", "off"]
|
||||||
USE_HLS = "on"; # ["on", "off"]
|
USE_HLS = "on"; # ["on", "off"]
|
||||||
HIDE_HLS_NOTIFICATION = "off"; # ["on", "off"]
|
HIDE_HLS_NOTIFICATION = "off"; # ["on", "off"]
|
||||||
AUTOPLAY_VIDEOS = "off"; # ["on", "off"]
|
AUTOPLAY_VIDEOS = "off"; # ["on", "off"]
|
||||||
HIDE_AWARDS = "off"; # ["on", "off"]
|
HIDE_AWARDS = "off"; # ["on", "off"]
|
||||||
DISABLE_VISIT_REDDIT_CONFIRMATION = "off"; # ["on", "off"]
|
DISABLE_VISIT_REDDIT_CONFIRMATION = "off"; # ["on", "off"]
|
||||||
HIDE_SCORE = "off"; # ["on", "off"]
|
HIDE_SCORE = "off"; # ["on", "off"]
|
||||||
HIDE_SIDEBAR_AND_SUMMARY = "off"; # ["on", "off"]
|
HIDE_SIDEBAR_AND_SUMMARY = "off"; # ["on", "off"]
|
||||||
FIXED_NAVBAR = "on"; # ["on", "off"]
|
FIXED_NAVBAR = "on"; # ["on", "off"]
|
||||||
REMOVE_DEFAULT_FEEDS = "off"; # ["on", "off"]
|
REMOVE_DEFAULT_FEEDS = "off"; # ["on", "off"]
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
redisCreateLocally = false;
|
redisCreateLocally = false;
|
||||||
configureUwsgi = false;
|
configureUwsgi = false;
|
||||||
settingsFile = config/searxng.yml;
|
settingsFile = ./searxng.yml;
|
||||||
environmentFile = "/home/bug/.searxng.env";
|
environmentFile = "/home/bug/.searxng.env";
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
|
|||||||
Reference in New Issue
Block a user