2021-04-28 23:20:25 +03:00
|
|
|
env: production
|
2022-12-29 19:12:34 +03:00
|
|
|
quick_start: false # whether to skip initial tasks on application startup, like summary generation
|
|
|
|
skip_migrations: false # whether to intentionally not run database migrations, only use for dev purposes
|
2020-10-04 11:37:38 +03:00
|
|
|
|
|
|
|
server:
|
2021-04-28 23:20:25 +03:00
|
|
|
listen_ipv4: 127.0.0.1 # leave blank to disable ipv4
|
|
|
|
listen_ipv6: ::1 # leave blank to disable ipv6
|
2021-06-23 19:45:58 +03:00
|
|
|
listen_socket: # leave blank to disable unix sockets
|
2023-01-08 19:14:43 +03:00
|
|
|
listen_socket_mode: 0666 # permission mode to create unix socket with
|
2021-06-24 22:56:47 +03:00
|
|
|
timeout_sec: 30 # request timeout
|
2021-04-28 23:20:25 +03:00
|
|
|
tls_cert_path: # leave blank to not use https
|
|
|
|
tls_key_path: # leave blank to not use https
|
2020-10-04 11:37:38 +03:00
|
|
|
port: 3000
|
|
|
|
base_path: /
|
2021-04-28 23:20:25 +03:00
|
|
|
public_url: http://localhost:3000 # required for links (e.g. password reset) in e-mail
|
2020-10-04 11:37:38 +03:00
|
|
|
|
|
|
|
app:
|
2022-12-01 12:10:39 +03:00
|
|
|
aggregation_time: '0 15 2 * * *' # time at which to run daily aggregation batch jobs
|
|
|
|
leaderboard_generation_time: '0 0 6 * * *,0 0 18 * * *' # times at which to re-calculate the leaderboard
|
|
|
|
report_time_weekly: '0 0 18 * * 5' # time at which to fan out weekly reports (extended cron)
|
2023-01-18 03:26:22 +03:00
|
|
|
data_cleanup_time: '0 0 6 * * 0' # time at which to run old data cleanup (if enabled through data_retention_months)
|
2022-12-01 12:10:39 +03:00
|
|
|
inactive_days: 7 # time of previous days within a user must have logged in to be considered active
|
|
|
|
import_batch_size: 50 # maximum number of heartbeats to insert into the database within one transaction
|
|
|
|
heartbeat_max_age: '4320h' # maximum acceptable age of a heartbeat (see https://pkg.go.dev/time#ParseDuration)
|
2022-12-01 22:26:03 +03:00
|
|
|
data_retention_months: -1 # maximum retention period on months for user data (heartbeats) (-1 for infinity)
|
2020-10-04 11:37:38 +03:00
|
|
|
custom_languages:
|
|
|
|
vue: Vue
|
|
|
|
jsx: JSX
|
2022-11-11 18:13:41 +03:00
|
|
|
tsx: TSX
|
|
|
|
cjs: JavaScript
|
|
|
|
ipynb: Python
|
2021-03-13 21:59:43 +03:00
|
|
|
svelte: Svelte
|
2020-10-04 11:37:38 +03:00
|
|
|
|
2021-10-14 13:01:06 +03:00
|
|
|
# url template for user avatar images (to be used with services like gravatar or dicebear)
|
|
|
|
# available variable placeholders are: username, username_hash, email, email_hash
|
2022-02-17 11:53:37 +03:00
|
|
|
# defaults to wakapi's internal avatar rendering powered by https://codeberg.org/Codeberg/avatars
|
|
|
|
avatar_url_template: api/avatar/{username_hash}.svg
|
2021-10-14 13:01:06 +03:00
|
|
|
|
2020-10-04 11:37:38 +03:00
|
|
|
db:
|
2021-04-28 23:20:25 +03:00
|
|
|
host: # leave blank when using sqlite3
|
|
|
|
port: # leave blank when using sqlite3
|
2022-12-06 23:01:21 +03:00
|
|
|
socket: # alternative to db.host (leave blank when using sqlite3)
|
2021-04-28 23:20:25 +03:00
|
|
|
user: # leave blank when using sqlite3
|
|
|
|
password: # leave blank when using sqlite3
|
|
|
|
name: wakapi_db.db # database name for mysql / postgres or file path for sqlite (e.g. /tmp/wakapi.db)
|
|
|
|
dialect: sqlite3 # mysql, postgres, sqlite3
|
|
|
|
charset: utf8mb4 # only used for mysql connections
|
|
|
|
max_conn: 2 # maximum number of concurrent connections to maintain
|
|
|
|
ssl: false # whether to use tls for db connection (must be true for cockroachdb) (ignored for mysql and sqlite)
|
2022-12-29 19:12:34 +03:00
|
|
|
automigrate_fail_silently: false # whether to ignore schema auto-migration failures when starting up
|
2020-10-04 11:37:38 +03:00
|
|
|
|
|
|
|
security:
|
2021-04-28 23:20:25 +03:00
|
|
|
password_salt: # change this
|
|
|
|
insecure_cookies: true # should be set to 'false', except when not running with HTTPS (e.g. on localhost)
|
2021-02-06 12:59:12 +03:00
|
|
|
cookie_max_age: 172800
|
2021-02-12 20:37:30 +03:00
|
|
|
allow_signup: true
|
2021-03-24 00:12:15 +03:00
|
|
|
expose_metrics: false
|
2021-10-11 12:00:50 +03:00
|
|
|
enable_proxy: false # only intended for production instance at wakapi.dev
|
2021-03-24 00:12:15 +03:00
|
|
|
|
|
|
|
sentry:
|
2021-04-28 23:20:25 +03:00
|
|
|
dsn: # leave blank to disable sentry integration
|
|
|
|
enable_tracing: true # whether to use performance monitoring
|
|
|
|
sample_rate: 0.75 # probability of tracing a request
|
|
|
|
sample_rate_heartbeats: 0.1 # probability of tracing a heartbeat request
|
2021-04-10 01:07:13 +03:00
|
|
|
|
2022-12-29 19:12:34 +03:00
|
|
|
# only relevant for running wakapi as a hosted service with paid subscriptions and stripe payments
|
|
|
|
subscriptions:
|
|
|
|
enabled: false
|
2022-12-30 15:14:24 +03:00
|
|
|
expiry_notifications: true
|
2022-12-29 19:12:34 +03:00
|
|
|
stripe_api_key:
|
|
|
|
stripe_secret_key:
|
|
|
|
stripe_endpoint_secret:
|
|
|
|
standard_price_id:
|
|
|
|
|
2021-04-10 01:07:13 +03:00
|
|
|
mail:
|
2021-04-30 16:14:29 +03:00
|
|
|
enabled: true # whether to enable mails (used for password resets, reports, etc.)
|
|
|
|
provider: smtp # method for sending mails, currently one of ['smtp', 'mailwhale']
|
|
|
|
sender: Wakapi <noreply@wakapi.dev> # ignored for mailwhale
|
|
|
|
|
|
|
|
# smtp settings when sending mails via smtp
|
|
|
|
smtp:
|
|
|
|
host:
|
|
|
|
port:
|
|
|
|
username:
|
|
|
|
password:
|
|
|
|
tls:
|
|
|
|
|
|
|
|
# mailwhale.dev settings when using mailwhale as sending service
|
|
|
|
mailwhale:
|
2021-04-10 01:07:13 +03:00
|
|
|
url:
|
|
|
|
client_id:
|
2022-12-29 19:12:34 +03:00
|
|
|
client_secret:
|