# rather than editing this file, it is strongly suggested to create config.yaml
# and override only what you need.

name: szurubooru
debug: 0 # generate source maps for JS debugging?
transpile: 1 # generate bigger JS to support older browsers?
secret: change
api_url: # where frontend connects to, example: http://api.example.com/
base_url: # used to form links to frontend, example: http://example.com/
data_url: # used to form links to posts and avatars, example: http://example.com/data/
data_dir: # absolute path for posts and avatars storage, example: /srv/www/booru/client/public/data/

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

database:
    schema: postgres
    host: # example: localhost
    port: # example: 5432
    user: # example: szuru
    pass: # example: dog
    name: # example: szuru

# used to send password reminders
smtp:
    host: # example: localhost
    port: # example: 25
    user: # example: bot
    pass: # example: groovy123

limits:
    users_per_page: 20
    posts_per_page: 40
    max_comment_length: 5000

tag_name_regex: ^[a-zA-Z0-9_:()][a-zA-Z0-9_()-]*$
tag_category_name_regex: ^.{1,}$

default_rank: regular

# don't change these, unless you want to annoy people. if you do customize
# them though, 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}$'

privileges:
    'users:create':                 anonymous
    '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

    'posts:create:anonymous':       regular
    'posts:create:identified':      regular
    'posts:list':                   anonymous
    'posts:view':                   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:favorite':               regular

    'tags:create':                  regular
    'tags:edit:names':              power
    'tags:edit:category':           power
    'tags:edit:implications':       power
    'tags:edit:suggestions':        power
    'tags:list':                    regular # note: will be available as data_url/tags.json anyway
    'tags:view':                    anonymous
    'tags:masstag':                 power
    'tags:merge':                   moderator
    'tags:delete':                  moderator

    'tag_categories:create':        moderator
    'tag_categories:edit:name':     moderator
    'tag_categories:edit:color':    moderator
    'tag_categories:list':          anonymous # note: will be available as data_url/tags.json anyway
    'tag_categories:view':          anonymous
    'tag_categories:delete':        moderator
    'tag_categories:set_default':   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