Init commit

This commit is contained in:
ShreejitPanchal
2026-05-19 19:56:02 +08:00
commit 6601501eff
4047 changed files with 2185372 additions and 0 deletions

1249
config/default.yaml Normal file

File diff suppressed because it is too large Load Diff

29
config/dev-1.yaml Normal file
View File

@@ -0,0 +1,29 @@
# Use another database and directories than dev.yaml
# Useful if you work on 2 big features that update DB schema
# To use this config: NODE_APP_INSTANCE=1 npm run dev
database:
suffix: '_dev1'
redis:
db: 1
storage:
tmp: 'dev1/tmp/'
tmp_persistent: 'dev1/tmp-persistent/'
bin: 'dev1/bin/'
avatars: 'dev1/avatars/'
web_videos: 'dev1/web-videos/'
streaming_playlists: 'dev1/streaming-playlists/'
original_video_files: 'dev1/original-video-files/'
redundancy: 'dev1/redundancy/'
logs: 'dev1/logs/'
previews: 'dev1/previews/'
thumbnails: 'dev1/thumbnails/'
storyboards: 'dev1/storyboards/'
torrents: 'dev1/torrents/'
captions: 'dev1/captions/'
cache: 'dev1/cache/'
plugins: 'dev1/plugins/'
well_known: 'dev1/well-known/'
client_overrides: 'dev1/client-overrides/'

153
config/dev.yaml Normal file
View File

@@ -0,0 +1,153 @@
listen:
hostname: '::'
port: 9001
webserver:
https: false
theme:
default: peertube-core-dark-brown
secrets:
peertube: 'my super dev secret'
rates_limit:
api:
window: 10 seconds
max: 500
signup:
window: 5 minutes
max: 200
download_generate_video:
window: 5 seconds
max: 500000
database:
hostname: '127.0.0.1'
port: 5432
redis:
hostname: '127.0.0.1'
smtp:
hostname: null
port: 1025
tls: false
disable_starttls: true
from_address: 'test-admin@localhost'
username: null
password: null
log:
level: 'debug'
open_telemetry:
metrics:
enabled: true
playback_stats_interval: '13 seconds'
contact_form:
enabled: true
peertube:
check_latest_version:
enabled: false
redundancy:
videos:
check_interval: '1 hour'
strategies:
-
size: '1000MB'
min_lifetime: '10 minutes'
strategy: 'most-views'
-
size: '1000MB'
min_lifetime: '10 minutes'
strategy: 'trending'
-
size: '1000MB'
min_lifetime: '10 minutes'
strategy: 'recently-added'
min_views: 1
cache:
previews:
size: 2000
captions:
size: 1000
torrents:
size: 1000
signup:
enabled: true
requires_email_verification: false
live:
enabled: true
allow_replay: true
transcoding:
enabled: true
threads: 2
resolutions:
360p: true
720p: true
import:
videos:
concurrency: 1
http:
enabled: true
torrent:
enabled: true
video_channel_synchronization:
enabled: true
max_per_user: 10
check_interval: 5 minutes
videos_limit_per_synchronization: 3
instance:
default_nsfw_policy: 'display'
# Set by API when the field is not provided and put as default value in client
defaults:
publish:
licence: 2
plugins:
index:
check_latest_versions_interval: '10 minutes'
federation:
# We use internal IP address in PeerTube tests
prevent_ssrf: false
videos:
cleanup_remote_interactions: false
views:
videos:
remote:
max_age: -1
local:
max_age: '15 years'
watching_interval:
anonymous: '6 seconds'
users: '4 seconds'
geo_ip:
enabled: false
video_studio:
enabled: false
transcoding:
keep_original_file: false
user:
password_constraints:
min_length: 8

324
config/local-dev.json Normal file
View File

