image: ekidd/rust-musl-builder:1.50.0
environment:
LEMMY_DATABASE_URL: postgres://lemmy:password@database:5432/lemmy
+ LEMMY_CONFIG_LOCATION: ../../config/config.hjson
RUST_BACKTRACE: 1
RUST_TEST_THREADS: 1
commands:
image: rust:1.50-slim-buster
environment:
LEMMY_DATABASE_URL: postgres://lemmy:password@database:5432/lemmy
+ LEMMY_CONFIG_LOCATION: ../../config/config.hjson
RUST_BACKTRACE: 1
RUST_TEST_THREADS: 1
commands:
{
- hostname: "localhost:8536"
+# # optional: parameters for automatic configuration of new instance (only used at first start)
+# setup: {
+# # username for the admin user
+# admin_username: ""
+# # password for the admin user
+# admin_password: ""
+# # optional: email for the admin user (can be omitted and set later through the website)
+# admin_email: ""
+# # name of the site (can be changed later)
+# site_name: ""
+# }
+ # settings related to the postgresql database
+ database: {
+ # username to connect to postgres
+ user: "lemmy"
+ # password to connect to postgres
+ password: "password"
+ # host where postgres is running
+ host: "localhost"
+ # port where postgres can be accessed
+ port: 5432
+ # name of the postgres database for lemmy
+ database: "lemmy"
+ # maximum number of active sql connections
+ pool_size: 5
+ }
+ # the domain name of your instance (eg "lemmy.ml")
+ hostname: lemmy-alpha
+ # address where lemmy should listen for incoming requests
+ bind: "0.0.0.0"
+ # port where lemmy should listen for incoming requests
+ port: 8536
+ # whether tls is required for activitypub. only disable this for debugging, never for producion.
+ tls_enabled: true
+ # json web token for authorization between server and client
+ jwt_secret: "changeme"
+ # address where pictrs is available
+ pictrs_url: "http://pictrs:8080"
+ # address where iframely is available
+ iframely_url: "http://iframely"
+ # rate limits for various user actions, by user ip
+ rate_limit: {
+ # maximum number of messages created in interval
+ message: 180
+ # interval length for message limit
+ message_per_second: 60
+ # maximum number of posts created in interval
+ post: 6
+ # interval length for post limit
+ post_per_second: 600
+ # maximum number of registrations in interval
+ register: 3
+ # interval length for registration limit
+ register_per_second: 3600
+ # maximum number of image uploads in interval
+ image: 6
+ # interval length for image uploads
+ image_per_second: 3600
+ }
+ # settings related to activitypub federation
+ federation: {
+ # whether to enable activitypub federation.
+ enabled: false
+ # Allows and blocks are described here:
+ # https://join.lemmy.ml/docs/en/federation/administration.html#instance-allowlist-and-blocklist
+ #
+ # comma separated list of instances with which federation is allowed
+ # Only one of these blocks should be uncommented
+ # allowed_instances: ["instance1.tld","instance2.tld"]
+ # comma separated list of instances which are blocked from federating
+ # blocked_instances: []
+ }
+ captcha: {
+ enabled: true
+ difficulty: medium # Can be easy, medium, or hard
+ }
+# # email sending configuration
+# email: {
+# # hostname and port of the smtp server
+# smtp_server: ""
+# # login name for smtp server
+# smtp_login: ""
+# # password to login to the smtp server
+# smtp_password: ""
+# # address to send emails from, eg "noreply@your-instance.com"
+# smtp_from_address: ""
+# # whether or not smtp connections should use tls
+# use_tls: true
+# }
}
+++ /dev/null
-{
-# # optional: parameters for automatic configuration of new instance (only used at first start)
-# setup: {
-# # username for the admin user
-# admin_username: ""
-# # password for the admin user
-# admin_password: ""
-# # optional: email for the admin user (can be omitted and set later through the website)
-# admin_email: ""
-# # name of the site (can be changed later)
-# site_name: ""
-# }
- # settings related to the postgresql database
- database: {
- # username to connect to postgres
- user: "lemmy"
- # password to connect to postgres
- password: "password"
- # host where postgres is running
- host: "localhost"
- # port where postgres can be accessed
- port: 5432
- # name of the postgres database for lemmy
- database: "lemmy"
- # maximum number of active sql connections
- pool_size: 5
- }
- # the domain name of your instance (eg "lemmy.ml")
- hostname: null
- # address where lemmy should listen for incoming requests
- bind: "0.0.0.0"
- # port where lemmy should listen for incoming requests
- port: 8536
- # whether tls is required for activitypub. only disable this for debugging, never for producion.
- tls_enabled: true
- # json web token for authorization between server and client
- jwt_secret: "changeme"
- # address where pictrs is available
- pictrs_url: "http://pictrs:8080"
- # address where iframely is available
- iframely_url: "http://iframely"
- # rate limits for various user actions, by user ip
- rate_limit: {
- # maximum number of messages created in interval
- message: 180
- # interval length for message limit
- message_per_second: 60
- # maximum number of posts created in interval
- post: 6
- # interval length for post limit
- post_per_second: 600
- # maximum number of registrations in interval
- register: 3
- # interval length for registration limit
- register_per_second: 3600
- # maximum number of image uploads in interval
- image: 6
- # interval length for image uploads
- image_per_second: 3600
- }
- # settings related to activitypub federation
- federation: {
- # whether to enable activitypub federation.
- enabled: false
- # Allows and blocks are described here:
- # https://join.lemmy.ml/docs/en/federation/administration.html#instance-allowlist-and-blocklist
- #
- # comma separated list of instances with which federation is allowed
- # Only one of these blocks should be uncommented
- # allowed_instances: ["instance1.tld","instance2.tld"]
- # comma separated list of instances which are blocked from federating
- # blocked_instances: []
- }
- captcha: {
- enabled: true
- difficulty: medium # Can be easy, medium, or hard
- }
-# # email sending configuration
-# email: {
-# # hostname and port of the smtp server
-# smtp_server: ""
-# # login name for smtp server
-# smtp_login: ""
-# # password to login to the smtp server
-# smtp_password: ""
-# # address to send emails from, eg "noreply@your-instance.com"
-# smtp_from_address: ""
-# # whether or not smtp connections should use tls
-# use_tls: true
-# }
-}
popd
# Changing various references to the Lemmy version
+sed -i "s/dessalines\/lemmy:.*/dessalines\/lemmy:$new_tag/" ../dev/docker-compose.yml
sed -i "s/dessalines\/lemmy-ui:.*/dessalines\/lemmy-ui:$new_tag/" ../dev/docker-compose.yml
+sed -i "s/dessalines\/lemmy:.*/dessalines\/lemmy:$new_tag/" ../federation/docker-compose.yml
sed -i "s/dessalines\/lemmy-ui:.*/dessalines\/lemmy-ui:$new_tag/" ../federation/docker-compose.yml
git add ../dev/docker-compose.yml
git add ../federation/docker-compose.yml
# IE, when the third semver is a number, not '2-rc'
if [ ! -z "${third_semver##*[!0-9]*}" ]; then
sed -i "s/dessalines\/lemmy:.*/dessalines\/lemmy:$new_tag/" ../prod/docker-compose.yml
+ sed -i "s/dessalines\/lemmy-ui:.*/dessalines\/lemmy-ui:$new_tag/" ../prod/docker-compose.yml
git add ../prod/docker-compose.yml
# Setting the version for Ansible
psql -U lemmy -d postgres -c "CREATE DATABASE lemmy;"
export LEMMY_DATABASE_URL=postgres://lemmy:password@localhost:5432/lemmy
+# tests are executed in working directory crates/api (or similar),
+# so to load the config we need to traverse to the repo root
+export LEMMY_CONFIG_LOCATION=../../config/config.hjson
RUST_BACKTRACE=1 \
cargo test --workspace --no-fail-fast