mirror of
https://github.com/YunoHost-Apps/snserver_ynh.git
synced 2024-09-03 20:26:22 +02:00
Merge pull request #10 from FabianWilkens/update-to-3.20.5
Update to 3.20.5
This commit is contained in:
commit
0270c2be30
10 changed files with 131 additions and 13 deletions
|
@ -15,7 +15,7 @@ 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.
|
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/
|
* Apps available for free. https://standardnotes.org/
|
||||||
* Desktop (Windows, Mac, Linux)
|
* Desktop (Windows, Mac, Linux)
|
||||||
* Mobile (Android and iOS)
|
* Mobile (Android and iOS)
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
SOURCE_URL=https://github.com/standardnotes/syncing-server/archive/3.13.6.zip
|
SOURCE_URL=https://github.com/standardnotes/syncing-server/archive/3.20.5.zip
|
||||||
SOURCE_SUM=9b68e74e34dba5949f740ef6ce3b88b9eee43e29a8eac8aa2d1b3987263eff72
|
SOURCE_SUM=86B9A423FD910B1C1D65ED4B98FAE9459B70E78B110E3ACEC8B6EF4627C5E0B1
|
||||||
SOURCE_SUM_PRG=sha256sum
|
SOURCE_SUM_PRG=sha256sum
|
||||||
SOURCE_FORMAT=zip
|
SOURCE_FORMAT=zip
|
||||||
SOURCE_IN_SUBDIR=true
|
SOURCE_IN_SUBDIR=true
|
||||||
|
|
|
@ -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
|
# change this to "production" for production use, otherwise the access token time is very short and forces re-login
|
||||||
RAILS_ENV=development
|
RAILS_ENV=development
|
||||||
RAILS_LOG_TO_STDOUT=false
|
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=somequeue
|
||||||
#SQS_QUEUE_LOW_PRIORITY=low_priority_queue
|
#SQS_QUEUE_LOW_PRIORITY=low_priority_queue
|
||||||
#AWS_REGION=us-west1
|
#AWS_REGION=us-west1
|
||||||
|
@ -63,6 +64,18 @@ EMAIL_ATTACHMENT_MAX_SIZE=10485760
|
||||||
# Revisions persistency
|
# Revisions persistency
|
||||||
REVISIONS_FREQUENCY=300
|
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
|
# Sub-URI
|
||||||
RAILS_RELATIVE_URL_ROOT=/
|
RAILS_RELATIVE_URL_ROOT=/
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=__APP__ service
|
Description=__APP__ service
|
||||||
After=network.target
|
After=network.target
|
||||||
|
After=mysql.service
|
||||||
|
After=redis.service
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Type=simple
|
Type=simple
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
"description": {
|
"description": {
|
||||||
"en": "The Standard Notes syncing server. An end-to-end encrypted note-taking app."
|
"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",
|
"url": "https://github.com/standardnotes/syncing-server",
|
||||||
"license": "AGPL-3.0-or-later",
|
"license": "AGPL-3.0-or-later",
|
||||||
"maintainer": {
|
"maintainer": {
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
|
|
||||||
source _common.sh
|
source _common.sh
|
||||||
source ynh_install_ruby
|
source ynh_install_ruby
|
||||||
|
source ynh_redis
|
||||||
source /usr/share/yunohost/helpers
|
source /usr/share/yunohost/helpers
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -54,6 +55,8 @@ 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=is_public --value=$is_public
|
||||||
ynh_app_setting_set --app=$app --key=access_domain --value=$access_domain
|
ynh_app_setting_set --app=$app --key=access_domain --value=$access_domain
|
||||||
ynh_app_setting_set --app=$app --key=mail --value=$mail
|
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
|
# STANDARD MODIFICATIONS
|
||||||
|
@ -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_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="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="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="__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"
|
ynh_replace_string --match_string="__DOMAIN__" --replace_string="$domain" --target_file="$final_path/live/app/views/user_mailer/welcome.html.erb"
|
||||||
|
@ -164,7 +168,8 @@ 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 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 config set with 'development'
|
||||||
exec_as "$app" env PATH=$PATH /opt/rbenv/versions/$RUBY_VERSION/bin/bundle install
|
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 db:migrate --quiet
|
||||||
|
exec_as "$app" env PATH=$PATH RAILS_ENV=production /opt/rbenv/versions/$RUBY_VERSION/bin/bundle exec rails db:seed --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" env PATH=$PATH RAILS_ENV=production /opt/rbenv/versions/$RUBY_VERSION/bin/bundle exec rails assets:precompile --quiet
|
||||||
popd
|
popd
|
||||||
|
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
|
|
||||||
source _common.sh
|
source _common.sh
|
||||||
source ynh_install_ruby
|
source ynh_install_ruby
|
||||||
|
source ynh_redis
|
||||||
source /usr/share/yunohost/helpers
|
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
|
# Remove a database if it exists, along with the associated user
|
||||||
ynh_mysql_remove_db --db_user=$db_user --db_name=$db_name
|
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
|
# REMOVE DEPENDENCIES
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
#Keep this path for calling _common.sh inside the execution's context of backup and restore scripts
|
#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/_common.sh
|
||||||
source ../settings/scripts/ynh_install_ruby
|
source ../settings/scripts/ynh_install_ruby
|
||||||
|
source ../settings/scripts/ynh_redis
|
||||||
source /usr/share/yunohost/helpers
|
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_user=$db_name
|
||||||
db_pwd=$(ynh_app_setting_get --app=$app --key=mysqlpwd)
|
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
|
# CHECK IF THE APP CAN BE RESTORED
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -109,6 +115,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_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
|
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
|
# RESTORE SYSTEMD
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
|
|
||||||
source _common.sh
|
source _common.sh
|
||||||
source ynh_install_ruby
|
source ynh_install_ruby
|
||||||
|
source ynh_redis
|
||||||
source /usr/share/yunohost/helpers
|
source /usr/share/yunohost/helpers
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -27,6 +28,9 @@ db_pwd=$(ynh_app_setting_get --app=$app --key=mysqlpwd)
|
||||||
port=$(ynh_app_setting_get --app=$app --key=port)
|
port=$(ynh_app_setting_get --app=$app --key=port)
|
||||||
access_domain=$(ynh_app_setting_get --app=$app --key=access_domain)
|
access_domain=$(ynh_app_setting_get --app=$app --key=access_domain)
|
||||||
mail=$(ynh_app_setting_get --app=$app --key=mail)
|
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
|
# CHECK VERSION
|
||||||
|
@ -92,15 +96,21 @@ if [ -z "$mail" ]; then
|
||||||
ynh_app_setting_set --app=$app --key=mail --value=$mail
|
ynh_app_setting_set --app=$app --key=mail --value=$mail
|
||||||
fi
|
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"
|
if ynh_compare_current_package_version --comparison lt --version "3.13.6~ynh4"
|
||||||
then
|
then
|
||||||
# Add Variables to .env config file
|
# Add variables to .env config file
|
||||||
echo -e "\
|
echo -e "\
|
||||||
\n# Public file server\
|
\n# Public file server\
|
||||||
\n# Empty is disabled\
|
\n# Empty is disabled\
|
||||||
\n# Any value is enabled\
|
\n# Any value is enabled\
|
||||||
\nRAILS_SERVE_STATIC_FILES=\
|
\nRAILS_SERVE_STATIC_FILES=\
|
||||||
" >> "$final_path/live/.env"
|
" >> "$config_file"
|
||||||
|
|
||||||
# Apply Patch
|
# Apply Patch
|
||||||
if [ -f "$YNH_CWD/../sources/patches/app-01-add-mail.patch" ]
|
if [ -f "$YNH_CWD/../sources/patches/app-01-add-mail.patch" ]
|
||||||
|
@ -111,6 +121,33 @@ then
|
||||||
fi
|
fi
|
||||||
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
|
# STANDARD UPGRADE STEPS
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -233,7 +270,8 @@ then
|
||||||
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 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 config set with 'development'
|
||||||
exec_as "$app" env PATH=$PATH /opt/rbenv/versions/$RUBY_VERSION/bin/bundle install
|
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 db:migrate --quiet
|
||||||
|
exec_as "$app" env PATH=$PATH RAILS_ENV=production /opt/rbenv/versions/$RUBY_VERSION/bin/bundle exec rails db:seed --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" env PATH=$PATH RAILS_ENV=production /opt/rbenv/versions/$RUBY_VERSION/bin/bundle exec rails assets:precompile --quiet
|
||||||
popd
|
popd
|
||||||
fi
|
fi
|
||||||
|
|
39
scripts/ynh_redis
Normal file
39
scripts/ynh_redis
Normal 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
|
||||||
|
}
|
Loading…
Reference in a new issue