mirror of
https://github.com/LemmyNet/lemmy
synced 2024-11-14 00:37:07 +00:00
Format config/defaults.hjson before committing (#1860)
This commit is contained in:
parent
149a4e0de8
commit
7bfe59a89f
4 changed files with 127 additions and 114 deletions
|
@ -6,5 +6,5 @@ cargo +nightly fmt -- --check
|
||||||
cargo +nightly clippy --workspace --tests --all-targets --all-features -- \
|
cargo +nightly clippy --workspace --tests --all-targets --all-features -- \
|
||||||
-D warnings -D deprecated -D clippy::perf -D clippy::complexity -D clippy::dbg_macro
|
-D warnings -D deprecated -D clippy::perf -D clippy::complexity -D clippy::dbg_macro
|
||||||
|
|
||||||
cargo run -- --print-config-docs > config/defaults.hjson
|
./scripts/update_config_defaults.sh
|
||||||
git add config/defaults.hjson
|
git add config/defaults.hjson
|
||||||
|
|
12
.drone.yml
12
.drone.yml
|
@ -38,18 +38,18 @@ steps:
|
||||||
- sudo apt-get -y install --no-install-recommends postgresql-client
|
- sudo apt-get -y install --no-install-recommends postgresql-client
|
||||||
- cargo test --workspace --no-fail-fast
|
- cargo test --workspace --no-fail-fast
|
||||||
|
|
||||||
|
- name: check defaults.hjson updated
|
||||||
|
image: ekidd/rust-musl-builder:1.51.0
|
||||||
|
commands:
|
||||||
|
- ./scripts/update_config_defaults.sh config/defaults_current.hjson
|
||||||
|
- diff config/defaults.hjson config/defaults_current.hjson
|
||||||
|
|
||||||
- name: cargo build
|
- name: cargo build
|
||||||
image: ekidd/rust-musl-builder:1.51.0
|
image: ekidd/rust-musl-builder:1.51.0
|
||||||
commands:
|
commands:
|
||||||
- cargo build
|
- cargo build
|
||||||
- mv target/x86_64-unknown-linux-musl/debug/lemmy_server target/lemmy_server
|
- mv target/x86_64-unknown-linux-musl/debug/lemmy_server target/lemmy_server
|
||||||
|
|
||||||
- name: check defaults.hjson updated
|
|
||||||
image: ekidd/rust-musl-builder:1.51.0
|
|
||||||
commands:
|
|
||||||
- target/lemmy_server --print-config-docs > config/defaults_current.hjson
|
|
||||||
- diff config/defaults.hjson config/defaults_current.hjson
|
|
||||||
|
|
||||||
- name: run federation tests
|
- name: run federation tests
|
||||||
image: node:alpine
|
image: node:alpine
|
||||||
environment:
|
environment:
|
||||||
|
|
|
@ -1,111 +1,111 @@
|
||||||
{
|
{
|
||||||
// settings related to the postgresql database
|
# settings related to the postgresql database
|
||||||
"database": {
|
database: {
|
||||||
// Username to connect to postgres
|
# Username to connect to postgres
|
||||||
"user": "lemmy",
|
user: "lemmy"
|
||||||
// Password to connect to postgres
|
# Password to connect to postgres
|
||||||
"password": "password",
|
password: "password"
|
||||||
// Host where postgres is running
|
# Host where postgres is running
|
||||||
"host": "localhost",
|
host: "localhost"
|
||||||
// Port where postgres can be accessed
|
# Port where postgres can be accessed
|
||||||
"port": 5432,
|
port: 5432
|
||||||
// Name of the postgres database for lemmy
|
# Name of the postgres database for lemmy
|
||||||
"database": "lemmy",
|
database: "lemmy"
|
||||||
// Maximum number of active sql connections
|
# Maximum number of active sql connections
|
||||||
"pool_size": 5
|
pool_size: 5
|
||||||
},
|
}
|
||||||
// rate limits for various user actions, by user ip
|
# rate limits for various user actions, by user ip
|
||||||
"rate_limit": {
|
rate_limit: {
|
||||||
// Maximum number of messages created in interval
|
# Maximum number of messages created in interval
|
||||||
"message": 180,
|
message: 180
|
||||||
// Interval length for message limit, in seconds
|
# Interval length for message limit, in seconds
|
||||||
"message_per_second": 60,
|
message_per_second: 60
|
||||||
// Maximum number of posts created in interval
|
# Maximum number of posts created in interval
|
||||||
"post": 6,
|
post: 6
|
||||||
// Interval length for post limit, in seconds
|
# Interval length for post limit, in seconds
|
||||||
"post_per_second": 600,
|
post_per_second: 600
|
||||||
// Maximum number of registrations in interval
|
# Maximum number of registrations in interval
|
||||||
"register": 3,
|
register: 3
|
||||||
// Interval length for registration limit, in seconds
|
# Interval length for registration limit, in seconds
|
||||||
"register_per_second": 3600,
|
register_per_second: 3600
|
||||||
// Maximum number of image uploads in interval
|
# Maximum number of image uploads in interval
|
||||||
"image": 6,
|
image: 6
|
||||||
// Interval length for image uploads, in seconds
|
# Interval length for image uploads, in seconds
|
||||||
"image_per_second": 3600
|
image_per_second: 3600
|
||||||
},
|
}
|
||||||
// Settings related to activitypub federation
|
# Settings related to activitypub federation
|
||||||
"federation": {
|
federation: {
|
||||||
// Whether to enable activitypub federation.
|
# Whether to enable activitypub federation.
|
||||||
"enabled": false,
|
enabled: false
|
||||||
// Allows and blocks are described here:
|
# Allows and blocks are described here:
|
||||||
// https://join-lemmy.org/docs/en/federation/administration.html///instance-allowlist-and-blocklist
|
# https://join-lemmy.org/docs/en/federation/administration.html///instance-allowlist-and-blocklist
|
||||||
//
|
#
|
||||||
// list of instances with which federation is allowed
|
# list of instances with which federation is allowed
|
||||||
"allowed_instances": [
|
allowed_instances: [
|
||||||
"instance1.tld",
|
instance1.tld
|
||||||
"instance2.tld",
|
instance2.tld
|
||||||
/* ... */
|
/* ... */
|
||||||
],
|
]
|
||||||
// Instances which we never federate anything with (but previously federated objects are unaffected)
|
# Instances which we never federate anything with (but previously federated objects are unaffected)
|
||||||
"blocked_instances": [
|
blocked_instances: [
|
||||||
"string",
|
string
|
||||||
/* ... */
|
/* ... */
|
||||||
],
|
]
|
||||||
// If true, only federate with instances on the allowlist and block everything else. If false,
|
# If true, only federate with instances on the allowlist and block everything else. If false
|
||||||
// use allowlist only for remote communities, and posts/comments in local communities
|
# use allowlist only for remote communities, and posts/comments in local communities
|
||||||
// (meaning remote communities will show content from arbitrary instances).
|
# (meaning remote communities will show content from arbitrary instances).
|
||||||
"strict_allowlist": true
|
strict_allowlist: true
|
||||||
},
|
}
|
||||||
"captcha": {
|
captcha: {
|
||||||
// Whether captcha is required for signup
|
# Whether captcha is required for signup
|
||||||
"enabled": false,
|
enabled: false
|
||||||
// Can be easy, medium, or hard
|
# Can be easy, medium, or hard
|
||||||
"difficulty": "medium"
|
difficulty: "medium"
|
||||||
},
|
}
|
||||||
// Email sending configuration. All options except login/password are mandatory
|
# Email sending configuration. All options except login/password are mandatory
|
||||||
"email": {
|
email: {
|
||||||
// Hostname and port of the smtp server
|
# Hostname and port of the smtp server
|
||||||
"smtp_server": "localhost:25",
|
smtp_server: "localhost:25"
|
||||||
// Login name for smtp server
|
# Login name for smtp server
|
||||||
"smtp_login": "string",
|
smtp_login: "string"
|
||||||
// Password to login to the smtp server
|
# Password to login to the smtp server
|
||||||
"smtp_password": "string",
|
smtp_password: "string"
|
||||||
// Address to send emails from, eg "noreply@your-instance.com"
|
# Address to send emails from, eg noreply@your-instance.com
|
||||||
"smtp_from_address": "noreply@example.com",
|
smtp_from_address: "noreply@example.com"
|
||||||
// Whether or not smtp connections should use tls
|
# Whether or not smtp connections should use tls
|
||||||
"use_tls": true
|
use_tls: true
|
||||||
},
|
}
|
||||||
// Parameters for automatic configuration of new instance (only used at first start)
|
# Parameters for automatic configuration of new instance (only used at first start)
|
||||||
"setup": {
|
setup: {
|
||||||
// Username for the admin user
|
# Username for the admin user
|
||||||
"admin_username": "admin",
|
admin_username: "admin"
|
||||||
// Password for the admin user
|
# Password for the admin user
|
||||||
"admin_password": "my_passwd",
|
admin_password: "my_passwd"
|
||||||
// Name of the site (can be changed later)
|
# Name of the site (can be changed later)
|
||||||
"site_name": "My Lemmy Instance",
|
site_name: "My Lemmy Instance"
|
||||||
// Email for the admin user (optional, can be omitted and set later through the website)
|
# Email for the admin user (optional, can be omitted and set later through the website)
|
||||||
"admin_email": "string",
|
admin_email: "string"
|
||||||
"sidebar": "string",
|
sidebar: "string"
|
||||||
"description": "string",
|
description: "string"
|
||||||
"icon": "string",
|
icon: "string"
|
||||||
"banner": "string",
|
banner: "string"
|
||||||
"enable_downvotes": true,
|
enable_downvotes: true
|
||||||
"open_registration": true,
|
open_registration: true
|
||||||
"enable_nsfw": true,
|
enable_nsfw: true
|
||||||
"community_creation_admin_only": true
|
community_creation_admin_only: true
|
||||||
},
|
}
|
||||||
// the domain name of your instance (mandatory)
|
# the domain name of your instance (mandatory)
|
||||||
"hostname": "unset",
|
hostname: "unset"
|
||||||
// Address where lemmy should listen for incoming requests
|
# Address where lemmy should listen for incoming requests
|
||||||
"bind": "0.0.0.0",
|
bind: "0.0.0.0"
|
||||||
// Port where lemmy should listen for incoming requests
|
# Port where lemmy should listen for incoming requests
|
||||||
"port": 8536,
|
port: 8536
|
||||||
// Whether the site is available over TLS. Needs to be true for federation to work.
|
# Whether the site is available over TLS. Needs to be true for federation to work.
|
||||||
"tls_enabled": true,
|
tls_enabled: true
|
||||||
// Address where pictrs is available (for image hosting)
|
# Address where pictrs is available (for image hosting)
|
||||||
"pictrs_url": "http://localhost:8080",
|
pictrs_url: "http:#localhost:8080"
|
||||||
// Regex for slurs which are prohibited. Example: `(\bThis\b)|(\bis\b)|(\bsample\b)`
|
# Regex for slurs which are prohibited. Example: `(\bThis\b)|(\bis\b)|(\bsample\b)`
|
||||||
"additional_slurs": "string",
|
additional_slurs: "string"
|
||||||
// Maximum length of local community and user names
|
# Maximum length of local community and user names
|
||||||
"actor_name_max_length": 20
|
actor_name_max_length: 20
|
||||||
}
|
}
|
||||||
|
|
13
scripts/update_config_defaults.sh
Executable file
13
scripts/update_config_defaults.sh
Executable file
|
@ -0,0 +1,13 @@
|
||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
dest=${1-config/defaults.hjson}
|
||||||
|
|
||||||
|
cargo run -- --print-config-docs > "$dest"
|
||||||
|
# replace // comments with #
|
||||||
|
sed -i "s/\/\//#/" "$dest"
|
||||||
|
# remove trailing commas
|
||||||
|
sed -i "s/,\$//" "$dest"
|
||||||
|
# remove quotes around json keys
|
||||||
|
sed -i "s/\"//" "$dest"
|
||||||
|
sed -i "s/\"//" "$dest"
|
Loading…
Reference in a new issue