Clone
25
Config
Kibi Kelburton edited this page 2026-06-03 11:09:06 +00:00

How to configure

This documents provides some explanation of the keys found in config.json

Full Configuration Documentation

1. Main Application Settings (main)

Object Key Type Description Value/Example Additional
main.url full String Absolute URL "https://example.com" Used to generate URLS in Matrix/IRC
main.url domain String Root domain "example.com" Used in Website <title>
main.url regex String Regex pattern "example\\.com"
main socks String Proxy address "socks5://127.0.0.1:9050" Default is Tor, empty will use no proxy aka direct connection from main network adapter
main mail String Admin email "admin@example.com"
main maxfilesize Number Max size (bytes) 104857600 100MB
main adminmultiplier Float Admin boost 3.5 350MB
main upload_limit Number Max uploads 300 Uploads per 12 hours per user
main ignored Array Domain blacklist ["example.net", "example.org"] Domains to ignore for parser/url upload
main invite_secret String Registration key "YOUR_SECRET_HERE" This is used to generate invite tokens and Link tokens for Matrix
main hide_comments_from_public Boolean Privacy toggle false Hide/Show the Comments for public
main comment_max_length Int Comments null null = no limit accepts integer
main timezone String Timezone "UTC" Sets servers timezone
main development Boolean Dev mode toggle true If enabled no bundle.css will be generated and you will see DEBUG Output

2. Global Toggles & Media

Key Type Description Value Additional
allowedModes Array Active view modes ["sfw", "nsfw", "untagged", "all", "nsfl"] Can be expanded to many more modes e.g. Flash, PDF…
enable_nsfl Boolean Toggle NSFL content true Enables/Disabled NSFL mode
nsfl_tag_id Number Tag ID for NSFL 4 If you have a old dataset where the nsfl tag != 4 you can set the correct id here
allowedMimes Array Media categories ["audio", "image", "video"] Can be expanded to include pdf,flash…
nsfp Array Numeric params [2, 3] Tag ids that will be excluded from the public eye at all times, global filter

3. Web Server Settings (websrv)