@@ -0,0 +1,324 @@
{
"instance": {
"name": "Solace EDA",
"short_description": "PeerTube, an ActivityPub-federated video streaming platform using P2P directly in your web browser.sdsdf",
"description": "Welcome to this PeerTube instance!",
"terms": "No terms for now.",
"code_of_conduct": "sdfsdf",
"creation_reason": "",
"moderation_information": "sjdkjfsldfadsf",
"administrator": "Me",
"maintenance_lifetime": "1 eon",
"business_model": "asdfasd",
"hardware_information": "asdfasdf",
"default_language": "en-US",
"languages": [
"en"
],
"categories": [
16
],
"is_nsfw": false,
"default_nsfw_policy": "do_not_list",
"server_country": "",
"support": {
"text": "sldjfak jfakdsj flaksjf asdlf asdk"
},
"social": {
"bluesky_link": "",
"mastodon_link": "",
"x_link": "",
"external_link": ""
},
"default_client_route": "/live-stream-via-solace",
"customizations": {
"css": "",
"javascript": ""
}
},
"theme": {
"default": "peertube-core-dark-brown",
"customization": {
"primary_color": "#fd9c50",
"on_primary_color": null,
"foreground_color": null,
"background_color": null,
"background_secondary_color": null,
"menu_foreground_color": null,
"menu_background_color": null,
"menu_border_radius": null,
"header_foreground_color": null,
"header_background_color": null,
"input_border_radius": null
}
},
"services": {
"twitter": {
"username": "@Chocobozzz"
}
},
"client": {
"header": {
"hide_instance_name": false
},
"videos": {
"miniature": {
"prefer_author_display_name": false
}
},
"browse_videos": {
"default_sort": "-publishedAt",
"default_scope": "federated"
},
"menu": {
"login": {
"redirect_on_single_external_auth": false
}
}
},
"cache": {
"previews": {
"size": 500
},
"captions": {
"size": 500
},
"torrents": {
"size": 500
},
"storyboards": {
"size": 500
}
},
"signup": {
"enabled": true,
"limit": 10,
"requires_approval": true,
"requires_email_verification": false,
"minimum_age": 16
},
"admin": {
"email": "admin@example.com"
},
"contact_form": {
"enabled": true
},
"user": {
"history": {
"videos": {
"enabled": true
}
},
"video_quota": 5368709120,
"video_quota_daily": -1,
"default_channel_name": "Main $1 channel"
},
"video_channels": {
"max_per_user": 20
},
"transcoding": {
"enabled": true,
"original_file": {
"keep": false
},
"remote_runners": {
"enabled": false
},
"allow_additional_extensions": true,
"allow_audio_files": true,
"threads": 1,
"concurrency": 1,
"profile": "default",
"resolutions": {
"0p": false,
"144p": false,
"240p": false,
"360p": false,
"480p": true,
"720p": true,
"1080p": true,
"1440p": false,
"2160p": false
},
"always_transcode_original_resolution": true,
"fps": {
"max": 60
},
"web_videos": {
"enabled": false
},
"hls": {
"enabled": true,
"split_audio_and_video": false
}
},
"live": {
"enabled": true,
"allow_replay": true,
"latency_setting": {
"enabled": true
},
"max_duration": -1,
"max_instance_lives": 20,
"max_user_lives": 3,
"transcoding": {
"enabled": true,
"remote_runners": {
"enabled": false
},
"threads": 2,
"profile": "default",
"resolutions": {
"0p": false,
"144p": false,
"240p": false,
"360p": false,
"480p": false,
"720p": false,
"1080p": false,
"1440p": false,
"2160p": false
},
"always_transcode_original_resolution": true,
"fps": {
"max": 60
}
}
},
"video_studio": {
"enabled": false,
"remote_runners": {
"enabled": false
}
},
"video_transcription": {
"enabled": false,
"remote_runners": {
"enabled": false
}
},
"video_file": {
"update": {
"enabled": false
}
},
"import": {
"videos": {
"concurrency": 1,
"http": {
"enabled": false
},
"torrent": {
"enabled": false
}
},
"video_channel_synchronization": {
"enabled": false,
"max_per_user": 10
},
"users": {
"enabled": true
}
},
"export": {
"users": {
"enabled": true,
"export_expiration": 172800000,
"max_user_video_quota": 10737418240
}
},
"trending": {
"videos": {
"algorithms": {
"enabled": [
"hot",
"most-viewed",
"most-liked"
],
"default": "hot"
}
}
},
"auto_blacklist": {
"videos": {
"of_users": {
"enabled": true
}
}
},
"followers": {
"instance": {
"enabled": true,
"manual_approval": false
},
"channels": {
"enabled": true
}
},
"followings": {
"instance": {
"auto_follow_back": {
"enabled": false
},
"auto_follow_index": {
"enabled": false,
"index_url": ""
}
}
},
"broadcast_message": {
"enabled": false,
"message": "",
"level": "info",
"dismissable": false
},
"search": {
"remote_uri": {
"users": true,
"anonymous": false
},
"search_index": {
"enabled": true,
"url": "https://sepiasearch.org",
"disable_local_search": false,
"is_default_search": true
}
},
"storyboards": {
"enabled": true,
"remote_runners": {
"enabled": false
}
},
"defaults": {
"publish": {
"download_enabled": true,
"comments_policy": 1,
"privacy": 1,
"licence": null
},
"p2p": {
"webapp": {
"enabled": true
},
"embed": {
"enabled": true
}
},
"player": {
"theme": "galaxy",
"auto_play": true
}
},
"email": {
"body": {
"signature": ""
},
"subject": {
"prefix": "[{{instanceName}}] "
}
},
"video_comments": {
"accept_remote_comments": true
}
}

