|
|
|
@ -32,7 +32,7 @@ rates_limit:
|
|
|
|
|
trust_proxy:
|
|
|
|
|
- 'loopback'
|
|
|
|
|
|
|
|
|
|
# Your database name will be database.name OR "peertube"+database.suffix
|
|
|
|
|
# Your database name will be database.name OR 'peertube'+database.suffix
|
|
|
|
|
database:
|
|
|
|
|
hostname: 'localhost'
|
|
|
|
|
port: 5432
|
|
|
|
@ -73,9 +73,17 @@ email:
|
|
|
|
|
subject:
|
|
|
|
|
prefix: "[PeerTube]"
|
|
|
|
|
|
|
|
|
|
# PeerTube client/interface configuration
|
|
|
|
|
client:
|
|
|
|
|
videos:
|
|
|
|
|
miniature:
|
|
|
|
|
# By default PeerTube client displays author username
|
|
|
|
|
prefer_author_display_name: false
|
|
|
|
|
|
|
|
|
|
# From the project root directory
|
|
|
|
|
storage:
|
|
|
|
|
tmp: '__DATADIR__/tmp/' # Use to download data (imports etc), store uploaded files before processing...
|
|
|
|
|
bin: '__DATADIR__/bin/'
|
|
|
|
|
avatars: '__DATADIR__/avatars/'
|
|
|
|
|
videos: '__DATADIR__/videos/'
|
|
|
|
|
streaming_playlists: '__DATADIR__/streaming-playlists/'
|
|
|
|
@ -87,19 +95,58 @@ storage:
|
|
|
|
|
captions: '__DATADIR__/captions/'
|
|
|
|
|
cache: '__DATADIR__/cache/'
|
|
|
|
|
plugins: '__DATADIR__/plugins/'
|
|
|
|
|
# Overridable client files : logo.svg, favicon.png and icons/*.png (PWA) in client/dist/assets/images
|
|
|
|
|
# Overridable client files in client/dist/assets/images:
|
|
|
|
|
# - logo.svg
|
|
|
|
|
# - favicon.png
|
|
|
|
|
# - default-playlist.jpg
|
|
|
|
|
# - default-avatar-account.png
|
|
|
|
|
# - default-avatar-video-channel.png
|
|
|
|
|
# - and icons/*.png (PWA)
|
|
|
|
|
# Could contain for example assets/images/favicon.png
|
|
|
|
|
# If the file exists, peertube will serve it
|
|
|
|
|
# If not, peertube will fallback to the default fil
|
|
|
|
|
# If not, peertube will fallback to the default file
|
|
|
|
|
client_overrides: '__DATADIR__/client-overrides/'
|
|
|
|
|
|
|
|
|
|
object_storage:
|
|
|
|
|
enabled: false
|
|
|
|
|
|
|
|
|
|
# Without protocol, will default to HTTPS
|
|
|
|
|
endpoint: '' # 's3.amazonaws.com' or 's3.fr-par.scw.cloud' for example
|
|
|
|
|
|
|
|
|
|
region: 'us-east-1'
|
|
|
|
|
|
|
|
|
|
credentials:
|
|
|
|
|
# You can also use AWS_ACCESS_KEY_ID env variable
|
|
|
|
|
access_key_id: ''
|
|
|
|
|
# You can also use AWS_SECRET_ACCESS_KEY env variable
|
|
|
|
|
secret_access_key: ''
|
|
|
|
|
|
|
|
|
|
# Maximum amount to upload in one request to object storage
|
|
|
|
|
max_upload_part: 2GB
|
|
|
|
|
|
|
|
|
|
streaming_playlists:
|
|
|
|
|
bucket_name: 'streaming-playlists'
|
|
|
|
|
|
|
|
|
|
# Allows setting all buckets to the same value but with a different prefix
|
|
|
|
|
prefix: '' # Example: 'streaming-playlists:'
|
|
|
|
|
|
|
|
|
|
# Base url for object URL generation, scheme and host will be replaced by this URL
|
|
|
|
|
# Useful when you want to use a CDN/external proxy
|
|
|
|
|
base_url: '' # Example: 'https://mirror.example.com'
|
|
|
|
|
|
|
|
|
|
# Same settings but for webtorrent videos
|
|
|
|
|
videos:
|
|
|
|
|
bucket_name: 'videos'
|
|
|
|
|
prefix: ''
|
|
|
|
|
base_url: ''
|
|
|
|
|
|
|
|
|
|
log:
|
|
|
|
|
level: 'info' # debug/info/warning/error
|
|
|
|
|
level: 'info' # 'debug' | 'info' | 'warn' | 'error'
|
|
|
|
|
rotation:
|
|
|
|
|
enabled : true # Enabled by default, if disabled make sure that 'storage.logs' is pointing to a folder handled by logrotate
|
|
|
|
|
maxFileSize: 12MB
|
|
|
|
|
maxFiles: 20
|
|
|
|
|
anonymizeIP: false
|
|
|
|
|
max_file_size: 12MB
|
|
|
|
|
max_files: 20
|
|
|
|
|
anonymize_ip: false
|
|
|
|
|
log_ping_requests: true
|
|
|
|
|
prettify_sql: false
|
|
|
|
|
|
|
|
|
@ -151,11 +198,16 @@ csp:
|
|
|
|
|
report_only: true # CSP directives are still being tested, so disable the report only mode at your own risk!
|
|
|
|
|
report_uri:
|
|
|
|
|
|
|
|
|
|
security:
|
|
|
|
|
# Set the X-Frame-Options header to help to mitigate clickjacking attacks
|
|
|
|
|
frameguard:
|
|
|
|
|
enabled: true
|
|
|
|
|
|
|
|
|
|
tracker:
|
|
|
|
|
# If you disable the tracker, you disable the P2P aspect of PeerTube
|
|
|
|
|
enabled: true
|
|
|
|
|
# Only handle requests on your videos.
|
|
|
|
|
# If you set this to false it means you have a public tracker.
|
|
|
|
|
# Only handle requests on your videos
|
|
|
|
|
# If you set this to false it means you have a public tracker
|
|
|
|
|
# Then, it is possible that clients overload your instance with external torrents
|
|
|
|
|
private: true
|
|
|
|
|
# Reject peers that do a lot of announces (could improve privacy of TCP/UDP peers)
|
|
|
|
@ -178,6 +230,11 @@ views:
|
|
|
|
|
remote:
|
|
|
|
|
max_age: '30 days'
|
|
|
|
|
|
|
|
|
|
# PeerTube buffers local video views before updating and federating the video
|
|
|
|
|
local_buffer_update_interval: '30 minutes'
|
|
|
|
|
|
|
|
|
|
ip_view_expiration: '1 hour'
|
|
|
|
|
|
|
|
|
|
plugins:
|
|
|
|
|
# The website PeerTube will ask for available PeerTube plugins and themes
|
|
|
|
|
# This is an unmoderated plugin index, so only install plugins/themes you trust
|
|
|
|
@ -192,20 +249,30 @@ federation:
|
|
|
|
|
|
|
|
|
|
# Add a weekly job that cleans up remote AP interactions on local videos (shares, rates and comments)
|
|
|
|
|
# It removes objects that do not exist anymore, and potentially fix their URLs
|
|
|
|
|
# This setting is opt-in because due to an old bug in PeerTube, remote rates sent by instance before PeerTube 3.0 will be deleted
|
|
|
|
|
# We still suggest you to enable this setting even if your users will loose most of their video's likes/dislikes
|
|
|
|
|
cleanup_remote_interactions: false
|
|
|
|
|
cleanup_remote_interactions: true
|
|
|
|
|
|
|
|
|
|
peertube:
|
|
|
|
|
check_latest_version:
|
|
|
|
|
# Check and notify admins of new PeerTube versions
|
|
|
|
|
enabled: false
|
|
|
|
|
# You can use a custom URL if your want, that respect the format behind https://joinpeertube.org/api/v1/versions.json
|
|
|
|
|
url: 'https://joinpeertube.org/api/v1/versions.json'
|
|
|
|
|
|
|
|
|
|
webadmin:
|
|
|
|
|
configuration:
|
|
|
|
|
edition:
|
|
|
|
|
# Set this to false if you don't want to allow config edition in the web interface by instance admins
|
|
|
|
|
allowed: true
|
|
|
|
|
|
|
|
|
|
###############################################################################
|
|
|
|
|
#
|
|
|
|
|
# From this point, all the following keys can be overridden by the web interface
|
|
|
|
|
# (local-production.json file). If you need to change some values, prefer to
|
|
|
|
|
# use the web interface because the configuration will be automatically
|
|
|
|
|
# reloaded without any need to restart PeerTube.
|
|
|
|
|
# reloaded without any need to restart PeerTube
|
|
|
|
|
#
|
|
|
|
|
# /!\ If you already have a local-production.json file, the modification of the
|
|
|
|
|
# following keys will have no effect /!\.
|
|
|
|
|
# following keys will have no effect /!\
|
|
|
|
|
#
|
|
|
|
|
###############################################################################
|
|
|
|
|
|
|
|
|
@ -228,6 +295,7 @@ contact_form:
|
|
|
|
|
signup:
|
|
|
|
|
enabled: false
|
|
|
|
|
limit: 10 # When the limit is reached, registrations are disabled. -1 == unlimited
|
|
|
|
|
minimum_age: 16
|
|
|
|
|
requires_email_verification: false
|
|
|
|
|
filters:
|
|
|
|
|
cidr: # You can specify CIDR ranges to whitelist (empty = no filtering) or blacklist
|
|
|
|
@ -235,13 +303,17 @@ signup:
|
|
|
|
|
blacklist: []
|
|
|
|
|
|
|
|
|
|
user:
|
|
|
|
|
# Default value of maximum video BYTES the user can upload (does not take into account transcoded files).
|
|
|
|
|
# Default value of maximum video bytes the user can upload (does not take into account transcoded files)
|
|
|
|
|
# Byte format is supported ("1GB" etc)
|
|
|
|
|
# -1 == unlimited
|
|
|
|
|
video_quota: -1
|
|
|
|
|
video_quota_daily: -1
|
|
|
|
|
|
|
|
|
|
# If enabled, the video will be transcoded to mp4 (x264) with "faststart" flag
|
|
|
|
|
# In addition, if some resolutions are enabled the mp4 video file will be transcoded to these new resolutions.
|
|
|
|
|
video_channels:
|
|
|
|
|
max_per_user: 20 # Allows each user to create up to 20 video channels.
|
|
|
|
|
|
|
|
|
|
# If enabled, the video will be transcoded to mp4 (x264) with `faststart` flag
|
|
|
|
|
# In addition, if some resolutions are enabled the mp4 video file will be transcoded to these new resolutions
|
|
|
|
|
# Please, do not disable transcoding since many uploaded videos will not work
|
|
|
|
|
transcoding:
|
|
|
|
|
enabled: true
|
|
|
|
@ -312,6 +384,14 @@ live:
|
|
|
|
|
rtmp:
|
|
|
|
|
port: 1935
|
|
|
|
|
|
|
|
|
|
rtmps:
|
|
|
|
|
enabled: false
|
|
|
|
|
port: 1936
|
|
|
|
|
# Absolute path
|
|
|
|
|
key_file: ''
|
|
|
|
|
# Absolute path
|
|
|
|
|
cert_file: ''
|
|
|
|
|
|
|
|
|
|
# Allow to transcode the live streaming in multiple live resolutions
|
|
|
|
|
transcoding:
|
|
|
|
|
enabled: true
|
|
|
|
@ -340,13 +420,21 @@ import:
|
|
|
|
|
http: # Classic HTTP or all sites supported by youtube-dl https://rg3.github.io/youtube-dl/supportedsites.html
|
|
|
|
|
enabled: false
|
|
|
|
|
|
|
|
|
|
youtube_dl_release:
|
|
|
|
|
# Direct download URL to youtube-dl binary
|
|
|
|
|
# Github releases API is also supported
|
|
|
|
|
# Examples:
|
|
|
|
|
# * https://api.github.com/repos/ytdl-org/youtube-dl/releases
|
|
|
|
|
# * https://api.github.com/repos/yt-dlp/yt-dlp/releases
|
|
|
|
|
url: 'https://api.github.com/repos/yt-dlp/yt-dlp/releases'
|
|
|
|
|
|
|
|
|
|
# youtube-dl binary name
|
|
|
|
|
# yt-dlp is also supported
|
|
|
|
|
name: 'yt-dlp'
|
|
|
|
|
|
|
|
|
|
# IPv6 is very strongly rate-limited on most sites supported by youtube-dl
|
|
|
|
|
force_ipv4: false
|
|
|
|
|
|
|
|
|
|
# You can use an HTTP/HTTPS/SOCKS proxy with youtube-dl
|
|
|
|
|
proxy:
|
|
|
|
|
enabled: false
|
|
|
|
|
url: ""
|
|
|
|
|
torrent: # Magnet URI or torrent file (use classic TCP/UDP/WebSeed to download the file)
|
|
|
|
|
enabled: false
|
|
|
|
|
|
|
|
|
@ -380,7 +468,7 @@ instance:
|
|
|
|
|
business_model: '' # Supports Markdown
|
|
|
|
|
|
|
|
|
|
# If you want to explain on what type of hardware your PeerTube instance runs
|
|
|
|
|
# Example: "2 vCore, 2GB RAM..."
|
|
|
|
|
# Example: '2 vCore, 2GB RAM...'
|
|
|
|
|
hardware_information: '' # Supports Markdown
|
|
|
|
|
|
|
|
|
|
# What are the main languages of your instance? To interact with your users for example
|
|
|
|
@ -420,20 +508,20 @@ instance:
|
|
|
|
|
# Enabling it will allow other administrators to know that you are mainly federating sensitive content
|
|
|
|
|
# Moreover, the NSFW checkbox on video upload will be automatically checked by default
|
|
|
|
|
is_nsfw: false
|
|
|
|
|
# By default, "do_not_list" or "blur" or "display" NSFW videos
|
|
|
|
|
# By default, `do_not_list` or `blur` or `display` NSFW videos
|
|
|
|
|
# Could be overridden per user with a setting
|
|
|
|
|
default_nsfw_policy: 'do_not_list'
|
|
|
|
|
|
|
|
|
|
customizations:
|
|
|
|
|
javascript: '' # Directly your JavaScript code (without <script> tags). Will be eval at runtime
|
|
|
|
|
css: '' # Directly your CSS code (without <style> tags). Will be injected at runtime
|
|
|
|
|
# Robot.txt rules. To disallow robots to crawl your instance and disallow indexation of your site, add '/' to "Disallow:'
|
|
|
|
|
# Robot.txt rules. To disallow robots to crawl your instance and disallow indexation of your site, add `/` to `Disallow:`
|
|
|
|
|
robots: |
|
|
|
|
|
User-agent: *
|
|
|
|
|
Disallow:
|
|
|
|
|
# Security.txt rules. To discourage researchers from testing your instance and disable security.txt integration, set this to an empty string.
|
|
|
|
|
# Security.txt rules. To discourage researchers from testing your instance and disable security.txt integration, set this to an empty string
|
|
|
|
|
securitytxt:
|
|
|
|
|
"# If you would like to report a security issue\n# you may report it to:\nContact: https://github.com/Chocobozzz/PeerTube/blob/develop/SECURITY.md\nContact: mailto:"
|
|
|
|
|
'# If you would like to report a security issue\n# you may report it to:\nContact: https://github.com/Chocobozzz/PeerTube/blob/develop/SECURITY.md\nContact: mailto:'
|
|
|
|
|
|
|
|
|
|
services:
|
|
|
|
|
# Cards configuration to format video in Twitter
|
|
|
|
@ -441,7 +529,7 @@ services:
|
|
|
|
|
username: '@yunohost' # Indicates the Twitter account for the website or platform on which the content was published
|
|
|
|
|
# If true, a video player will be embedded in the Twitter feed on PeerTube video share
|
|
|
|
|
# If false, we use an image link card that will redirect on your PeerTube instance
|
|
|
|
|
# Change it to "true", and then test on https://cards-dev.twitter.com/validator to see if you are whitelisted
|
|
|
|
|
# Change it to `true`, and then test on https://cards-dev.twitter.com/validator to see if you are whitelisted
|
|
|
|
|
whitelisted: false
|
|
|
|
|
|
|
|
|
|
followers:
|
|
|
|
|