diff --git a/README.md b/README.md index 16affce..b8a66ca 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,7 @@ It shall NOT be edited by hand. # GoToSocial for YunoHost [![Integration level](https://dash.yunohost.org/integration/gotosocial.svg)](https://dash.yunohost.org/appci/app/gotosocial) ![Working status](https://ci-apps.yunohost.org/ci/badges/gotosocial.status.svg) ![Maintenance status](https://ci-apps.yunohost.org/ci/badges/gotosocial.maintain.svg) + [![Install GoToSocial with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=gotosocial) *[Lire ce readme en français.](./README_fr.md)* @@ -24,7 +25,7 @@ With GoToSocial, you can keep in touch with your friends, post, read, and share Documentation is at [docs.gotosocial.org](https://docs.gotosocial.org). -**Shipped version:** 0.6.0~ynh1 +**Shipped version:** 0.7.1~ynh1 ## Screenshots diff --git a/README_fr.md b/README_fr.md index f1f68c7..afc77f5 100644 --- a/README_fr.md +++ b/README_fr.md @@ -6,6 +6,7 @@ It shall NOT be edited by hand. # GoToSocial pour YunoHost [![Niveau d’intégration](https://dash.yunohost.org/integration/gotosocial.svg)](https://dash.yunohost.org/appci/app/gotosocial) ![Statut du fonctionnement](https://ci-apps.yunohost.org/ci/badges/gotosocial.status.svg) ![Statut de maintenance](https://ci-apps.yunohost.org/ci/badges/gotosocial.maintain.svg) + [![Installer GoToSocial avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=gotosocial) *[Read this readme in english.](./README.md)* @@ -24,7 +25,7 @@ Avec GoToSocial, vous pouvez rester en contact avec vos amis, publier, lire et p Vous pouvez consulter la documentation à l'adresse : [docs.gotosocial.org](https://docs.gotosocial.org). -**Version incluse :** 0.6.0~ynh1 +**Version incluse :** 0.7.1~ynh1 ## Captures d’écran diff --git a/check_process b/check_process index 29bba52..6035d12 100644 --- a/check_process +++ b/check_process @@ -5,7 +5,6 @@ ;; Test complet ; Manifest - domain="goto.domain.tld" admin="xana" email="user@example.com" password="1Strong-Password" @@ -21,6 +20,7 @@ upgrade=1 from_commit=29c7d0df5dd6e3d90070f242b74cce980676cd72 upgrade=1 from_commit=5c1c052995a10d899abcb0e4d4fa1c1dc35f84a5 upgrade=1 from_commit=1b6c1c62e022f04afa02bf128f419e77a72bf1e9 + upgrade=1 from_commit=9a6d018337c7d83193282830ff9d9e9b0ae3a733 backup_restore=1 multi_instance=1 port_already_use=1 @@ -34,4 +34,6 @@ Notification=none ; commit=5c1c052995a10d899abcb0e4d4fa1c1dc35f84a5 name=v0.4.0~ynh1 ; commit=1b6c1c62e022f04afa02bf128f419e77a72bf1e9 - name=0.5.2~ynh2 \ No newline at end of file + name=0.5.2~ynh2 + ; commit=9a6d018337c7d83193282830ff9d9e9b0ae3a733 + name=0.6.0~ynh1 \ No newline at end of file diff --git a/conf/arm64.src b/conf/arm64.src index 1d614fc..5352ec0 100644 --- a/conf/arm64.src +++ b/conf/arm64.src @@ -1,7 +1,7 @@ -SOURCE_URL=https://github.com/superseriousbusiness/gotosocial/releases/download/v0.6.0/gotosocial_0.6.0_linux_arm64.tar.gz -SOURCE_SUM=a97b3aad81f72b990e9982686e6906599522cc8ec442d1e2d02ebba03b125168 +SOURCE_URL=https://github.com/superseriousbusiness/gotosocial/releases/download/v0.7.1/gotosocial_0.7.1_linux_arm64.tar.gz +SOURCE_SUM=6f60b13214e51da38336333dc780611729a66fc894d7093aef9c49c9a5e48bab SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=tar.gz SOURCE_EXTRACT=true SOURCE_IN_SUBDIR=false -SOURCE_FILENAME=gotosocial_0.6.0_linux_arm64.tar.gz +SOURCE_FILENAME=gotosocial_0.7.1_linux_arm64.tar.gz diff --git a/conf/armv6.src b/conf/armv6.src index 03fc737..c7d5b71 100644 --- a/conf/armv6.src +++ b/conf/armv6.src @@ -1,7 +1,7 @@ -SOURCE_URL=https://github.com/superseriousbusiness/gotosocial/releases/download/v0.6.0/gotosocial_0.6.0_linux_armv6.tar.gz -SOURCE_SUM=10e3d227e738fd58ee6a1dca778667dbbc63933640a168b9cc5fc97203c7f26c +SOURCE_URL=https://github.com/superseriousbusiness/gotosocial/releases/download/v0.7.1/gotosocial_0.7.1_linux_armv6.tar.gz +SOURCE_SUM=582a9b0cefb62039a737aa1fb0a08bd3d917d679db473d15042dcbcb6bc88cf4 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=tar.gz SOURCE_EXTRACT=true SOURCE_IN_SUBDIR=false -SOURCE_FILENAME=gotosocial_0.6.0_linux_armv6.tar.gz +SOURCE_FILENAME=gotosocial_0.7.1_linux_armv6.tar.gz diff --git a/conf/armv7.src b/conf/armv7.src index adf827d..8b899cc 100644 --- a/conf/armv7.src +++ b/conf/armv7.src @@ -1,7 +1,7 @@ -SOURCE_URL=https://github.com/superseriousbusiness/gotosocial/releases/download/v0.6.0/gotosocial_0.6.0_linux_armv7.tar.gz -SOURCE_SUM=e9f1cc03b18faeae2009781c6a2f6f9138c37aa85f4b2c5954c12a4798ed6208 +SOURCE_URL=https://github.com/superseriousbusiness/gotosocial/releases/download/v0.7.1/gotosocial_0.7.1_linux_armv7.tar.gz +SOURCE_SUM=a9cd301bffecf4d863419fc614be50f890e577960a1db529799f97cf1e8ee4b9 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=tar.gz SOURCE_EXTRACT=true SOURCE_IN_SUBDIR=false -SOURCE_FILENAME=gotosocial_0.6.0_linux_armv7.tar.gz +SOURCE_FILENAME=gotosocial_0.7.1_linux_armv7.tar.gz diff --git a/conf/config.yaml b/conf/config.yaml index 3a1c976..c4b3895 100644 --- a/conf/config.yaml +++ b/conf/config.yaml @@ -1,5 +1,5 @@ # GoToSocial -# Copyright (C) 2021-2022 GoToSocial Authors admin@gotosocial.org +# Copyright (C) 2021-2023 GoToSocial Authors admin@gotosocial.org # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -77,9 +77,11 @@ protocol: "https" # String. Address to bind the GoToSocial server to. # This can be an IPv4 address or an IPv6 address (surrounded in square brackets), or a hostname. -# Default value will bind to all interfaces. -# You probably won't need to change this unless you're setting GoToSocial up in some fancy way or -# you have specific networking requirements. +# The default value will bind to all interfaces, which makes the server +# accessible by other machines. For most setups there is no need to change this. +# If you are using GoToSocial in a reverse proxy setup with the proxy running on +# the same machine, you will want to set this to "localhost" or an equivalent, +# so that the proxy can't be bypassed. # Examples: ["0.0.0.0", "172.128.0.16", "localhost", "[::]", "[2001:db8::fed1]"] # Default: "0.0.0.0" bind-address: "0.0.0.0" @@ -163,6 +165,125 @@ db-tls-mode: "disable" # Default: "" db-tls-ca-cert: "" +# Int. Number to multiply by CPU count to set permitted total of open database connections (in-use and idle). +# You can use this setting to tune your database connection behavior, though most admins won't need to touch it. +# +# Example values for multiplier 8: +# +# 1 cpu = 08 open connections +# 2 cpu = 16 open connections +# 4 cpu = 32 open connections +# +# Example values for multiplier 4: +# +# 1 cpu = 04 open connections +# 2 cpu = 08 open connections +# 4 cpu = 16 open connections +# +# A multiplier of 8 is a sensible default, but you may wish to increase this for instances +# running on very performant hardware, or decrease it for instances using v. slow CPUs. +# +# If you set the multiplier to less than 1, only one open connection will be used regardless of cpu count. +# +# PLEASE NOTE!!: This setting currently only applies for Postgres. SQLite will always use 1 connection regardless +# of what is set here. This behavior will change in future when we implement better SQLITE_BUSY handling. +# See https://github.com/superseriousbusiness/gotosocial/issues/1407 for more details. +# +# Examples: [16, 8, 10, 2] +# Default: 8 +db-max-open-conns-multiplier: 8 + +# String. SQLite journaling mode. +# SQLite only -- unused otherwise. +# If set to empty string, the sqlite default will be used. +# See: https://www.sqlite.org/pragma.html#pragma_journal_mode +# Examples: ["DELETE", "TRUNCATE", "PERSIST", "MEMORY", "WAL", "OFF"] +# Default: "WAL" +db-sqlite-journal-mode: "WAL" + +# String. SQLite synchronous mode. +# SQLite only -- unused otherwise. +# If set to empty string, the sqlite default will be used. +# See: https://www.sqlite.org/pragma.html#pragma_synchronous +# Examples: ["OFF", "NORMAL", "FULL", "EXTRA"] +# Default: "NORMAL" +db-sqlite-synchronous: "NORMAL" + +# Byte size. SQlite cache size. +# SQLite only -- unused otherwise. +# If set to empty string or zero, the sqlite default (2MiB) will be used. +# See: https://www.sqlite.org/pragma.html#pragma_cache_size +# Examples: ["0", "2MiB", "8MiB", "64MiB"] +# Default: "8MiB" +db-sqlite-cache-size: "8MiB" + +# Duration. SQlite busy timeout. +# SQLite only -- unused otherwise. +# If set to empty string or zero, the sqlite default will be used. +# See: https://www.sqlite.org/pragma.html#pragma_busy_timeout +# Examples: ["0s", "1s", "30s", "1m", "5m"] +# Default: "5s" +db-sqlite-busy-timeout: "5m" + +cache: + gts: + ########################### + #### DATABASE CACHES ###### + ########################### + # + # Database cache configuration: + # + # Allows configuration of caches used + # when loading GTS models from the database. + # + # max-size = maximum cached objects count + # ttl = cached object lifetime + # sweep-freq = frequency to look for stale cache objects + + account-max-size: 100 + account-ttl: "5m" + account-sweep-freq: "10s" + + block-max-size: 100 + block-ttl: "5m" + block-sweep-freq: "10s" + + domain-block-max-size: 1000 + domain-block-ttl: "24h" + domain-block-sweep-freq: "1m" + + emoji-max-size: 500 + emoji-ttl: "5m" + emoji-sweep-freq: "10s" + + emoji-category-max-size: 100 + emoji-category-ttl: "5m" + emoji-category-sweep-freq: "10s" + + mention-max-size: 500 + mention-ttl: "5m" + mention-sweep-freq: "10s" + + notification-max-size: 500 + notification-ttl: "5m" + notification-sweep-freq: "10s" + + report-max-size: 100 + report-ttl: "5m" + report-sweep-freq: "10s" + + status-max-size: 500 + status-ttl: "5m" + status-sweep-freq: "10s" + + tombstone-max-size: 100 + tombstone-ttl: "5m" + tombstone-sweep-freq: "10s" + + user-max-size: 100 + user-ttl: "5m" + user-sweep-freq: "10s" + ###################### ##### WEB CONFIG ##### ###################### @@ -200,6 +321,12 @@ instance-expose-peers: __INSTANCE_EXPOSE_PEERS__ # Default: false instance-expose-suspended: __INSTANCE_EXPOSE_SUSPENDED__ +# Bool. Allow unauthenticated users to view /about/suspended, +# showing the HTML rendered list of instances that this instance blocks/suspends. +# Options: [true, false] +# Default: false +instance-expose-suspended-web: __INSTANCE_EXPOSE_SUSPENDED_WEB__ + # Bool. Allow unauthenticated users to make queries to /api/v1/timelines/public in order # to see a list of public posts on this server. Even if set to 'false', then authenticated # users (members of the instance) will still be able to query the endpoint. @@ -332,6 +459,8 @@ storage-local-base-path: "__DATADIR__" # String. API endpoint of the S3 compatible service. # Only required when running with the s3 storage backend. # Examples: ["minio:9000", "s3.nl-ams.scw.cloud", "s3.us-west-002.backblazeb2.com"] +# GoToSocial uses "DNS-style" when accessing buckets. +# If you are using Scaleways object storage, please remove the "bucket name" from the endpoint address # Default: "" storage-s3-endpoint: "__STORAGE_S3_ENDPOINT__" @@ -340,6 +469,13 @@ storage-s3-endpoint: "__STORAGE_S3_ENDPOINT__" # Default: false storage-s3-proxy: __STORAGE_S3_PROXY__ +# Bool. Use SSL for S3 connections. +# +# Only set this to 'false' when testing locally. +# +# Default: true +storage-s3-use-ssl: true + # String. Access key part of the S3 credentials. # Consider setting this value using environment variables to avoid leaking it via the config file # Only required when running with the s3 storage backend. @@ -491,6 +627,13 @@ oidc-scopes: - "profile" - "groups" +# Bool. Link OIDC authenticated users to existing ones based on their email address. +# This is mostly intended for migration purposes if you were running previous versions of GTS +# which only correlated users with their email address. Should be set to false for most usecases. +# Options: [true, false] +# Default: false +oidc-link-existing: false + ####################### ##### SMTP CONFIG ##### ####################### @@ -578,9 +721,8 @@ syslog-address: "localhost:514" # Default: "lax" advanced-cookies-samesite: "__ADVANCED_COOKIES_SAMESITE__" -# Int. Amount of requests to permit from a single IP address within a span of 5 minutes. -# If this amount is exceeded, a 429 HTTP error code will be returned. -# See https://docs.gotosocial.org/en/latest/api/swagger/#rate-limit. +# Int. Amount of requests to permit per router grouping from a single IP address within +# a span of 5 minutes. If this amount is exceeded, a 429 HTTP error code will be returned. # # If you find yourself adjusting this limit because it's regularly being exceeded, # you should first verify that your settings for `trusted-proxies` (above) are correct. @@ -594,3 +736,38 @@ advanced-cookies-samesite: "__ADVANCED_COOKIES_SAMESITE__" # Examples: [1000, 500, 0] # Default: 1000 advanced-rate-limit-requests: __ADVANCED_RATE_LIMIT_REQUESTS__ + +# Int. Amount of open requests to permit per CPU, per router grouping, before applying http +# request throttling. Any requests beyond the calculated limit are held in a backlog queue for +# up to 30 seconds before either being processed or timing out. Requests that don't fit in the backlog +# queue will have status 503 returned to them, and the header 'Retry-After' will be set to 30 seconds. +# +# Open request limit is available CPUs * multiplier; backlog queue limit is limit * multiplier. +# +# Example values for multiplier 8: +# +# 1 cpu = 08 open, 064 backlog +# 2 cpu = 16 open, 128 backlog +# 4 cpu = 32 open, 256 backlog +# +# Example values for multiplier 4: +# +# 1 cpu = 04 open, 016 backlog +# 2 cpu = 08 open, 032 backlog +# 4 cpu = 16 open, 064 backlog +# +# A multiplier of 8 is a sensible default, but you may wish to increase this for instances +# running on very performant hardware, or decrease it for instances using v. slow CPUs. +# +# If you set this to 0 or less, http request throttling will be disabled entirely. +# +# Examples: [8, 4, 9, 0] +# Default: 8 +advanced-throttling-multiplier: 8 + +# Duration. Time period to use as the "retry-after" header value in response to throttled requests. +# Minimum resolution is 1 second. +# +# Examples: [30s, 10s, 5s, 1m] +# Default: 30s +advanced-throttling-retry-after: "30s" \ No newline at end of file diff --git a/conf/i386.src b/conf/i386.src index a6df2ed..3cf2f7b 100644 --- a/conf/i386.src +++ b/conf/i386.src @@ -1,7 +1,7 @@ -SOURCE_URL=https://github.com/superseriousbusiness/gotosocial/releases/download/v0.6.0/gotosocial_0.6.0_linux_386.tar.gz -SOURCE_SUM=228cf5dac5f8fda9a9711963b6834ca782ed553207e78dc6f8132f30c4aa318f +SOURCE_URL=https://github.com/superseriousbusiness/gotosocial/releases/download/v0.7.1/gotosocial_0.7.1_linux_386.tar.gz +SOURCE_SUM=864ac0cf58623fe77b4f9de7e90d038ab589cf80026df3866b5a5fb0893cd24c SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=tar.gz SOURCE_EXTRACT=true SOURCE_IN_SUBDIR=false -SOURCE_FILENAME=gotosocial_0.6.0_linux_386.tar.gz +SOURCE_FILENAME=gotosocial_0.7.1_linux_386.tar.gz diff --git a/conf/nginx.conf b/conf/nginx.conf index a6db09c..1a4cd60 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -1,4 +1,3 @@ -#sub_path_only rewrite ^__PATH__$ __PATH__/ permanent; location __PATH__/ { proxy_http_version 1.1; diff --git a/conf/x86-64.src b/conf/x86-64.src index 7f3b436..b53064c 100644 --- a/conf/x86-64.src +++ b/conf/x86-64.src @@ -1,7 +1,7 @@ -SOURCE_URL=https://github.com/superseriousbusiness/gotosocial/releases/download/v0.6.0/gotosocial_0.6.0_linux_amd64.tar.gz -SOURCE_SUM=4d7e2a569b625e5854ff00f5c0574870a3643d74821cfe7f923e0408ff3db2fc +SOURCE_URL=https://github.com/superseriousbusiness/gotosocial/releases/download/v0.7.1/gotosocial_0.7.1_linux_amd64.tar.gz +SOURCE_SUM=e19740b5cb6891d80440425d5c255089fef06b08b741dc5f115761c94a3910e7 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=tar.gz SOURCE_EXTRACT=true SOURCE_IN_SUBDIR=false -SOURCE_FILENAME=gotosocial_0.6.0_linux_amd64.tar.gz +SOURCE_FILENAME=gotosocial_0.7.1_linux_amd64.tar.gz diff --git a/config_panel.toml b/config_panel.toml index 681af8a..9541c0f 100644 --- a/config_panel.toml +++ b/config_panel.toml @@ -245,6 +245,16 @@ help.en = "Allow unauthenticated users to make queries to /api/v1/instance/peers help.fr = "Permet aux utilisateurs non authentifiés d'effectuer des requêtes API sur /api/v1/instance/peers?filter=suspended afin de voir la liste des instances bloquées ou suspendues par votre instance. Cela permettra également aux utilisateurs non authentifiés de consulter la liste via l'interface Web. Même s'il est défini à 'false', les utilisateurs authentifiés (membres de l'instance) seront toujours en mesure d'interroger l'API." type = "select" +[main.instance.instance_expose_suspended_web] +ask.en = "API: Expose suspended on Web (/about/suspended)?" +ask.fr = "API : Exposer les instances bloquées sur le Web (/about/suspended) ?" +bind = "instance-expose-suspended_web:__FINALPATH__/config.yaml" +choices = ["true", "false"] +default = "false" +help.en = "Allow unauthenticated users to view /about/suspended, showing the HTML rendered list of instances that this instance blocks/suspends." +help.fr = "Permet aux utilisateurs non authentifiés d'afficher /about/suspended, montrant la liste rendue en HTML des instances que cette instance bloque ou suspend." +type = "select" + [main.instance.instance_expose_public_timeline] ask.en = "API: Expose public timeline?" ask.fr = "API : Exposer la timeline publique ?" @@ -296,8 +306,8 @@ type = "select" ask.en = "Amount of requests to permit from a single IP address within a span of 5 minutes." ask.fr = "Nombre de requêtes autorisées à partir d'une seule adresse IP dans un délai de 5 minutes." bind = "advanced-rate-limit-requests:__FINALPATH__/config.yaml" -default = "1000" -help.en = """Default: 1000\ +default = "300" +help.en = """Default: 300\ If this amount is exceeded, a 429 HTTP error code will be returned.\ See https://docs.gotosocial.org/en/latest/api/swagger/#rate-limit.\ If you find yourself adjusting this limit because it's regularly being exceeded, you should first verify that your settings for `trusted-proxies` are correct.\ diff --git a/manifest.json b/manifest.json index 983e871..fa2c712 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "ActivityPub social network server", "fr": "Serveur de réseau social basé sur ActivityPub" }, - "version": "0.6.0~ynh1", + "version": "0.7.1~ynh1", "url": "https://github.com/superseriousbusiness/gotosocial", "upstream": { "license": "AGPL-3.0-only", @@ -114,4 +114,4 @@ } ] } -} \ No newline at end of file +} diff --git a/scripts/install b/scripts/install index b995941..d75df3f 100755 --- a/scripts/install +++ b/scripts/install @@ -46,6 +46,7 @@ accounts_allow_custom_css="false" instance_expose_peers="false" instance_expose_suspended="false" +instance_expose_suspended_web="false" instance_expose_public_timeline="false" instance_deliver_to_shared_inboxes="true" @@ -71,7 +72,7 @@ statuses_poll_option_max_chars="50" statuses_media_max_files="6" advanced_cookies_samesite="lax" -advanced_rate_limit_requests="1000" +advanced_rate_limit_requests="300" #================================================= # CHECK IF THE APP CAN BE INSTALLED WITH THESE ARGS @@ -109,6 +110,7 @@ ynh_app_setting_set --app="$app" --key=accounts_allow_custom_css --value="$accou ynh_app_setting_set --app="$app" --key=instance_expose_peers --value="$instance_expose_peers" ynh_app_setting_set --app="$app" --key=instance_expose_suspended --value="$instance_expose_suspended" +ynh_app_setting_set --app="$app" --key=instance_expose_suspended_web --value="$instance_expose_suspended_web" ynh_app_setting_set --app="$app" --key=instance_expose_public_timeline --value="$instance_expose_public_timeline" ynh_app_setting_set --app="$app" --key=instance_deliver_to_shared_inboxes --value="$instance_deliver_to_shared_inboxes" @@ -206,7 +208,7 @@ chown -R "$app:www-data" "$final_path" #================================================= ynh_script_progression --message="Configuring NGINX web server..." --weight=1 -# Create a dedicated NGINX config +# Create a dedicated NGINX config for the main domain ynh_add_nginx_config #================================================= diff --git a/scripts/remove b/scripts/remove index 88ddc19..3bd5e14 100755 --- a/scripts/remove +++ b/scripts/remove @@ -81,7 +81,7 @@ ynh_secure_remove --file="$datadir" #================================================= ynh_script_progression --message="Removing NGINX web server configuration..." --weight=1 -# Remove the dedicated NGINX config +# Remove the dedicated NGINX config of the main domain ynh_remove_nginx_config #================================================= diff --git a/scripts/restore b/scripts/restore index 7eff40c..0072052 100755 --- a/scripts/restore +++ b/scripts/restore @@ -46,6 +46,7 @@ datadir=$(ynh_app_setting_get --app="$app" --key=datadir) instance_expose_peers=$(ynh_app_setting_get --app="$app" --key=instance_expose_peers) instance_expose_suspended=$(ynh_app_setting_get --app="$app" --key=instance_expose_suspended) +instance_expose_suspended_web=$(ynh_app_setting_get --app="$app" --key=instance_expose_suspended_web) instance_expose_public_timeline=$(ynh_app_setting_get --app="$app" --key=instance_expose_public_timeline) instance_deliver_to_shared_inboxes=$(ynh_app_setting_get --app="$app" --key=instance_deliver_to_shared_inboxes) diff --git a/scripts/upgrade b/scripts/upgrade index 3856f6d..1aef49d 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -34,6 +34,7 @@ datadir=$(ynh_app_setting_get --app="$app" --key=datadir) instance_expose_peers=$(ynh_app_setting_get --app="$app" --key=instance_expose_peers) instance_expose_suspended=$(ynh_app_setting_get --app="$app" --key=instance_expose_suspended) +instance_expose_suspended_web=$(ynh_app_setting_get --app="$app" --key=instance_expose_suspended_web) instance_expose_public_timeline=$(ynh_app_setting_get --app="$app" --key=instance_expose_public_timeline) instance_deliver_to_shared_inboxes=$(ynh_app_setting_get --app="$app" --key=instance_deliver_to_shared_inboxes) @@ -225,6 +226,18 @@ then ynh_app_setting_set --app="$app" --key=advanced_rate_limit_requests --value="$advanced_rate_limit_requests" fi +# Upgrade from <0.7.1~ynh1: +if ynh_compare_current_package_version --comparison lt --version 0.7.1~ynh1 || [ -z "$instance_expose_suspended_web" ] +then + # updating parameters + advanced_rate_limit_requests="300" + # declaration of new parameter + instance_expose_suspended_web="false" + # registration of parameters + ynh_app_setting_set --app="$app" --key=advanced_rate_limit_requests --value="$advanced_rate_limit_requests" + ynh_app_setting_set --app="$app" --key=instance_expose_suspended_web --value="$instance_expose_suspended_web" +fi + #================================================= # CREATE DEDICATED USER #================================================= @@ -263,7 +276,7 @@ chown -R "$app:www-data" "$final_path" #================================================= ynh_script_progression --message="Upgrading NGINX web server configuration..." -# Create a dedicated NGINX config +# Create a dedicated NGINX config for the main domain ynh_add_nginx_config #=================================================