aboutsummaryrefslogtreecommitdiff
path: root/server/config.yaml.dist
blob: a68aea3f8a479443358698e3025ac426e0b72cd0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
# rather than editing this file, it is strongly suggested to create config.yaml
# and override only what you need.

# shown in the website title and on the front page
name: szurubooru
# user agent name used to download files from the web on behalf of the api users
user_agent:
# used to salt the users' password hashes
secret: change
# required for running the test suite
test_database: 'sqlite:///:memory:'

# Delete thumbnails and source files on post delete
# Original functionality is no, to mitigate the impacts of admins going
# on unchecked post purges.
delete_source_files: no

thumbnails:
    avatar_width: 300
    avatar_height: 300
    post_width: 300
    post_height: 300

convert:
   gif:
     to_webm: false
     to_mp4: false

# used to send password reset e-mails
smtp:
    host: # example: localhost
    port: # example: 25
    user: # example: bot
    pass: # example: groovy123
    # host can be left empty, in which case it is recommended to fill contactEmail.

contact_email: # example: bob@example.com. Meant for manual password reset procedures

enable_safety: yes

tag_name_regex: ^\S+$
tag_category_name_regex: ^[^\s%+#/]+$

# don't make these more restrictive unless you want to annoy people; if you do
# customize them, make sure to update the instructions in the registration form
# template as well.
password_regex: '^.{5,}$'
user_name_regex: '^[a-zA-Z0-9_-]{1,32}$'

default_rank: regular

privileges:
    'users:create:self':            anonymous # Registration permission
    'users:create:any':             administrator
    'users:list':                   regular
    'users:view':                   regular
    'users:edit:any:name':          moderator
    'users:edit:any:pass':          moderator
    'users:edit:any:email':         moderator
    'users:edit:any:avatar':        moderator
    'users:edit:any:rank':          moderator
    'users:edit:self:name':         regular
    'users:edit:self:pass':         regular
    'users:edit:self:email':        regular
    'users:edit:self:avatar':       regular
    'users:edit:self:rank':         moderator # one can't promote themselves or anyone to upper rank than their own.
    'users:delete:any':             administrator
    'users:delete:self':            regular

    'user_tokens:list:any':         administrator
    'user_tokens:list:self':        regular
    'user_tokens:create:any':       administrator
    'user_tokens:create:self':      regular
    'user_tokens:edit:any':         administrator
    'user_tokens:edit:self':        regular
    'user_tokens:delete:any':       administrator
    'user_tokens:delete:self':      regular

    'posts:create:anonymous':       regular
    'posts:create:identified':      regular
    'posts:list':                   anonymous
    'posts:reverse_search':         regular
    'posts:view':                   anonymous
    'posts:view:featured':          anonymous
    'posts:edit:content':           power
    'posts:edit:flags':             regular
    'posts:edit:notes':             regular
    'posts:edit:relations':         regular
    'posts:edit:safety':            power
    'posts:edit:source':            regular
    'posts:edit:tags':              regular
    'posts:edit:thumbnail':         power
    'posts:feature':                moderator
    'posts:delete':                 moderator
    'posts:score':                  regular
    'posts:merge':                  moderator
    'posts:favorite':               regular
    'posts:bulk-edit:tags':         power
    'posts:bulk-edit:safety':       power

    'tags:create':                  regular
    'tags:edit:names':              power
    'tags:edit:category':           power
    'tags:edit:description':        power
    'tags:edit:implications':       power
    'tags:edit:suggestions':        power
    'tags:list':                    regular
    'tags:view':                    anonymous
    'tags:merge':                   moderator
    'tags:delete':                  moderator

    'tag_categories:create':        moderator
    'tag_categories:edit:name':     moderator
    'tag_categories:edit:color':    moderator
    'tag_categories:list':          anonymous
    'tag_categories:view':          anonymous
    'tag_categories:delete':        moderator
    'tag_categories:set_default':   moderator

    'metrics:create':               moderator
    'metrics:edit:bounds':          moderator

    'comments:create':              regular
    'comments:delete:any':          moderator
    'comments:delete:own':          regular
    'comments:edit:any':            moderator
    'comments:edit:own':            regular
    'comments:list':                regular
    'comments:view':                regular
    'comments:score':               regular

    'snapshots:list':               power

    'uploads:create':               regular

## ONLY SET THESE IF DEPLOYING OUTSIDE OF DOCKER
#debug: 0 # generate server logs?
#show_sql: 0 # show sql in server logs?
#data_url: /data/
#data_dir: /var/www/data
## usage: schema://user:password@host:port/database_name
## example: postgres://szuru:dog@localhost:5432/szuru_test
#database:
#elasticsearch: # used for reverse image search
#    host: localhost
#    port: 9200
#    index: szurubooru

© 2015 - 2026 Jakob L. Kreuze