File diff suppressed because it is too large Load Diff

49
config/test-1.yaml Normal file
View File

@@ -0,0 +1,49 @@
listen:
port: 9001
webserver:
port: 9001
database:
suffix: '_test1'
# From the project root directory
storage:
tmp: 'test1/tmp/'
tmp_persistent: 'test1/tmp-persistent/'
bin: 'test1/bin/'
avatars: 'test1/avatars/'
web_videos: 'test1/web-videos/'
streaming_playlists: 'test1/streaming-playlists/'
original_video_files: 'test1/original-video-files/'
redundancy: 'test1/redundancy/'
logs: 'test1/logs/'
previews: 'test1/previews/'
thumbnails: 'test1/thumbnails/'
storyboards: 'test1/storyboards/'
torrents: 'test1/torrents/'
captions: 'test1/captions/'
cache: 'test1/cache/'
plugins: 'test1/plugins/'
well_known: 'test1/well-known/'
uploads: 'test1/uploads/'
client_overrides: 'test1/client-overrides/'
admin:
email: 'admin1@example.com'
user:
video_quota: 5242880 # 5MB
signup:
limit: 4
transcoding:
enabled: false
video_studio:
enabled: false
live:
rtmp:
port: 1936

45
config/test-2.yaml Normal file
View File

@@ -0,0 +1,45 @@
listen:
port: 9002
webserver:
port: 9002
database:
suffix: '_test2'
# From the project root directory
storage:
tmp: 'test2/tmp/'
tmp_persistent: 'test2/tmp-persistent/'
bin: 'test2/bin/'
avatars: 'test2/avatars/'
web_videos: 'test2/web-videos/'
streaming_playlists: 'test2/streaming-playlists/'
original_video_files: 'test2/original-video-files/'
redundancy: 'test2/redundancy/'
logs: 'test2/logs/'
previews: 'test2/previews/'
thumbnails: 'test2/thumbnails/'
storyboards: 'test2/storyboards/'
torrents: 'test2/torrents/'
captions: 'test2/captions/'
cache: 'test2/cache/'
plugins: 'test2/plugins/'
well_known: 'test2/well-known/'
uploads: 'test2/uploads/'
client_overrides: 'test2/client-overrides/'
admin:
email: 'admin2@example.com'
signup:
enabled: false
transcoding:
enabled: true
allow_additional_extensions: true
allow_audio_files: true
live:
rtmp:
port: 1937

39
config/test-3.yaml Normal file
View File

@@ -0,0 +1,39 @@
listen:
port: 9003
webserver:
port: 9003
database:
suffix: '_test3'
# From the project root directory
storage:
tmp: 'test3/tmp/'
tmp_persistent: 'test3/tmp-persistent/'
bin: 'test3/bin/'
avatars: 'test3/avatars/'
web_videos: 'test3/web-videos/'
streaming_playlists: 'test3/streaming-playlists/'
original_video_files: 'test3/original-video-files/'
redundancy: 'test3/redundancy/'
logs: 'test3/logs/'
previews: 'test3/previews/'
thumbnails: 'test3/thumbnails/'
storyboards: 'test3/storyboards/'
torrents: 'test3/torrents/'
captions: 'test3/captions/'
cache: 'test3/cache/'
plugins: 'test3/plugins/'
well_known: 'test3/well-known/'
uploads: 'test3/uploads/'
client_overrides: 'test3/client-overrides/'
admin:
email: 'admin3@example.com'
transcoding:
enabled: false
video_studio:
enabled: false

39
config/test-4.yaml Normal file
View File

@@ -0,0 +1,39 @@
listen:
port: 9004
webserver:
port: 9004
database:
suffix: '_test4'
# From the project root directory
storage:
tmp: 'test4/tmp/'
tmp_persistent: 'test4/tmp-persistent/'
bin: 'test4/bin/'
avatars: 'test4/avatars/'
web_videos: 'test4/web-videos/'
streaming_playlists: 'test4/streaming-playlists/'
original_video_files: 'test4/original-video-files/'
redundancy: 'test4/redundancy/'
logs: 'test4/logs/'
previews: 'test4/previews/'
thumbnails: 'test4/thumbnails/'
storyboards: 'test4/storyboards/'
torrents: 'test4/torrents/'
captions: 'test4/captions/'
cache: 'test4/cache/'
plugins: 'test4/plugins/'
well_known: 'test4/well-known/'
uploads: 'test4/uploads/'
client_overrides: 'test4/client-overrides/'
admin:
email: 'admin4@example.com'
transcoding:
enabled: false
video_studio:
enabled: false

39
config/test-5.yaml Normal file
View File

