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 // Source for your V compiler. Unless you're using a fork of V, you shouldn't need to change this.
15 v_source = 'https://github.com/vlang/v'
16
17 // The instance's name, used for the page titles and on the homepage.
18 name = 'beep'
19 // The welcome message to show on the homepage.
20 welcome = 'welcome to beep!'
21
22 // TODO: Move default_theme and allow_changing_theme to user settings
23 // Default theme applied for all users.
24 default_theme = '/static/themes/default.css'
25 // Default custom CSS applied for all users.
26 default_css = ''
27 // Whether or not users should be able to change their theme.
28 allow_changing_theme = true
29
30 // Toggle to require that users have the invite code to register.
31 invite_only = false
32 // Invite code. You can change this at any time.
33 invite_code = ''
34
35 // Toggle to allow any non-logged-in user to view data (posts, users, etc)
36 public_data = false
37
38 // Owner's username. This is linked on the about page. Leave empty to disable.
39 owner_username = ''
40}
41
42http = {
43 port = 8008
44}
45
46// Database settings.
47postgres = {
48 // Name of database container in compose.yml
49 host = 'beep-database'
50 port = 5432
51 user = 'beep'
52 password = 'beep' // TODO: Read from .env
53 db = 'beep'
54}
55
56hcaptcha = {
57 // Toggles if hcaptcha is enabled.
58 enabled = false
59 secret = '' // TODO: Read from .env
60 site_key = ''
61}
62
63// Post settings.
64post = {
65 title_min_len = 1
66 title_max_len = 50
67 title_pattern = '.*'
68
69 body_min_len = 1
70 body_max_len = 1000
71 body_pattern = '.*'
72
73 // Whether or not posts can be marked as NSFW.
74 allow_nsfw = true
75}
76
77// User settings.
78user = {
79 username_min_len = 3
80 username_max_len = 20
81 username_pattern = '[a-z0-9_.]+'
82
83 nickname_min_len = 1
84 nickname_max_len = 20
85 nickname_pattern = '.*'
86
87 password_min_len = 12
88 password_max_len = 72
89 password_pattern = '.+'
90
91 pronouns_min_len = 0
92 pronouns_max_len = 30
93 pronouns_pattern = '.*'
94
95 bio_min_len = 0
96 bio_max_len = 200
97 bio_pattern = '.*'
98}
99
100// Welcome notification settings.
101welcome = {
102 // Title of the notification.
103 summary = 'welcome!'
104 // Notification body text. %s is replaced with the user's name.
105 body = 'hello %s and welcome to beep! i hope you enjoy your stay here :D'
106}