a mini social media app for small communities
1// Toggles developer mode; when true, allows access to the admin panel for all users.
2dev_mode = false
3// Path to the static directory. You shouldn't ever need to change this.
4static_path = 'src/static'
5
6// General instance settings
7instance = {
8 // Instance version. This is shown on the about page.
9 version = '2025.12'
10
11 // Set this to '' if your instance is closed source. This is shown on the about page.
12 source = 'https://tangled.org/emmeline.girlkisser.top/beep'
13
14 // The instance's name, used for the page titles and on the homepage.
15 name = 'beep'
16 // The welcome message to show on the homepage.
17 welcome = 'welcome to beep!'
18
19 // TODO: Move default_theme and allow_changing_theme to user settings
20 // Default theme applied for all users.
21 default_theme = '/static/themes/default.css'
22 // Default custom CSS applied for all users.
23 default_css = ''
24 // Whether or not users should be able to change their theme.
25 allow_changing_theme = true
26
27 // Toggle to require that users have the invite code to register.
28 invite_only = false
29 // Invite code. You can change this at any time.
30 invite_code = ''
31
32 // Toggle to allow any non-logged-in user to view data (posts, users, etc)
33 public_data = false
34}
35
36http = {
37 port = 8008
38}
39
40// Database settings.
41postgres = {
42 // Name of database container in compose.yml
43 host = 'beep-database'
44 port = 5432
45 user = 'beep'
46 password = 'beep' // TODO: Read from .env
47 db = 'beep'
48}
49
50hcaptcha = {
51 // Toggles if hcaptcha is enabled.
52 enabled = false
53 secret = '' // TODO: Read from .env
54 site_key = ''
55}
56
57// Post settings.
58post = {
59 title_min_len = 1
60 title_max_len = 50
61 title_pattern = '.*'
62
63 body_min_len = 1
64 body_max_len = 1000
65 body_pattern = '.*'
66
67 // Whether or not posts can be marked as NSFW.
68 allow_nsfw = true
69}
70
71// User settings.
72user = {
73 username_min_len = 3
74 username_max_len = 20
75 username_pattern = '[a-z0-9_.]+'
76
77 nickname_min_len = 1
78 nickname_max_len = 20
79 nickname_pattern = '.*'
80
81 password_min_len = 12
82 password_max_len = 72
83 password_pattern = '.+'
84
85 pronouns_min_len = 0
86 pronouns_max_len = 30
87 pronouns_pattern = '.*'
88
89 bio_min_len = 0
90 bio_max_len = 200
91 bio_pattern = '.*'
92}
93
94// Welcome notification settings.
95welcome = {
96 // Title of the notification.
97 summary = 'welcome!'
98 // Notification body text. %s is replaced with the user's name.
99 body = 'hello %s and welcome to beep! i hope you enjoy your stay here :D'
100}