diff --git a/ALL_README.md b/ALL_README.md
index 77b7509..152f2e7 100644
--- a/ALL_README.md
+++ b/ALL_README.md
@@ -1,6 +1,8 @@
# All available README files by language
- [Read the README in English](README.md)
+- [Lea el README en español](README_es.md)
- [Irakurri README euskaraz](README_eu.md)
- [Lire le README en français](README_fr.md)
- [Le o README en galego](README_gl.md)
+- [阅读中文(简体)的 README](README_zh_Hans.md)
diff --git a/README.md b/README.md
index 649efab..f11f9a7 100644
--- a/README.md
+++ b/README.md
@@ -18,7 +18,7 @@ It shall NOT be edited by hand.
MicroBin is a super tiny, feature rich, configurable, self-contained and self-hosted paste bin web application. It is very easy to set up and use, and will only require a few megabytes of memory and disk storage.
-**Shipped version:** 2.0.4~ynh1
+**Shipped version:** 2.0.4~ynh2
**Demo:**
diff --git a/README_es.md b/README_es.md
new file mode 100644
index 0000000..48de17f
--- /dev/null
+++ b/README_es.md
@@ -0,0 +1,48 @@
+
+
+# MicroBin para Yunohost
+
+[](https://dash.yunohost.org/appci/app/microbin)  
+
+[](https://install-app.yunohost.org/?app=microbin)
+
+*[Leer este README en otros idiomas.](./ALL_README.md)*
+
+> *Este paquete le permite instalarMicroBin rapidamente y simplement en un servidor YunoHost.*
+> *Si no tiene YunoHost, visita [the guide](https://yunohost.org/install) para aprender como instalarla.*
+
+## Descripción general
+
+MicroBin is a super tiny, feature rich, configurable, self-contained and self-hosted paste bin web application. It is very easy to set up and use, and will only require a few megabytes of memory and disk storage.
+
+**Versión actual:** 2.0.4~ynh2
+
+**Demo:**
+
+## Capturas
+
+
+
+## Documentaciones y recursos
+
+- Sitio web oficial:
+- Repositorio del código fuente oficial de la aplicación :
+- Catálogo YunoHost:
+- Reportar un error:
+
+## Información para desarrolladores
+
+Por favor enviar sus correcciones a la [`branch testing`](https://github.com/YunoHost-Apps/microbin_ynh/tree/testing
+
+Para probar la rama `testing`, sigue asÍ:
+
+```bash
+sudo yunohost app install https://github.com/YunoHost-Apps/microbin_ynh/tree/testing --debug
+o
+sudo yunohost app upgrade microbin -u https://github.com/YunoHost-Apps/microbin_ynh/tree/testing --debug
+```
+
+**Mas informaciones sobre el empaquetado de aplicaciones:**
diff --git a/README_eu.md b/README_eu.md
index 609c323..05dafe6 100644
--- a/README_eu.md
+++ b/README_eu.md
@@ -18,7 +18,7 @@ EZ editatu eskuz.
MicroBin is a super tiny, feature rich, configurable, self-contained and self-hosted paste bin web application. It is very easy to set up and use, and will only require a few megabytes of memory and disk storage.
-**Paketatutako bertsioa:** 2.0.4~ynh1
+**Paketatutako bertsioa:** 2.0.4~ynh2
**Demoa:**
diff --git a/README_fr.md b/README_fr.md
index 697ca04..bdd7805 100644
--- a/README_fr.md
+++ b/README_fr.md
@@ -18,7 +18,7 @@ Il NE doit PAS être modifié à la main.
MicroBin est une application Web riche en fonctionnalités, configurable, autonome et auto-hébergée. Elle est très simple à configurer et à utiliser et ne nécessitera que quelques mégaoctets de mémoire et de stockage sur disque.
-**Version incluse :** 2.0.4~ynh1
+**Version incluse :** 2.0.4~ynh2
**Démo :**
diff --git a/README_gl.md b/README_gl.md
index 23688b4..781a2c4 100644
--- a/README_gl.md
+++ b/README_gl.md
@@ -18,7 +18,7 @@ NON debe editarse manualmente.
MicroBin is a super tiny, feature rich, configurable, self-contained and self-hosted paste bin web application. It is very easy to set up and use, and will only require a few megabytes of memory and disk storage.
-**Versión proporcionada:** 2.0.4~ynh1
+**Versión proporcionada:** 2.0.4~ynh2
**Demo:**
diff --git a/README_zh_Hans.md b/README_zh_Hans.md
new file mode 100644
index 0000000..55993d5
--- /dev/null
+++ b/README_zh_Hans.md
@@ -0,0 +1,48 @@
+
+
+# YunoHost 上的 MicroBin
+
+[](https://dash.yunohost.org/appci/app/microbin)  
+
+[](https://install-app.yunohost.org/?app=microbin)
+
+*[阅读此 README 的其它语言版本。](./ALL_README.md)*
+
+> *通过此软件包,您可以在 YunoHost 服务器上快速、简单地安装 MicroBin。*
+> *如果您还没有 YunoHost,请参阅[指南](https://yunohost.org/install)了解如何安装它。*
+
+## 概况
+
+MicroBin is a super tiny, feature rich, configurable, self-contained and self-hosted paste bin web application. It is very easy to set up and use, and will only require a few megabytes of memory and disk storage.
+
+**分发版本:** 2.0.4~ynh2
+
+**演示:**
+
+## 截图
+
+
+
+## 文档与资源
+
+- 官方应用网站:
+- 上游应用代码库:
+- YunoHost 商店:
+- 报告 bug:
+
+## 开发者信息
+
+请向 [`testing` 分支](https://github.com/YunoHost-Apps/microbin_ynh/tree/testing) 发送拉取请求。
+
+如要尝试 `testing` 分支,请这样操作:
+
+```bash
+sudo yunohost app install https://github.com/YunoHost-Apps/microbin_ynh/tree/testing --debug
+或
+sudo yunohost app upgrade microbin -u https://github.com/YunoHost-Apps/microbin_ynh/tree/testing --debug
+```
+
+**有关应用打包的更多信息:**
diff --git a/conf/.env b/conf/.env
new file mode 100644
index 0000000..55e942f
--- /dev/null
+++ b/conf/.env
@@ -0,0 +1,237 @@
+# Require username for HTTP Basic Authentication when
+# visiting the service. If basic auth username is set but
+# basic auth password is not, just leave the password field
+# empty when logging in. You can also just go to
+# https://username:password@yourserver.net or
+# https://username@yourserver.net if password is not set
+# instead of typing into the password
+# Default value: unset
+# MICROBIN_BASIC_AUTH_USERNAME=
+
+# Require password for HTTP Basic Authentication when
+# visiting the service. Will not have any affect unless
+# basic auth username is also set. If basic auth username is
+# set but basic auth password is not, just leave the
+# password field empty when logging in. You can also just go
+# to https://username:password@yourserver.net or
+# https://username@yourserver.net if password is not set
+# instead of typing into the password prompt.
+# Default value: unset
+# MICROBIN_BASIC_AUTH_PASSWORD=
+
+# Enables administrator interface at yourserver.com/admin/
+# if set, disables it if unset. If admin username is set but
+# admin password is not, just leave the password field empty
+# when logging in.
+# Default value: admin
+MICROBIN_ADMIN_USERNAME=__ADMIN__
+
+# Enables administrator interface at yourserver.com/admin/
+# if set, disables it if unset. Will not have any affect
+# unless admin username is also set. If admin username is
+# set but admin password is not, just leave the password
+# field empty when logging in.
+# Default value: m1cr0b1n
+MICROBIN_ADMIN_PASSWORD=__PASSWORD__
+
+# Enables editable pastas. You will still be able to make
+# finalised pastas but there will be an extra checkbox to
+# make your new pasta editable from the pasta list or the
+# pasta view page.
+# Default value: 8080
+MICROBIN_EDITABLE=true
+
+# Replaces the default footer text with your own. If you
+# want to hide the footer, use the hide footer option instead.
+# Note that you can also embed HTML here, so you may want to escape
+# '<', '>' and so on.
+# MICROBIN_FOOTER_TEXT=
+
+# Hides the navigation bar on every page.
+# Default value: false
+MICROBIN_HIDE_HEADER=false
+
+# Hides the footer on every page.
+# Default value: false
+MICROBIN_HIDE_FOOTER=false
+
+# Hides the MicroBin logo from the navigation bar on every
+# page.
+# Default value: false
+MICROBIN_HIDE_LOGO=false
+
+# Disables the /pastalist endpoint, essentially making all
+# pastas private.
+# Default value: false
+MICROBIN_NO_LISTING=false
+
+# Enables syntax highlighting support. When creating a new
+# pasta, a new dropdown selector will be added where you can
+# select your pasta's syntax, or just leave it empty for no
+# highlighting.
+MICROBIN_HIGHLIGHTSYNTAX=true
+
+# Sets the port for the server will be listening on.
+# Default value: 8080
+MICROBIN_PORT=__PORT__
+
+# Sets the bind address for the server will be listening on.
+# Both ipv4 and ipv6 are supported. Default value: "0.0.0.0".
+# Example value: "myserver.net", "127.0.0.1".
+MICROBIN_BIND="127.0.0.1"
+
+# Enables private pastas. Adds a new checkbox to make your
+# pasta private, which then won't show up on the pastalist
+# page. With the URL to your pasta, it will still be
+# accessible.
+# Default value: false
+MICROBIN_PRIVATE=true
+
+# DEPRECATED: Will be removed soon. If you want to change styling (incl. removal), use custom CSS variable instead.
+# Disables main CSS styling, just uses a few in-line
+# stylings for the layout. With this option you will lose
+# dark-mode support.
+MICROBIN_PURE_HTML=false
+
+# Sets the name of the directory where MicroBin creates
+# its database and stores attachments.
+# Default value: microbin_data
+MICROBIN_DATA_DIR="__DATA_DIR__"
+
+# Enables storing pasta data (not attachments and files) in
+# a JSON file instead of the SQLite database.
+# Default value: false
+MICROBIN_JSON_DB=false
+
+# Add the given public path prefix to all urls. This allows
+# you to host MicroBin behind a reverse proxy on a subpath.
+# Note that MicroBin itself still expects all routes to be
+# as without this option, and thus is unsuited if you are
+# running MicroBin directly. Default value: unset. Example
+# values: https://myserver.com/ or https://192.168.0.10:8080/
+MICROBIN_PUBLIC_PATH=https://__DOMAIN__/
+
+# Sets a shortened path to use when the user copies URL from
+# the application. This will also use shorter endpoints,
+# such as /p/ instead if /pasta/. Default value:
+# unset.Example value: https://b.in/ export
+# MICROBIN_SHORT_PATH=
+
+# The password required for uploading, if read-only mode is enabled
+# Default value: unset
+# MICROBIN_UPLOADER_PASSWORD=
+
+# If set to true, authentication required for uploading
+# Default value: false
+MICROBIN_READONLY=true
+
+# Enables showing read count on pasta pages.
+# Default value: false
+MICROBIN_SHOW_READ_STATS=true
+
+# Adds your title of choice to the
+# navigation bar.
+# Default value: unset
+# MICROBIN_TITLE=
+
+# Number of workers MicroBin is allowed to have. Increase
+# this to the number of CPU cores you have if you want to go
+# beast mode, but for personal use one worker is enough.
+# Default value: 1.
+MICROBIN_THREADS=1
+
+# Sets the garbage collector time limit. Pastas not accessed
+# for N days are removed even if they are set to never
+# expire.
+# Default value: 90.
+# To turn off GC: 0.
+MICROBIN_GC_DAYS=90
+
+# Enables or disables the "Burn after" function
+# Default value: false
+MICROBIN_ENABLE_BURN_AFTER=true
+
+# Sets the default burn after setting on the main screen.
+# Default value: 0. Available expiration options: 1, 10,
+# 100, 1000, 10000, 0 (= no limit)
+MICROBIN_DEFAULT_BURN_AFTER=0
+
+# Changes the maximum width of the UI from 720 pixels to
+# 1080 pixels.
+# Default value: false
+MICROBIN_WIDE=false
+
+# Enables generating QR codes for pastas. Requires
+# the public path to also be set.
+# Default value: false
+MICROBIN_QR=true
+
+# Toggles "Never" expiry settings for pastas. Default
+# value: false
+MICROBIN_ETERNAL_PASTA=false
+
+# Enables "Read-only" uploads. These are unlisted and
+# unencrypted, but can be viewed without password if you
+# have the URL. Editing and removing requires password.
+# Default value: true
+MICROBIN_ENABLE_READONLY=true
+
+# Sets the default expiry time setting on the main screen.
+# Default value: 24hour Available expiration options: 1min,
+# 10min, 1hour, 24hour, 1week, never
+MICROBIN_DEFAULT_EXPIRY=24hour
+
+# Disables and hides the file upload option in the UI.
+# Default value: false
+MICROBIN_NO_FILE_UPLOAD=false
+
+# Replaced the built-in water.css stylesheet with the URL
+# you provide. Default value: unset. Example value:
+# https://myserver.net/public/mystyle.css
+# MICROBIN_CUSTOM_CSS=
+
+# Use short hash strings in the URLs instead of animal names
+# to make URLs shorter. Does not change the underlying data
+# stored, just how pastas are recalled.
+# Default value: false
+MICROBIN_HASH_IDS=false
+
+# Enables server-side encryption. This will add private
+# privacy level, where the user sends plain unencrypted data
+# (still secure, because you use HTTPS, right?), but the
+# server sees everything that the user submits, therefore
+# the user does not have complete and absolute protection.
+# Default value: false
+MICROBIN_ENCRYPTION_CLIENT_SIDE=true
+
+# Enables client-side encryption. This will add the secret
+# privacy level where the user's browser encrypts all data
+# with JavaScript before sending it over to MicroBin, which
+# encrypt the data once again on server side.
+# Default value: false
+MICROBIN_ENCRYPTION_SERVER_SIDE=true
+
+# Limit the maximum file size users can upload without
+# encryption. Default value: 256.
+MICROBIN_MAX_FILE_SIZE_ENCRYPTED_MB=256
+
+# Limit the maximum file size users can upload with
+# encryption (more strain on your server than without
+# encryption, so the limit should be lower. Secrets tend to
+# be tiny files usually anyways.) Default value: 2048.
+MICROBIN_MAX_FILE_SIZE_UNENCRYPTED_MB=2048
+
+# Disables the feature that checks for available updates
+# when opening the admin screen.
+# Default value: false
+MICROBIN_DISABLE_UPDATE_CHECKING=false
+
+# Disables telemetry if set to true.
+# Telemetry includes your configuration and helps development.
+# It does not include any sensitive data.
+# Default value: false
+MICROBIN_DISABLE_TELEMETRY=true
+
+# Enables listing your server in the public MicroBin server list.
+# Default value: false
+MICROBIN_LIST_SERVER=false
\ No newline at end of file
diff --git a/conf/systemd.service b/conf/systemd.service
index 0111896..0abf708 100644
--- a/conf/systemd.service
+++ b/conf/systemd.service
@@ -6,38 +6,7 @@ After=network.target
Type=simple
User=__APP__
Group=__APP__
-Environment="MICROBIN_ADMIN_USERNAME=__ADMIN__"
-Environment="MICROBIN_ADMIN_PASSWORD=__PASSWORD__"
-Environment="MICROBIN_PORT=__PORT__"
-Environment="MICROBIN_BIND=127.0.0.1"
-# Environment="MICROBIN_PUBLIC_PATH=https://__DOMAIN__"
-# Environment="MICROBIN_SHORT_PATH=https://short.net"
-Environment="MICROBIN_DATA_DIR=__DATA_DIR__
-Environment="MICROBIN_JSON_DB=false"
-Environment="MICROBIN_EDITABLE=true"
-Environment="MICROBIN_HIDE_HEADER=false"
-Environment="MICROBIN_HIDE_FOOTER=true"
-Environment="MICROBIN_HIDE_LOGO=false"
-Environment="MICROBIN_NO_LISTING=false"
-Environment="MICROBIN_READONLY=false"
-Environment="MICROBIN_SHOW_READ_STATS=true"
-Environment="MICROBIN_THREADS=1"
-Environment="MICROBIN_GC_DAYS=90"
-Environment="MICROBIN_WIDE=false"
-Environment="MICROBIN_ETERNAL_PASTA=false"
-Environment="MICROBIN_PRIVATE=true"
-Environment="MICROBIN_HIGHLIGHTSYNTAX=true"
-Environment="MICROBIN_QR=true"
-Environment="MICROBIN_ENABLE_BURN_AFTER=true"
-Environment="MICROBIN_ENABLE_READONLY=true"
-Environment="MICROBIN_DEFAULT_EXPIRY=24hour"
-Environment="MICROBIN_NO_FILE_UPLOAD=false"
-Environment="MICROBIN_HASH_IDS=false"
-Environment="MICROBIN_ENCRYPTION_CLIENT_SIDE=true"
-Environment="MICROBIN_ENCRYPTION_SERVER_SIDE=true"
-Environment="MICROBIN_MAX_FILE_SIZE_ENCRYPTED_MB=256"
-Environment="MICROBIN_MAX_FILE_SIZE_UNENCRYPTED_MB=2048"
-Environment="MICROBIN_DISABLE_TELEMETRY=true"
+EnvironmentFile=__INSTALL_DIR__/.env
WorkingDirectory=__INSTALL_DIR__/
ExecStart=__INSTALL_DIR__/microbin
diff --git a/manifest.toml b/manifest.toml
index ac93646..a907127 100644
--- a/manifest.toml
+++ b/manifest.toml
@@ -7,7 +7,7 @@ name = "MicroBin"
description.en = "Configurable file-sharing and URL shortening web app"
description.fr = "Application Web sécurisée et configurable de partage de fichiers et de raccourcissement d'URL"
-version = "2.0.4~ynh1"
+version = "2.0.4~ynh2"
maintainers = ["eric_G"]
@@ -56,6 +56,8 @@ ram.runtime = "50M"
url = "https://github.com/szabodanika/microbin/releases/download/v2.0.4/microbin-v2.0.4-x86_64-unknown-linux-musl.tar.gz"
sha256 = "ccfc69c5ab33cc79c56da0cea55e68a5b93f19fd68ac028a00e9d09bcf5575b6"
+ autoupdate.strategy = "latest_github_tag"
+
[resources.system_user]
[resources.install_dir]
diff --git a/scripts/install b/scripts/install
index dd291c6..0371e37 100755
--- a/scripts/install
+++ b/scripts/install
@@ -24,6 +24,16 @@ ynh_setup_source --dest_dir="$install_dir"
chown -R "$app:www-data" "$install_dir"
chmod +x "$install_dir/microbin"
+#=================================================
+# APP INITIAL CONFIGURATION
+#=================================================
+ynh_script_progression --message="Adding $app's configuration files..." --weight=1
+
+ynh_add_config --template=".env" --destination="$install_dir/.env"
+
+chmod 400 "$install_dir/.env"
+chown "$app:$app" "$install_dir/.env"
+
#=================================================
# SYSTEM CONFIGURATION
#=================================================
diff --git a/scripts/upgrade b/scripts/upgrade
index 9053280..4462a8f 100755
--- a/scripts/upgrade
+++ b/scripts/upgrade
@@ -25,6 +25,16 @@ ynh_setup_source --dest_dir="$install_dir"
chown -R "$app:www-data" "$install_dir"
chmod +x "$install_dir/microbin"
+#=================================================
+# UPDATE A CONFIG FILE
+#=================================================
+ynh_script_progression --message="Updating $app's configuration files..." --weight=1
+
+ynh_add_config --template=".env" --destination="$install_dir/.env"
+
+chmod 400 "$install_dir/.env"
+chown "$app:$app" "$install_dir/.env"
+
#=================================================
# REAPPLY SYSTEM CONFIGURATIONS
#=================================================