@@ -0,0 +1,39 @@
listen:
port: 9005
webserver:
port: 9005
database:
suffix: '_test5'
# From the project root directory
storage:
tmp: 'test5/tmp/'
tmp_persistent: 'test5/tmp-persistent/'
bin: 'test5/bin/'
avatars: 'test5/avatars/'
web_videos: 'test5/web-videos/'
streaming_playlists: 'test5/streaming-playlists/'
original_video_files: 'test5/original-video-files/'
redundancy: 'test5/redundancy/'
logs: 'test5/logs/'
previews: 'test5/previews/'
thumbnails: 'test5/thumbnails/'
storyboards: 'test5/storyboards/'
torrents: 'test5/torrents/'
captions: 'test5/captions/'
cache: 'test5/cache/'
plugins: 'test5/plugins/'
well_known: 'test5/well-known/'
uploads: 'test5/uploads/'
client_overrides: 'test5/client-overrides/'
admin:
email: 'admin5@example.com'
transcoding:
enabled: false
video_studio:
enabled: false

39
config/test-6.yaml Normal file
View File

@@ -0,0 +1,39 @@
listen:
port: 9006
webserver:
port: 9006
database:
suffix: '_test6'
# From the project root directory
storage:
tmp: 'test6/tmp/'
tmp_persistent: 'test6/tmp-persistent/'
bin: 'test6/bin/'
avatars: 'test6/avatars/'
web_videos: 'test6/web-videos/'
streaming_playlists: 'test6/streaming-playlists/'
original_video_files: 'test6/original-video-files/'
redundancy: 'test6/redundancy/'
logs: 'test6/logs/'
previews: 'test6/previews/'
thumbnails: 'test6/thumbnails/'
storyboards: 'test6/storyboards/'
torrents: 'test6/torrents/'
captions: 'test6/captions/'
cache: 'test6/cache/'
plugins: 'test6/plugins/'
well_known: 'test6/well-known/'
uploads: 'test6/uploads/'
client_overrides: 'test6/client-overrides/'
admin:
email: 'admin6@example.com'
transcoding:
enabled: false
video_studio:
enabled: false

178
config/test.yaml Normal file
View File

@@ -0,0 +1,178 @@
listen:
hostname: '::'
port: 9000
webserver:
hostname: '127.0.0.1'
https: false
secrets:
peertube: 'my super secret'
rates_limit:
signup:
window: 10 minutes
max: 50
login:
window: 5 minutes
max: 20
api:
window: 10 seconds
max: 500
database:
hostname: '127.0.0.1'
port: 5432
redis:
hostname: '127.0.0.1'
smtp:
hostname: null
port: 1025
tls: false
disable_starttls: true
from_address: 'test-admin@127.0.0.1'
username: null
password: null
log:
level: 'debug'
rotation:
max_file_size: 100MB
contact_form:
enabled: true
peertube:
check_latest_version:
enabled: false
redundancy:
videos:
check_interval: '1 minute'
strategies:
-
size: '1000MB'
min_lifetime: '10 minutes'
strategy: 'most-views'
-
size: '1000MB'
min_lifetime: '10 minutes'
strategy: 'trending'
-
size: '1000MB'
min_lifetime: '10 minutes'
strategy: 'recently-added'
min_views: 1
cache:
previews:
size: 1
captions:
size: 1
torrents:
size: 1
storyboards:
size: 1
signup:
enabled: true
requires_approval: false
requires_email_verification: false
transcoding:
enabled: true
allow_additional_extensions: false
allow_audio_files: false
threads: 2
concurrency: 2
resolutions:
0p: false
144p: false
240p: true
360p: true
480p: true
720p: true
1080p: true
1440p: true
2160p: true
web_videos:
enabled: true
hls:
enabled: true
live:
enabled: false
allow_replay: false
rtmp:
port: 1935
transcoding:
enabled: false
threads: 2
resolutions:
144p: false
240p: false
360p: false
480p: false
720p: false
1080p: false
1440p: false
2160p: false
import:
videos:
concurrency: 2
http:
enabled: true
torrent:
enabled: true
instance:
default_nsfw_policy: 'display'
plugins:
index:
check_latest_versions_interval: '10 minutes'
federation:
# We use internal IP address in PeerTube tests
prevent_ssrf: false
videos:
federate_unlisted: true
cleanup_remote_interactions: false
views:
videos:
remote:
max_age: -1
local_buffer_update_interval: '5 seconds'
view_expiration: '1 second'
geo_ip:
enabled: false
video_studio:
enabled: true
open_telemetry:
metrics:
prometheus_exporter:
port: 9092
search:
search_index:
url: 'https://search.joinpeertube.org/'
video_transcription:
model: 'tiny'
user:
password_constraints:
min_length: 6