-
Notifications
You must be signed in to change notification settings - Fork 7
/
config.yaml
101 lines (82 loc) · 2.68 KB
/
config.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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
# SPDX-FileCopyrightText: 2023 Steffen Vogel <[email protected]>
# SPDX-License-Identifier: Apache-2.0
# The ip:port combination at which the backend should listen
listen: ":8080"
# The public facing address of the backend
base_url: http://localhost:8080
# Directory of frontend assets if not bundled into the binary
static: ./dist
# All settings from the servers section can also be used in the global section
# to provide defaults across all configured servers. E.g.
max_upload_size: 1TB
# A list of servers/buckets which the user can select in the frontend
# The first server is selected by default
servers:
- bucket: gose-uploads
endpoint: localhost:9000
region: s3
path_style: true
no_ssl: true
# Or via standard AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY env vars
access_key: ""
secret_key: ""
max_upload_size: 5TB
part_size: 16MB
# Manual configuration of S3 implementation
# Usually its auto-detected so the is only required in case
# a proxy or CDN manipulates the "Server" HTTP-response header
# implementation: MinIO
setup:
# Create the bucket if it does not exist
bucket: true
# Setup CORS rules for S3 bucket
cors: true
# Setup lifecycle rules for object expiration
# The rules are defined by the following expiration setting
lifecycle: true
# Number of days after which incomplete uploads are cleaned-up (set to 0 to disable)
abort_incomplete_uploads: 31
# A list of expiration/rentention classes
# The first class is selected by default
expiration:
- id: 1day
title: 1 day
days: 1
- id: 1week
title: 1 week
days: 7
- id: 1month
title: 1 month
days: 31
- id: 1year
title: 1 year
days: 365
shortener:
# Example for self-hosted shlink.io:
# Available template args:
# .Url
# .UrlEscaped
endpoint: "https://shlink-api/rest/v2/short-urls/shorten?apiKey=<your-api-token>&format=txt&longUrl={{.URLEscaped}}"
method: GET
response: raw
notification:
# See: https://containrrr.dev/shoutrrr/v0.5/services/overview/
urls:
- pushover://shoutrrr:<api-token>@<user-key>?devices=laptop1&title=Upload
template: |
URL: {{.URL}}
File: {{.FileName}}
Size: {{.FileSizeHuman}}
Type: {{.FileType}}
Uploaded at: {{.UploadDate.Format "Jan 02, 2006 15:04:05 UTC"}}
Uploaded by: {{.UploaderIP}} ({{.UploaderHostname}})
Expires at: {{.ExpiryDate.Format "Jan 02, 2006 15:04:05 UTC"}} ({{.ExpiryRuleID}})
# For user notifications
mail:
url: smtp://user:password@host:port/[email protected]
template: |
URL: {{.URL}}
File: {{.FileName}}
Size: {{.FileSizeHuman}}
Type: {{.FileType}}
IP: {{.UploaderIP}} ({{.UploaderHostname}})