1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/snserver_ynh.git synced 2024-09-03 20:26:22 +02:00

Merge pull request #12 from YunoHost-Apps/testing

3.20.5~ynh1
This commit is contained in:
Fabian Wilkens 2021-03-23 19:10:35 +01:00 committed by GitHub
commit 141c5a718c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
37 changed files with 227 additions and 135 deletions

View file

@ -15,12 +15,12 @@ Standard Notes syncing server
You can run your own Standard Notes server and use it with any Standard Notes app. This allows you to have 100% control of your data.
**Shipped version:** 3.13.6
**Shipped version:** 3.20.5
* Apps available for free. https://standardnotes.org/
* Desktop (Windows, Mac, Linux)
* Mobile (Android and iOS)
* Web https://app.standardnotes.org/
* Self-Hosted Yunohost - Web-App https://github.com/FabianWilkens/snweb_ynh
* Self-Hosted Yunohost - Web-App https://github.com/YunoHost-Apps/snweb_ynh
> Change Sync Server Domain during Registation and Sign in
## Screenshots
@ -61,7 +61,7 @@ How to configure this app:
## Links
* Report a bug: https://github.com/FabianWilkens/snserver_ynh/issues
* Report a bug: https://github.com/YunoHost-Apps/snserver_ynh/issues
* App website: https://standardnotes.org/
* Upstream app repository: https://github.com/standardnotes/syncing-server
* YunoHost website: https://yunohost.org/
@ -72,11 +72,11 @@ Developers info
----------------
**Only if you want to use a testing branch for coding, instead of merging directly into master.**
Please do your pull request to the [testing branch](https://github.com/FabianWilkens/snserver_ynh/tree/testing).
Please do your pull request to the [testing branch](https://github.com/YunoHost-Apps/snserver_ynh/tree/testing).
To try the testing branch, please proceed like that.
```
sudo yunohost app install https://github.com/FabianWilkens/snserver_ynh/tree/testing --debug
sudo yunohost app install https://github.com/YunoHost-Apps/snserver_ynh/tree/testing --debug
or
sudo yunohost app upgrade snserver -u https://github.com/FabianWilkens/snserver_ynh/tree/testing --debug
sudo yunohost app upgrade snserver -u https://github.com/YunoHost-Apps/snserver_ynh/tree/testing --debug
```

View file

@ -17,8 +17,10 @@
setup_private=1
setup_public=1
upgrade=1
# 3.13.6~ynh4
upgrade=1 from_commit=bdb0c5049c8eacbef68059d2821353d0e0345290
# 3.13.6~ynh2
upgrade=1 from_commit=e755357f8306805084317c81e85807ed87fdbd47
#upgrade=1 from_commit=e755357f8306805084317c81e85807ed87fdbd47
# 3.13.6~ynh1
#upgrade=1 from_commit=7474baadc1705ffe5981a52bdced16bdd1edf979
backup_restore=1
@ -34,7 +36,7 @@
Email=
Notification=
;;; Upgrade options
; commit=e755357f8306805084317c81e85807ed87fdbd47
name=3.13.6~ynh2
; commit=bdb0c5049c8eacbef68059d2821353d0e0345290
name=3.13.6~ynh4
manifest_arg=domain=DOMAIN&path=PATH&is_public=1

View file

@ -1,5 +1,5 @@
SOURCE_URL=https://github.com/standardnotes/syncing-server/archive/3.13.6.zip
SOURCE_SUM=9b68e74e34dba5949f740ef6ce3b88b9eee43e29a8eac8aa2d1b3987263eff72
SOURCE_URL=https://github.com/standardnotes/syncing-server/archive/3.20.5.zip
SOURCE_SUM=86B9A423FD910B1C1D65ED4B98FAE9459B70E78B110E3ACEC8B6EF4627C5E0B1
SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=zip
SOURCE_IN_SUBDIR=true

View file

@ -11,7 +11,8 @@ EXPOSED_PORT=3000
# change this to "production" for production use, otherwise the access token time is very short and forces re-login
RAILS_ENV=development
RAILS_LOG_TO_STDOUT=false
RAILS_LOG_LEVEL=info # "debug" | "info" | "warn" | "error" | "fatal"
# Log Level options: "INFO" | "DEBUG" | "INFO" | "WARN" | "ERROR" | "FATAL"
RAILS_LOG_LEVEL=INFO
#SQS_QUEUE=somequeue
#SQS_QUEUE_LOW_PRIORITY=low_priority_queue
#AWS_REGION=us-west1
@ -63,6 +64,18 @@ EMAIL_ATTACHMENT_MAX_SIZE=10485760
# Revisions persistency
REVISIONS_FREQUENCY=300
# (Optional) Redis Cache for ephemeral sessions
REDIS_URL=redis://cache:6379
# (Optional) Change URLs to Internal DNS
#INTERNAL_DNS_REROUTE_ENABLED=false
# (Optional) Auth Proxy JWT Secret
#AUTH_JWT_SECRET=changeme123
# (Optional) User Management Server - registration emails, subscriptions etc.
#USER_MANAGEMENT_SERVER=
# Sub-URI
RAILS_RELATIVE_URL_ROOT=/

View file

@ -1,4 +1,4 @@
SOURCE_URL=https://github.com/sn-extensions/autobiography-theme/archive/1.0.0.zip
SOURCE_URL=https://github.com/standardnotes/autobiography-theme/archive/1.0.0.zip
SOURCE_SUM=cbc8e07fa7703bdf8b7c9c3ef30a6d87d4ade7e5eb58ce7a983a34f1199a819d
SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=zip

View file

@ -1,5 +1,5 @@
SOURCE_URL=https://github.com/standardnotes/code-editor/archive/1.3.5.zip
SOURCE_SUM=e928b1e474e5c391d5ac2654982177238081e3cd11a6e318d7805c36030bd879
SOURCE_URL=https://github.com/standardnotes/code-editor/archive/1.3.8.zip
SOURCE_SUM=085B3839F072601C704C3D97E180B66909A3EFA89B3D876298887D426C6315E4
SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=zip
SOURCE_IN_SUBDIR=true

View file

@ -1,4 +1,4 @@
SOURCE_URL=https://github.com/sn-extensions/dynamic-theme/archive/1.0.0.zip
SOURCE_URL=https://github.com/standardnotes/dynamic-theme/archive/1.0.0.zip
SOURCE_SUM=2be90456a6d8e90b4c6c666c797b96c72935b41fde8aa2b29a219368ce100c99
SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=zip

View file

@ -1,4 +1,4 @@
SOURCE_URL=https://github.com/sn-extensions/focus-theme/archive/1.2.3.zip
SOURCE_URL=https://github.com/standardnotes/focus-theme/archive/1.2.3.zip
SOURCE_SUM=371a48128bc0e95f2298053dc39c333454a2c11962a28e9a7749435da0e85340
SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=zip

View file

@ -1,4 +1,4 @@
SOURCE_URL=https://github.com/sn-extensions/futura-theme/archive/1.2.2.zip
SOURCE_URL=https://github.com/standardnotes/futura-theme/archive/1.2.2.zip
SOURCE_SUM=900cebb84e2a794ca5cd6d62d28705e18181ae6cac76c2d8fa6d109a24386e94
SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=zip

View file

@ -1,5 +1,5 @@
SOURCE_URL=https://github.com/sn-extensions/github-push/archive/1.2.2.zip
SOURCE_SUM=9b64cd9797254120b82b9e43bee7bb0d65b950d8cfeab1b16311a96eedd93527
SOURCE_URL=https://github.com/standardnotes/github-push/archive/1.2.4.zip
SOURCE_SUM=D902386F8E91E0DBAEE7763E9D6B2015B70426D1B91973F677DDAA63B5918574
SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=zip
SOURCE_IN_SUBDIR=true

View file

@ -1,5 +1,5 @@
SOURCE_URL=https://github.com/standardnotes/markdown-basic/archive/1.3.6.zip
SOURCE_SUM=b0e77cc3713a2c7ddf330af37b164a1fee356c65d1ff5352d31f0d8a2bf5d8f9
SOURCE_URL=https://github.com/standardnotes/markdown-basic/archive/1.3.7.zip
SOURCE_SUM=86DD8CCB0D4EBF2FFDD5D2D925230AC1B6CA4742C4B4729FE8B2A28C44DC6B0A
SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=zip
SOURCE_IN_SUBDIR=true

View file

@ -1,4 +1,4 @@
SOURCE_URL=https://github.com/sn-extensions/math-editor/archive/1.3.4.zip
SOURCE_URL=https://github.com/standardnotes/math-editor/archive/1.3.4.zip
SOURCE_SUM=e8e69f082231f3052185c1f74c7bacdbc26b75fe1047045da2cf22f4459d97bf
SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=zip

View file

@ -1,4 +1,4 @@
SOURCE_URL=https://github.com/sn-extensions/mfa-link/archive/1.2.2.zip
SOURCE_URL=https://github.com/standardnotes/mfa-link/archive/1.2.2.zip
SOURCE_SUM=6B41F549FCB8721D429FA216D261C8221C2FC8304EF5C2BF9F98A58C1D7D7388
SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=zip

View file

@ -1,4 +1,4 @@
SOURCE_URL=https://github.com/sn-extensions/midnight-theme/archive/1.2.1.zip
SOURCE_URL=https://github.com/standardnotes/midnight-theme/archive/1.2.1.zip
SOURCE_SUM=f219de3cf26494a73d506139082463a06782a5fc1717290d96da9c8a54102342
SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=zip

View file

@ -1,4 +1,4 @@
SOURCE_URL=https://github.com/sn-extensions/minimal-markdown-editor/archive/1.3.5.zip
SOURCE_URL=https://github.com/standardnotes/minimal-markdown-editor/archive/1.3.5.zip
SOURCE_SUM=c062db588a500e227524bc0e28335dcfebbd913badd19784e00ab607bec7abbf
SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=zip

View file

@ -1,4 +1,4 @@
SOURCE_URL=https://github.com/sn-extensions/no-distraction-theme/archive/1.2.2.zip
SOURCE_URL=https://github.com/standardnotes/no-distraction-theme/archive/1.2.2.zip
SOURCE_SUM=c6b3116aab0e87bdba25632f6e0820c98a47c10248c4760853fb69facc860088
SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=zip

View file

@ -1,5 +1,5 @@
SOURCE_URL=https://github.com/standardnotes/plus-editor/archive/1.4.3.zip
SOURCE_SUM=c1e023b8b78304773a4b447ed5da601bcf799587c44e07f9f793488b933bbd0a
SOURCE_URL=https://github.com/standardnotes/plus-editor/archive/1.4.5.zip
SOURCE_SUM=9F4C4381D66FDE8C8867EDA36C3802616758D2185A4EBB5E903CF296004C6C53
SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=zip
SOURCE_IN_SUBDIR=true

View file

@ -1,4 +1,4 @@
SOURCE_URL=https://github.com/sn-extensions/simple-task-editor/archive/1.3.5.zip
SOURCE_URL=https://github.com/standardnotes/simple-task-editor/archive/1.3.5.zip
SOURCE_SUM=2cb836e9932a8e39b41397fc6f9ef721c894e422a3f898db66cb340d9cbf931b
SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=zip

View file

@ -1,4 +1,4 @@
SOURCE_URL=https://github.com/sn-extensions/solarized-dark-theme/archive/1.2.1.zip
SOURCE_URL=https://github.com/standardnotes/solarized-dark-theme/archive/1.2.1.zip
SOURCE_SUM=4f05dfb4edc9ce81fd22c01d101cc453509791e24475cfefd235dab15b4abfc6
SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=zip

View file

@ -1,4 +1,4 @@
SOURCE_URL=https://github.com/sn-extensions/titanium-theme/archive/1.2.2.zip
SOURCE_URL=https://github.com/standardnotes/titanium-theme/archive/1.2.2.zip
SOURCE_SUM=aa42d8911a514d454af045dc65433aef6361ecfd67ad27f1d8093b9da01bf2b3
SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=zip

View file

@ -1,4 +1,4 @@
SOURCE_URL=https://github.com/sn-extensions/token-vault/archive/1.0.5.zip
SOURCE_URL=https://github.com/standardnotes/token-vault/archive/1.0.5.zip
SOURCE_SUM=a9f4e1bafec6194499dd163fd53bdb9876689c99e7218b36a8e26dbe0c096f21
SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=zip

View file

@ -1,5 +1,5 @@
SOURCE_URL=https://github.com/sn-extensions//vim-editor/archive/1.3.2.zip
SOURCE_SUM=a32fb89d63dea190302b966f0adb2e0ce3a1ef07248277b7d5abf52646585c74
SOURCE_URL=https://github.com/standardnotes/vim-editor/archive/1.3.7.zip
SOURCE_SUM=438AA36D64279EFFF0CF925253FC9666A3DAEBC148E49C2C70D6BC6D51BE78DE
SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=zip
SOURCE_IN_SUBDIR=true

View file

@ -1,6 +1,8 @@
[Unit]
Description=__APP__ service
After=network.target
After=mysql.service
After=redis.service
[Service]
Type=simple

View file

@ -5,7 +5,7 @@
"description": {
"en": "The Standard Notes syncing server. An end-to-end encrypted note-taking app."
},
"version": "3.13.6~ynh4",
"version": "3.20.5~ynh1",
"url": "https://github.com/standardnotes/syncing-server",
"license": "AGPL-3.0-or-later",
"maintainer": {
@ -13,7 +13,7 @@
"email": "46000361+FabianWilkens@users.noreply.github.com"
},
"requirements": {
"yunohost": ">= 4.1.0"
"yunohost": ">= 4.1.2"
},
"multi_instance": true,
"services": [
@ -25,20 +25,11 @@
{
"name": "domain",
"type": "domain",
"ask": {
"en": "Choose a domain name for snserver",
"fr": "Choisissez un domaine pour Mastodon",
"de": "Wähle einen Domain Namen für snserver"
},
"example": "example.com"
},
{
"name": "path",
"type": "path",
"ask": {
"en": "Choose a path for ynhexample",
"fr": "Choisissez un chemin pour ynhexample"
},
"example": "/example",
"default": "/example"
},
@ -48,11 +39,6 @@
"help": {
"en": "The Standard Notes - Syncing Server should be public accessable if you want to connect with a desktop or mobile app."
},
"ask": {
"en": "Is it a public application?",
"fr": "Est-ce une application publique ?",
"de": "Ist die Application Öffendlich?"
},
"default": true
},
{

View file

@ -13,6 +13,4 @@
## Package_check results
---
*If you have access to [App Continuous Integration for packagers](https://yunohost.org/#/packaging_apps_ci) you can provide a link to the package_check results like below, replacing '-NUM-' in this link by the PR number and USERNAME by your username on the ci-apps-dev. Or you provide a screenshot or a pastebin of the results*
[![Build Status](https://ci-apps-dev.yunohost.org/jenkins/job/snserver_ynh%20PR-NUM-%20(USERNAME)/badge/icon)](https://ci-apps-dev.yunohost.org/jenkins/job/snserver_ynh%20PR-NUM-%20(USERNAME)/)
* An automatic package_check will be launch at https://ci-apps-dev.yunohost.org/, when you add a specific comment to your Pull Request: "!testme", "!gogogadgetoci" or "By the power of systemd, I invoke The Great App CI to test this Pull Request!"*

View file

@ -8,6 +8,7 @@
source _common.sh
source ynh_install_ruby
source ynh_redis
source /usr/share/yunohost/helpers
#=================================================
@ -51,9 +52,10 @@ ynh_script_progression --message="Storing installation settings..." --weight=3
ynh_app_setting_set --app=$app --key=domain --value=$domain
ynh_app_setting_set --app=$app --key=path --value=$path_url
ynh_app_setting_set --app=$app --key=is_public --value=$is_public
ynh_app_setting_set --app=$app --key=access_domain --value=$access_domain
ynh_app_setting_set --app=$app --key=mail --value=$mail
redis_db=$(ynh_redis_get_free_db)
ynh_app_setting_set --app=$app --key=redis_db --value="$redis_db"
#=================================================
# STANDARD MODIFICATIONS
@ -122,6 +124,7 @@ ynh_script_progression --message="Installing Ruby...( This may take a while... )
ynh_install_ruby --ruby_version=$RUBY_VERSION
/opt/rbenv/versions/$RUBY_VERSION/bin/gem update --system --no-document
/opt/rbenv/versions/$RUBY_VERSION/bin/gem install bundler --no-document
#=================================================
# Setup
@ -148,6 +151,7 @@ ynh_replace_string --match_string="SMTP_PORT=.*$" --replace_string="SMTP_PORT=25
ynh_replace_string --match_string="SMTP_DOMAIN=.*$" --replace_string="SMTP_DOMAIN=localhost" --target_file="$config_file"
ynh_replace_string --match_string="SMTP_STARTTLS=.*$" --replace_string="SMTP_STARTTLS=" --target_file="$config_file"
ynh_replace_string --match_string="RAILS_SERVE_STATIC_FILES=.*$" --replace_string="RAILS_SERVE_STATIC_FILES=true" --target_file="$config_file"
ynh_replace_string --match_string="REDIS_URL.*$" --replace_string="REDIS_URL=redis://localhost:6379/$redis_db" --target_file="$config_file"
ynh_replace_string --match_string="__MAIL__" --replace_string="$mail" --target_file="$final_path/live/app/mailers/application_mailer.rb"
ynh_replace_string --match_string="__DOMAIN__" --replace_string="$domain" --target_file="$final_path/live/app/views/user_mailer/welcome.html.erb"
@ -158,14 +162,15 @@ ynh_replace_string --match_string="__PATH__" --replace_string="$path_url" --targ
#=================================================
ynh_script_progression --message="Installing Standard Notes - Synicing Server..." --weight=93
chown -R "$app": "$final_path"
chown -R $app: "$final_path"
pushd "$final_path/live"
exec_as "$app" env PATH=$PATH /opt/rbenv/versions/$RUBY_VERSION/bin/bundle config set path 'vendor/bundle'
exec_as "$app" env PATH=$PATH /opt/rbenv/versions/$RUBY_VERSION/bin/bundle config set with 'development'
exec_as "$app" env PATH=$PATH /opt/rbenv/versions/$RUBY_VERSION/bin/bundle install
exec_as "$app" env PATH=$PATH RAILS_ENV=production /opt/rbenv/versions/$RUBY_VERSION/bin/bundle exec rails db:create db:migrate --quiet
# exec_as "$app" env PATH=$PATH RAILS_ENV=production /opt/rbenv/versions/$RUBY_VERSION/bin/bundle exec rails assets:precompile --quiet
exec_as $app /opt/rbenv/versions/$RUBY_VERSION/bin/bundle config set --local path 'vendor/bundle'
exec_as $app /opt/rbenv/versions/$RUBY_VERSION/bin/bundle config set with 'development'
exec_as $app /opt/rbenv/versions/$RUBY_VERSION/bin/bundle install -j$(getconf _NPROCESSORS_ONLN)
exec_as $app RAILS_ENV=production /opt/rbenv/versions/$RUBY_VERSION/bin/bundle exec rails db:migrate --quiet
exec_as $app RAILS_ENV=production /opt/rbenv/versions/$RUBY_VERSION/bin/bundle exec rails db:seed --quiet
# exec_as $app RAILS_ENV=production /opt/rbenv/versions/$RUBY_VERSION/bin/bundle exec rails assets:precompile --quiet
popd
#=================================================
@ -265,11 +270,13 @@ ynh_add_fail2ban_config --use_template --others_var="\
# SETUP SSOWAT
#=================================================
ynh_script_progression --message="Configuring SSOwat..." --weight=3
# Make app public if necessary or protect it
# Make app public if necessary
if [ $is_public -eq 1 ]
then
# Create the visitors permission if needed
ynh_permission_update --permission "main" --add "visitors" --remove "all_users"
# Everyone can access the app.
# The "main" permission is automatically created before the install script.
ynh_permission_update --permission="main" --add="visitors" --remove="all_users"
fi
#=================================================

View file

@ -8,6 +8,7 @@
source _common.sh
source ynh_install_ruby
source ynh_redis
source /usr/share/yunohost/helpers
#=================================================
@ -52,6 +53,13 @@ ynh_script_progression --message="Removing the MySQL database..." --weight=1
# Remove a database if it exists, along with the associated user
ynh_mysql_remove_db --db_user=$db_user --db_name=$db_name
##=================================================
## REMOVE REDIS DB
##=================================================
ynh_script_progression --message="Removing the Redis database..." --weight=1
ynh_redis_remove_db
#=================================================
# REMOVE DEPENDENCIES
#=================================================

View file

@ -9,6 +9,7 @@
#Keep this path for calling _common.sh inside the execution's context of backup and restore scripts
source ../settings/scripts/_common.sh
source ../settings/scripts/ynh_install_ruby
source ../settings/scripts/ynh_redis
source /usr/share/yunohost/helpers
#=================================================
@ -36,6 +37,11 @@ db_name=$(ynh_app_setting_get --app=$app --key=db_name)
db_user=$db_name
db_pwd=$(ynh_app_setting_get --app=$app --key=mysqlpwd)
redis_db=$(ynh_redis_get_free_db)
ynh_app_setting_set --app=$app --key=redis_db --value="$redis_db"
config_file="$final_path/live/.env"
#=================================================
# CHECK IF THE APP CAN BE RESTORED
#=================================================
@ -100,6 +106,7 @@ ynh_script_progression --message="Installing Ruby...( This may take a while... )
ynh_install_ruby --ruby_version=$RUBY_VERSION
/opt/rbenv/versions/$RUBY_VERSION/bin/gem update --system --no-document
/opt/rbenv/versions/$RUBY_VERSION/bin/gem install bundler --no-document
#=================================================
# RESTORE THE MYSQL DATABASE
@ -109,6 +116,13 @@ ynh_script_progression --message="Restoring the MySQL database..." --weight=2
ynh_mysql_setup_db --db_user=$db_user --db_name=$db_name --db_pwd=$db_pwd
ynh_mysql_connect_as --user=$db_user --password=$db_pwd --database=$db_name < ./db.sql
#=================================================
# SETUP REDIS DATABASE
#=================================================
ynh_script_progression --message="Setup Redis database..." --weight=2
ynh_replace_string --match_string=".*REDIS_URL.*$" --replace_string="REDIS_URL=redis://localhost:6379/$redis_db" --target_file="$config_file"
#=================================================
# RESTORE SYSTEMD
#=================================================

View file

@ -8,6 +8,7 @@
source _common.sh
source ynh_install_ruby
source ynh_redis
source /usr/share/yunohost/helpers
#=================================================
@ -19,7 +20,6 @@ app=$YNH_APP_INSTANCE_NAME
domain=$(ynh_app_setting_get --app=$app --key=domain)
path_url=$(ynh_app_setting_get --app=$app --key=path)
is_public=$(ynh_app_setting_get --app=$app --key=is_public)
final_path=$(ynh_app_setting_get --app=$app --key=final_path)
db_name=$(ynh_app_setting_get --app=$app --key=db_name)
db_user=$db_name
@ -27,6 +27,9 @@ db_pwd=$(ynh_app_setting_get --app=$app --key=mysqlpwd)
port=$(ynh_app_setting_get --app=$app --key=port)
access_domain=$(ynh_app_setting_get --app=$app --key=access_domain)
mail=$(ynh_app_setting_get --app=$app --key=mail)
redis_db=$(ynh_app_setting_get --app=$app --key=redis_db)
config_file="$final_path/live/.env"
#=================================================
# CHECK VERSION
@ -59,13 +62,11 @@ ynh_abort_if_errors
#=================================================
ynh_script_progression --message="Ensuring downward compatibility..." --weight=1
# Fix is_public as a boolean value
if [ "$is_public" = "Yes" ]; then
ynh_app_setting_set --app=$app --key=is_public --value=1
is_public=1
elif [ "$is_public" = "No" ]; then
ynh_app_setting_set --app=$app --key=is_public --value=0
is_public=0
# Cleaning legacy permissions
if ynh_legacy_permissions_exists; then
ynh_legacy_permissions_delete_all
ynh_app_setting_delete --app=$app --key=is_public
fi
# If db_name doesn't exist, create it
@ -92,15 +93,21 @@ if [ -z "$mail" ]; then
ynh_app_setting_set --app=$app --key=mail --value=$mail
fi
# If redis_db doesn't exist, create it
if [ -z "$redis_db" ]; then
redis_db=$(ynh_redis_get_free_db)
ynh_app_setting_set --app=$app --key=redis_db --value="$redis_db"
fi
if ynh_compare_current_package_version --comparison lt --version "3.13.6~ynh4"
then
# Add Variables to .env config file
# Add variables to .env config file
echo -e "\
\n# Public file server\
\n# Empty is disabled\
\n# Any value is enabled\
\nRAILS_SERVE_STATIC_FILES=\
" >> "$final_path/live/.env"
\n# Public file server\
\n# Empty is disabled\
\n# Any value is enabled\
\nRAILS_SERVE_STATIC_FILES=\
" >> "$config_file"
# Apply Patch
if [ -f "$YNH_CWD/../sources/patches/app-01-add-mail.patch" ]
@ -111,6 +118,33 @@ then
fi
fi
if ynh_compare_current_package_version --comparison lt --version "3.20.4~ynh1"
then
# Add variables to .env config file
echo -e "\
\n# (Optional) Redis Cache for ephemeral sessions\
\nREDIS_URL=redis://cache:6379\
\n\
\n# (Optional) Change URLs to Internal DNS\
\n#INTERNAL_DNS_REROUTE_ENABLED=false\
\n\
\n# (Optional) Auth Proxy JWT Secret\
\n#AUTH_JWT_SECRET=changeme123\
\n\
\n# (Optional) User Management Server - registration emails, subscriptions etc.\
\n#USER_MANAGEMENT_SERVER=\
" >> "$config_file"
# Change variables to .env config file
ynh_replace_string \
--match_string="RAILS_LOG_LEVEL=.*$" \
--replace_string='# Log Level options: "INFO" | "DEBUG" | "INFO" | "WARN" | "ERROR" | "FATAL"\nRAILS_LOG_LEVEL=INFO' \
--target_file="$config_file"
ynh_replace_string --match_string="REDIS_URL.*$" --replace_string="REDIS_URL=redis://localhost:6379/$redis_db" --target_file="$config_file"
fi
#=================================================
# STANDARD UPGRADE STEPS
#=================================================
@ -187,6 +221,7 @@ ynh_script_progression --message="Installing Ruby...( This may take a while... )
ynh_install_ruby --ruby_version=$RUBY_VERSION
/opt/rbenv/versions/$RUBY_VERSION/bin/gem update --system --no-document
/opt/rbenv/versions/$RUBY_VERSION/bin/gem install bundler --no-document
#=================================================
# CREATE DEDICATED USER
@ -227,14 +262,15 @@ if [ "$upgrade_type" == "UPGRADE_APP" ]
then
ynh_script_progression --message="Installing Standard Notes - Synicing Server..." --weight=93
chown -R "$app": "$final_path"
chown -R $app: "$final_path"
pushd "$final_path/live"
exec_as "$app" env PATH=$PATH /opt/rbenv/versions/$RUBY_VERSION/bin/bundle config set path 'vendor/bundle'
exec_as "$app" env PATH=$PATH /opt/rbenv/versions/$RUBY_VERSION/bin/bundle config set with 'development'
exec_as "$app" env PATH=$PATH /opt/rbenv/versions/$RUBY_VERSION/bin/bundle install
exec_as "$app" env PATH=$PATH RAILS_ENV=production /opt/rbenv/versions/$RUBY_VERSION/bin/bundle exec rails db:create db:migrate --quiet
# exec_as "$app" env PATH=$PATH RAILS_ENV=production /opt/rbenv/versions/$RUBY_VERSION/bin/bundle exec rails assets:precompile --quiet
exec_as $app /opt/rbenv/versions/$RUBY_VERSION/bin/bundle config set --local path 'vendor/bundle'
exec_as $app /opt/rbenv/versions/$RUBY_VERSION/bin/bundle config set with 'development'
exec_as $app /opt/rbenv/versions/$RUBY_VERSION/bin/bundle install -j$(getconf _NPROCESSORS_ONLN)
exec_as $app RAILS_ENV=production /opt/rbenv/versions/$RUBY_VERSION/bin/bundle exec rails db:migrate --quiet
exec_as $app RAILS_ENV=production /opt/rbenv/versions/$RUBY_VERSION/bin/bundle exec rails db:seed --quiet
# exec_as $app RAILS_ENV=production /opt/rbenv/versions/$RUBY_VERSION/bin/bundle exec rails assets:precompile --quiet
popd
fi
@ -327,19 +363,6 @@ ynh_add_fail2ban_config --use_template --others_var="\
path_url \
"
#=================================================
# SETUP SSOWAT
#=================================================
ynh_script_progression --message="Upgrading SSOwat configuration..." --weight=1
# Make app public if necessary or protect it
if [ $is_public -eq 1 ]
then
# Create the visitors permission if needed
if ! ynh_permission_exists --permission "main"; then
ynh_permission_create --permission "main" --allowed "visitors"
fi
fi
#=================================================
# START SYSTEMD SERVICE
#=================================================

View file

@ -135,13 +135,13 @@ ynh_remove_ruby () {
$rbenv_install_dir/bin/rbenv uninstall --force $ruby_version
fi
# Remove rbenv environment configuration
rm /etc/profile.d/rbenv.sh
# If no other app uses rbenv, remove rbenv and dedicated group
if [ ! -s "$rbenv_install_dir/ynh_app_version" ]
then
ynh_secure_remove "$rbenv_install_dir"
# Remove rbenv environment configuration
rm /etc/profile.d/rbenv.sh
fi
}

39
scripts/ynh_redis Normal file
View file

@ -0,0 +1,39 @@
#!/bin/bash
# get the first available redis database
#
# usage: ynh_redis_get_free_db
# | returns: the database number to use
ynh_redis_get_free_db() {
local result max db
result=$(redis-cli INFO keyspace)
# get the num
max=$(cat /etc/redis/redis.conf | grep ^databases | grep -Eow "[0-9]+")
db=0
# default Debian setting is 15 databases
for i in $(seq 0 "$max")
do
if ! echo "$result" | grep -q "db$i"
then
db=$i
break 1
fi
db=-1
done
test "$db" -eq -1 && ynh_die --message="No available Redis databases..."
echo "$db"
}
# Create a master password and set up global settings
# Please always call this script in install and restore scripts
#
# usage: ynh_redis_remove_db database
# | arg: database - the database to erase
ynh_redis_remove_db() {
local db=$1
redis-cli -n "$db" flushall
}

View file

@ -11,7 +11,7 @@
"foreground_color": "#ECE4DB",
"type": "circle"
},
"download_url": "https://github.com/sn-extensions/autobiography-theme/archive/1.0.0.zip",
"download_url": "https://github.com/standardnotes/autobiography-theme/archive/1.0.0.zip",
"identifier": "org.stndardnotes.autobiography-theme",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/autobiography-theme.json",
"name": "Autobiography Theme",
@ -28,7 +28,7 @@
"foreground_color": "#ffffff",
"type": "circle"
},
"download_url": "https://github.com/sn-extensions/focus-theme/archive/1.2.3.zip",
"download_url": "https://github.com/standardnotes/focus-theme/archive/1.2.3.zip",
"identifier": "org.stndardnotes.focus-theme",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/focus-theme.json",
"name": "Focus Theme",
@ -45,7 +45,7 @@
"foreground_color": "#ffffff",
"type": "circle"
},
"download_url": "https://github.com/sn-extensions/futura-theme/archive/1.2.2.zip",
"download_url": "https://github.com/standardnotes/futura-theme/archive/1.2.2.zip",
"identifier": "org.standardnotes.futura-theme",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/futura-theme.json",
"name": "Futura Theme",
@ -62,7 +62,7 @@
"foreground_color": "#ffffff",
"type": "circle"
},
"download_url": "https://github.com/sn-extensions/midnight-theme/archive/1.2.1.zip",
"download_url": "https://github.com/standardnotes/midnight-theme/archive/1.2.1.zip",
"identifier": "org.standardnotes.midnight-theme",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/midnight-theme.json",
"name": "Midnight Theme",
@ -79,7 +79,7 @@
"foreground_color": "#ffffff",
"type": "circle"
},
"download_url": "https://github.com/sn-extensions/solarized-dark-theme/archive/1.2.1.zip",
"download_url": "https://github.com/standardnotes/solarized-dark-theme/archive/1.2.1.zip",
"identifier": "org.stndardnotes.solarized-dark-theme",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/solarized-dark-theme.json",
"name": "Solarized Dark Theme",
@ -96,7 +96,7 @@
"foreground_color": "#ffffff",
"type": "circle"
},
"download_url": "https://github.com/sn-extensions/titanium-theme/archive/1.2.2.zip",
"download_url": "https://github.com/standardnotes/titanium-theme/archive/1.2.2.zip",
"identifier": "org.stndardnotes.titanium-theme",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/titanium-theme.json",
"name": "Titanium Theme",
@ -107,7 +107,7 @@
"area": "theme",
"content_type": "SN|Theme",
"description": "A smart theme that minimizes the tags and notes panels when they are not in use..",
"download_url": "https://github.com/sn-extensions/dynamic-theme/archive/1.0.0.zip",
"download_url": "https://github.com/standardnotes/dynamic-theme/archive/1.0.0.zip",
"identifier": "org.standardnotes.dynamic-theme",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/dynamic-theme.json",
"layerable": true,
@ -124,7 +124,7 @@
"source": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path d=\"M424 64H88c-26.6 0-48 21.6-48 48v288c0 26.4 21.4 48 48 48h336c26.4 0 48-21.6 48-48V112c0-26.4-21.4-48-48-48zm0 336H88V176h336v224z\"/></svg>",
"type": "svg"
},
"download_url": "https://github.com/sn-extensions/no-distraction-theme/archive/1.2.2.zip",
"download_url": "https://github.com/standardnotes/no-distraction-theme/archive/1.2.2.zip",
"identifier": "org.standardnotes.no-distraction",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/no-distraction-theme.json",
"layerable": true,
@ -148,23 +148,23 @@
"area": "editor-editor",
"content_type": "SN|Component",
"description": "Syntax highlighting and convenient keyboard shortcuts for over 120 programming languages. Ideal for code snippets and procedures.",
"download_url": "https://github.com/standardnotes/code-editor/archive/1.3.5.zip",
"download_url": "https://github.com/standardnotes/code-editor/archive/1.3.8.zip",
"identifier": "org.standardnotes.code-editor",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/code-editor.json",
"name": "Code Editor",
"url": "https://__DOMAIN__PATH__/extensions/src/code-editor/index.html",
"version": "1.3.5"
"version": "1.3.8"
},
{
"area": "editor-editor",
"content_type": "SN|Component",
"description": "A Markdown editor with dynamic split-pane preview.",
"download_url": "https://github.com/standardnotes/markdown-basic/archive/1.3.6.zip",
"download_url": "https://github.com/standardnotes/markdown-basic/archive/1.3.7.zip",
"identifier": "org.standardnotes.markdown-basic-editor",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/markdown-basic.json",
"name": "Markdown Basic",
"url": "https://__DOMAIN__PATH__/extensions/src/markdown-basic/dist/index.html",
"version": "1.3.6"
"version": "1.3.7"
},
{
"area": "editor-editor",
@ -181,7 +181,7 @@
"area": "editor-editor",
"content_type": "SN|Component",
"description": "A beautiful split-pane Markdown editor with synced-scroll, LaTeX support, and colorful syntax.",
"download_url": "https://github.com/sn-extensions/math-editor/archive/1.3.4.zip",
"download_url": "https://github.com/standardnotes/math-editor/archive/1.3.4.zip",
"identifier": "org.standardnotes.math-editor",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/math-editor.json",
"name": "Math Editor",
@ -192,7 +192,7 @@
"area": "editor-editor",
"content_type": "SN|Component",
"description": "A minimal Markdown editor with inline style support.",
"download_url": "https://github.com/sn-extensions/minimal-markdown-editor/archive/1.3.5.zip",
"download_url": "https://github.com/standardnotes/minimal-markdown-editor/archive/1.3.5.zip",
"identifier": "org.stndardnotes.minimal-markdown-editor",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/minimal-markdown-editor.json",
"name": "Minimal Markdown Editor",
@ -203,18 +203,18 @@
"area": "editor-editor",
"content_type": "SN|Component",
"description": "From highlighting to custom font sizes and colors, to tables and lists, this editor is perfect for crafting any document. (Converts your note to an HTML format.)",
"download_url": "https://github.com/standardnotes/plus-editor/archive/1.4.3.zip",
"download_url": "https://github.com/standardnotes/plus-editor/archive/1.4.5.zip",
"identifier": "org.standardnotes.plus-editor",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/plus-editor.json",
"name": "Plus Editor",
"url": "https://__DOMAIN__PATH__/extensions/src/plus-editor/index.html",
"version": "1.4.3"
"url": "https://__DOMAIN__PATH__/extensions/src/plus-editor/dist/index.html",
"version": "1.4.5"
},
{
"area": "editor-editor",
"content_type": "SN|Component",
"description": "A great way to manage short-term and long-term to-do's. You can mark simple-tasks as completed, change their order, and edit the text naturally in place.",
"download_url": "https://github.com/sn-extensions/simple-task-editor/archive/1.3.5.zip",
"download_url": "https://github.com/standardnotes/simple-task-editor/archive/1.3.5.zip",
"identifier": "org.standardnotes.simple-task-editor",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/simple-task-editor.json",
"name": "Task Editor",
@ -225,7 +225,7 @@
"area": "editor-editor",
"content_type": "SN|Component",
"description": "Use Standard Notes on both desktop and mobile as your authenticator app. TokenVault handles your 2FA secrets so that you never lose them again, or have to start over when you get a new device.",
"download_url": "https://github.com/sn-extensions/token-vault/archive/1.0.5.zip",
"download_url": "https://github.com/standardnotes/token-vault/archive/1.0.5.zip",
"identifier": "org.stndardnotes.token-vault",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/token-vault.json",
"name": "Token Vault",
@ -236,12 +236,12 @@
"area": "editor-editor",
"content_type": "SN|Component",
"description": "A code editor with Vim key bindings.",
"download_url": "https://github.com/sn-extensions/vim-editor/archive/1.3.2.zip",
"download_url": "https://github.com/standardnotes/vim-editor/archive/1.3.7.zip",
"identifier": "org.stndardnotes.vim-editor",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/vim-editor.json",
"name": "Vim Editor",
"url": "https://__DOMAIN__PATH__/extensions/src/vim-editor/index.html",
"version": "1.3.2"
"version": "1.3.7"
},
{
"area": "editor-stack",
@ -269,18 +269,18 @@
"area": "editor-stack",
"content_type": "SN|Component",
"description": "Push note changes to a public or private GitHub repository, with options for file extension and commit message.",
"download_url": "https://github.com/sn-extensions/github-push/archive/1.2.2.zip",
"download_url": "https://github.com/standardnotes/github-push/archive/1.2.4.zip",
"identifier": "org.stndardnotes.github-push",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/github-push.json",
"name": "Github Push",
"url": "https://__DOMAIN__PATH__/extensions/src/github-push/index.html",
"version": "1.2.2"
"version": "1.2.4"
},
{
"area": "modal",
"content_type": "SN|Component",
"description": "Set up 2FA to enable an extra layer of security on your private notes account.",
"download_url": "https://github.com/sn-extensions/mfa-link/archive/1.2.2.zip",
"download_url": "https://github.com/standardnotes/mfa-link/archive/1.2.2.zip",
"identifier": "org.stndardnotes.mfa-link",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/mfa-link.json",
"name": "MFA-Link",

View file

@ -3,9 +3,9 @@
"name": "Code Editor",
"content_type": "SN|Component",
"area": "editor-editor",
"version": "1.3.5",
"version": "1.3.8",
"description": "Syntax highlighting and convenient keyboard shortcuts for over 120 programming languages. Ideal for code snippets and procedures.",
"url": "https://__DOMAIN__PATH__/extensions/src/code-editor/index.html",
"download_url": "https://github.com/standardnotes/code-editor/archive/1.3.5.zip",
"download_url": "https://github.com/standardnotes/code-editor/archive/1.3.8.zip",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/code-editor.json"
}