Object Key Type Description Value Additional
websrv port String Listener port "1337" appserver port
websrv language String UI Language "en" Possible: en,de,nl,zange
websrv allow_language_change Boolean User toggle true Should users be able to change the language?
websrv cache Boolean Enable caching false
websrv eps Number entries per site 100 How many Thumbs should be loaded at once on the main page
websrv background Boolean BG processing true Enable/Disable blurry background for items globally as default setting
websrv log_user_ips Boolean IP logging false Log User IP to Database
websrv hash_user_ips Boolean IP logging true If log_user_ips is true IPs will be logged hashed
websrv description String Site description "Example Description" Meta Tag
websrv themes Array Available themes ["amoled"] Possible: atmos,4d,xd,orange,p1nk,iced,f0ck95d
websrv theme String Active theme "amoled" Default theme
websrv default_layout String UI Layout style "legacy" legacy,modern
websrv custom_favicon String Favicon path "/s/img/favicon.gif" specifiy custom favicon
websrv custom_brand_image Array Branding assets [] specify custom brand image(s)
websrv show_koepfe Boolean Toggle Koepfe false shows image(s) in bottom left corner
websrv koepfe Array Koepfe data []
websrv enable_global_chat Boolean Chat toggle true Wanna chat? Yes or No
websrv enable_danmaku Boolean Danmaku toggle true Flying comments niconico style
websrv private_messages Boolean Private messaging true Private messaging
websrv dm_unencrypted Boolean Private messaging false Enables/Disables e2ee for dms
websrv dm_attachments Boolean Private messaging false Wether users can upload attachments in the dms
websrv dm_attachment_expiry_days Int Private messaging 90 Days after which the attachment will expire (deleted)
websrv halls_enabled Boolean Halls toggle false Global collections curated by admins/mods
websrv userhalls_enabled Boolean User halls false Personal collections for users.
websrv enable_userhall_image_upload Boolean User halls false Enables/Disables custom cover image upload for userhalls.
websrv abyss_enabled Boolean Abyss toggle false Doomscrolling
websrv meme_creator Boolean Meme tool true Builtin Meme generator
websrv enable_cleanup Boolean Cleanup Manager false Enable the Cleanup Manager
websrv enable_data_export Boolean Data Management false Enable the Data Export for users
websrv enable_user_api_keys Boolean API Key false Enable user upload api keys
websrv enable_user_invites Boolean Invites true Enable user invites
websrv user_invite_slots Integer Invites 2 Number of invite slots per user
websrv invite_criteria.uploads Integer Invites 10 Required number of uploads to invite others
websrv invite_criteria.age_days Integer Invites 10 Required account age in days to invite others
websrv invite_criteria.comments Integer Invites 10 Required number of comments to invite others
websrv invite_criteria.tags Integer Invites 10 Required number of tags to invite others
websrv cleanup_timeframe_days 30 Cleanup Manager true Default timeframe for Cleanup Manager in days
websrv web_url_upload Boolean URL Uploading true Downloads from the web, uses main.socks if set
websrv enable_youtube_upload Boolean YT Uploading true Enable/Disable youtube embedding via URL Upload
websrv web_meta_extraction Boolean Meta scraping true Enable/Disable Metadata extraction via url fetching
websrv bypass_duplicate_check Boolean Dup checking true set to false if you want to shitpost
websrv protect_files Boolean File protection false Will return 502 for unauthenticated connections to every direct url if set to true
websrv enable_dynamic_thumbs Boolean Main Page false If true items that meet activity criteria are displayed more prominent on the main
websrv shitpost_mode Boolean Upload false Users can shitpost multiple files at once without tagging or rating
websrv shitpost_require_rating Boolean Upload true Wether users have to rate their uploads
websrv shitpost_min_tags Int Upload 0 How many minimum tags required in shitpost mode
websrv allowed_comment_images Array Whitelisted hosts ["i.imgur.com", "tenor.com", "giphy.com"] images/videos from these hosts can be embedded in the comments
websrv show_mime_picker Boolean UI Helper true Shows/Hides the mime type filter
websrv embed_youtube_in_comments Boolean YT Embedding true Wether Youtube should be embedded by default or not
websrv allow_comment_deletion Boolean Comments false Should users be allowed to delete their own comments?
websrv enable_comment_polls Boolean Comments false Wether or not Polls should be enabled
websrv allow_fileupload_comments Boolean Comments false Allow/Disallow adding attachments to comments
websrv fileupload_comments_multifile Boolean Comments true Wether multiple attachments can be added at once or not
websrv fileupload_comments_size Int Comments 104857600 Max Filesize for attachments in bytes
websrv fileupload_comments_max Int Comments 5 Number of max attachments per comment
websrv fileupload_comments_mode String Comments attachment attachment,inline
websrv fileupload_comments_mimes Array Comments ["image", "video", "audio"] "image", "video", "audio"
websrv show_content_warning Boolean CW Toggle true Content Warning for first time visitors
websrv phrases Array Random phrases ["Hello World"] Unused but can show a random phrase where you place it.
websrv ban_video String Ban video URL "" unused
websrv enable_xd_score Boolean Scoring system false
websrv enable_autoplay Boolean Autoplay toggle false Wether video/audio should automatically play for users
websrv enable_swiping Boolean Mobile swiping true Enable/Disable swiping gestures on mobile
websrv enable_profile_description Boolean User bios true Let users add a custom description to their profile
websrv user_alternative_infobox Boolean Alt UI false More prominent User centric UI
websrv enable_swf Boolean Flash support true ZOMG its 2006 again!
websrv swf_thumb String Flash thumbnail "/s/img/swf.png" Custom fallback thumb location
websrv open_registration Boolean Registration true This enabled registration with email, otherwise it always requires a invite token
websrv open_registration_web_toggle Boolean Web toggle false Toggles websrv.open_registration behaviour from /admin
websrv private_society Boolean Privacy mode false Displays a fake 502 Bad Gateway login page and is useful in combo with websrv.protect_files
websrv private_society_gate String Privacy mode "" Empty default nginx 502 gate "cloudflare" will display a real looking cloudflare error page
websrv public_nsfw Boolean Public Mode false Wether or not guests can see nsfw/nsfl content
websrv default_comment_display_mode Int Default comment style 0 / 1 Tree Style or Linear Style

4. MIME Mapping (mimes)

MIME Type Extension
image/png png
video/webm webm
image/gif gif
image/jpg jpg
image/jpeg jpeg
image/webp webp
video/mp4 mp4
video/quicktime mp4
audio/mpeg mpg
audio/mp3 mp3
audio/ogg ogg
audio/opus opus
audio/flac flac
audio/x-flac flac
audio/mp4 m4a
audio/x-m4a m4a
audio/aac m4a
video/x-m4v mp4
video/x-matroska mkv
application/x-shockwave-flash swf
application/vnd.adobe.flash.movie swf
application/pdf pdf

5. Email Settings (smtp)

Key Type Value Additional
enabled Boolean false
host String "smtp.example.com"
port Number 465
secure Boolean true
user String "smtp_user"
password String "smtp_password"
from String "admin@example.com"
mail_reset_password Boolean false When false the password reset option will not be available