-
Notifications
You must be signed in to change notification settings - Fork 0
/
config-template.yaml
85 lines (78 loc) · 2.69 KB
/
config-template.yaml
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
directory:
# Root directory of the files to be served, do not include a trailing slash
root: '/app/data'
# Files/directories to exclude when querying with /list or /retrieve, relative to root, matches glob patterns
exclude:
- '**/.metadata.json' # Exclude server-generated metadata files
# Require admin authorization for query requests on these routes, relative to root, matches glob patterns
protected:
- '/events-log.log' # Log of all server events
- '/secret.jpg'
- '/secret-dir'
- '/secret-dir/**/*'
server:
# Domain file server is hosted on
domain: https://example.com
# HTTP server settings
http:
port: 80
# HTTPS server settings
https:
enabled: false
port: 443
private-key: '/route/to/privkey/key.pem'
certfile: '/route/to/cert/cert.pem'
ca: '/route/to/ca/chain.pem'
# API keys that function as admin passwords, in an array
api-key: ['secretAPIKey']
# Domains of sites to allow for CORS
cors-allowed-origins: [https://sitea.com, https://siteb.com]
# JWT secret for cookies (see: https://jwt.io/introduction)
secret: 'change-me'
# Enable custom routes and/or post-start script
custom-routes: false # Place a index.ts file in ./src/routes/custom to add custom routes
post-start: false # Place a startup.ts file in ./src/lib/custom to run custom code after server start
# Rate limiter settings (default: 25 requests per second)
rate-limiter:
enabled: true
window: 1000
max: 25
# Use these to enable and disable certain routes
routes:
makedir: true
upload: true
rename: true
copy: true
move: true
delete: true
shortcut: true
# Controls which routes require authorization. Setting to false disables the need for users to authorize. Can also be set to an integer to specify minimum rank allowed.
route-authorization:
list: false
filetree: false
retrieve: false
logs: true
# Creates metadata files in each directory, setting to false deletes all existing metadata files
metadata: false
# Indexes files for searching
indexing:
enabled: false
indexing-interval: 3600
# Sqlite database to store users data or logs
database:
enabled: true
features:
users:
# Stores user data, also enabling registration and permissions
enabled: false
# Usernames that cannot be used for registration
restricted-usernames: ['admin']
# Rank value, above which a user will be considered an admin of the server
# Admins have access to user data and unlimited permissions, but higher ranks are possible
admin-rank: 99
logs:
# Stores detailed logs on server interactions
enabled: true
metadata:
# Store metadata on each file, to facilitate custom metadata
enabled: true