View file

@ -3,9 +3,9 @@
"name": "Github Push",
"content_type": "SN|Component",
"area": "editor-stack",
"version": "1.2.2",
"version": "1.2.4",
"description": "Push note changes to a public or private GitHub repository, with options for file extension and commit message.",
"url": "https://__DOMAIN__PATH__/extensions/src/github-push/index.html",
"download_url": "https://github.com/sn-extensions/github-push/archive/1.2.2.zip",
"download_url": "https://github.com/sn-extensions/github-push/archive/1.2.4.zip",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/github-push.json"
}

View file

@ -3,9 +3,9 @@
"name": "Markdown Basic",
"content_type": "SN|Component",
"area": "editor-editor",
"version": "1.3.6",
"version": "1.3.7",
"description": "A Markdown editor with dynamic split-pane preview.",
"url": "https://__DOMAIN__PATH__/extensions/src/markdown-basic/dist/index.html",
"download_url": "https://github.com/standardnotes/markdown-basic/archive/1.3.6.zip",
"download_url": "https://github.com/standardnotes/markdown-basic/archive/1.3.7.zip",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/markdown-basic.json"
}

View file

@ -3,9 +3,9 @@
"name": "Plus Editor",
"content_type": "SN|Component",
"area": "editor-editor",
"version": "1.4.3",
"version": "1.4.5",
"description": "From highlighting to custom font sizes and colors, to tables and lists, this editor is perfect for crafting any document. (Converts your note to an HTML format.)",
"url": "https://__DOMAIN__PATH__/extensions/src/plus-editor/index.html",
"download_url": "https://github.com/standardnotes/plus-editor/archive/1.4.3.zip",
"url": "https://__DOMAIN__PATH__/extensions/src/plus-editor/dist/index.html",
"download_url": "https://github.com/standardnotes/plus-editor/archive/1.4.5.zip",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/plus-editor.json"
}

View file

@ -3,9 +3,9 @@
"name": "Vim Editor",
"content_type": "SN|Component",
"area": "editor-editor",
"version": "1.3.2",
"version": "1.3.7",
"description": "A code editor with Vim key bindings.",
"url": "https://__DOMAIN__PATH__/extensions/src/vim-editor/index.html",
"download_url": "https://github.com/sn-extensions/vim-editor/archive/1.3.2.zip",
"download_url": "https://github.com/sn-extensions/vim-editor/archive/1.3.7.zip",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/vim-editor.json"
}