improve package and begin to add config panel
This commit is contained in:
parent
a1ec9b2763
commit
b7c721266e
|
@ -17,7 +17,7 @@
|
||||||
upgrade=1
|
upgrade=1
|
||||||
upgrade=1 from_commit=CommitHash
|
upgrade=1 from_commit=CommitHash
|
||||||
backup_restore=1
|
backup_restore=1
|
||||||
multi_instance=0
|
multi_instance=1
|
||||||
port_already_use=0
|
port_already_use=0
|
||||||
change_url=1
|
change_url=1
|
||||||
;;; Options
|
;;; Options
|
||||||
|
|
|
@ -13,11 +13,9 @@ rpc_secret = "__RPC_SECRET__"
|
||||||
rpc_bind_addr = "[::]:__PORT__"
|
rpc_bind_addr = "[::]:__PORT__"
|
||||||
# Le port peut être différent (eg NAT) mais doit rediriger sur le
|
# Le port peut être différent (eg NAT) mais doit rediriger sur le
|
||||||
# port de rpc_bind_addr
|
# port de rpc_bind_addr
|
||||||
#rpc_public_addr = "__IP__:__PORT__"
|
#rpc_public_addr = "__DOMAIN__:__PORT__"
|
||||||
|
|
||||||
bootstrap_peers = [
|
bootstrap_peers = []
|
||||||
__BOOTSTRAP_PEERS_VAR__
|
|
||||||
]
|
|
||||||
|
|
||||||
[s3_api]
|
[s3_api]
|
||||||
# Ne supporte pas TLS → reverse proxy obligatoire
|
# Ne supporte pas TLS → reverse proxy obligatoire
|
||||||
|
|
26
config_panel.toml
Normal file
26
config_panel.toml
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
version = "1.0"
|
||||||
|
[main]
|
||||||
|
|
||||||
|
services = ["__APP__"]
|
||||||
|
|
||||||
|
[main.garage_conf]
|
||||||
|
name = "Garage configuration"
|
||||||
|
|
||||||
|
[main.garage_conf.rpc_secret]
|
||||||
|
ask.en = "Choose rpc secret"
|
||||||
|
type = "string"
|
||||||
|
bind = "rpc_secret:/opt/yunohost/__APP__/garage.toml"
|
||||||
|
pattern.regexp = '^[0-9a-f]{64}$'
|
||||||
|
pattern.error = "rpc_secret have to be a 32-byte hex-encoded random string. See https://garagehq.deuxfleurs.fr/documentation/reference-manual/configuration/ for more information"
|
||||||
|
|
||||||
|
|
||||||
|
[main.garage_conf.weight]
|
||||||
|
ask.en = "allocated space (Gio)"
|
||||||
|
type = "number"
|
||||||
|
bind = "weight()"
|
||||||
|
|
||||||
|
[main.garage_conf.bootstrap_peers]
|
||||||
|
ask.en = "Friend serveur adress"
|
||||||
|
type = "string"
|
||||||
|
pattern.regexp = '[0-9a-f]{64}@((\b25[0-5]|\b2[0-4][0-9]|\b[01]?[0-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}|([a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]\.)+[a-zA-Z]{2,}):[0-9]{1,4}'
|
||||||
|
pattern.error = "friend server id must have id with the following form : 1799bccfd7411eddcf9ebd316bc1f5287ad12a68094e1c6ac6abde7e6feae1ec@192.168.1.1:1234 or 1799bccfd7411eddcf9ebd316bc1f5287ad12a68094e1c6ac6abde7e6feae1ec@example.tld:1234"
|
|
@ -89,7 +89,7 @@ services = ["__APP__"]
|
||||||
|
|
||||||
## (optional) By default all questions are optionals, but you can specify a
|
## (optional) By default all questions are optionals, but you can specify a
|
||||||
## default behaviour for question in the section
|
## default behaviour for question in the section
|
||||||
optional = false
|
##optional = false
|
||||||
|
|
||||||
## (optional) It's also possible with the 'visible' property to only
|
## (optional) It's also possible with the 'visible' property to only
|
||||||
## display the section depending on the user's answers to previous questions.
|
## display the section depending on the user's answers to previous questions.
|
||||||
|
@ -118,14 +118,14 @@ services = ["__APP__"]
|
||||||
## extend availables questions types list.
|
## extend availables questions types list.
|
||||||
## See: TODO DOC LINK
|
## See: TODO DOC LINK
|
||||||
|
|
||||||
[main.customization.project_name]
|
[main.customization.weight]
|
||||||
|
|
||||||
## (required) The ask property is equivalent to the ask property in
|
## (required) The ask property is equivalent to the ask property in
|
||||||
## the manifest. However, in config panels, questions are displayed on the
|
## the manifest. However, in config panels, questions are displayed on the
|
||||||
## left side and therefore have less space to be rendered. Therefore,
|
## left side and therefore have less space to be rendered. Therefore,
|
||||||
## it is better to use a short question, and use the "help" property to
|
## it is better to use a short question, and use the "help" property to
|
||||||
## provide additional details if necessary.
|
## provide additional details if necessary.
|
||||||
ask.en = "Name of the project"
|
ask.en = "allocated space"
|
||||||
|
|
||||||
## (required) The type property indicates how the question should be
|
## (required) The type property indicates how the question should be
|
||||||
## displayed, validated and managed. Some types have specific properties.
|
## displayed, validated and managed. Some types have specific properties.
|
||||||
|
@ -134,7 +134,7 @@ services = ["__APP__"]
|
||||||
## email, url, date, time, color, select, domain, user, tags, file.
|
## email, url, date, time, color, select, domain, user, tags, file.
|
||||||
##
|
##
|
||||||
## For a complete list with specific properties, see: TODO DOC LINK
|
## For a complete list with specific properties, see: TODO DOC LINK
|
||||||
type = "string"
|
type = "number"
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
#### ABOUT THE BIND PROPERTY
|
#### ABOUT THE BIND PROPERTY
|
||||||
|
|
|
@ -1,10 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
source /usr/share/yunohost/helpers
|
|
||||||
|
|
||||||
|
|
||||||
action=$1
|
|
||||||
domain=__DOMAIN__
|
|
||||||
|
|
||||||
ynh_replace_string --match_string="server_name $domain" --replace_string="server_name $domain *.$domain" --target_file="/etc/nginx/conf.d/$domain.conf"
|
|
||||||
ynh_store_file_checksum --file="/etc/nginx/conf.d/$domain.conf"
|
|
10
hooks/regen_conf
Normal file
10
hooks/regen_conf
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
source /usr/share/yunohost/helpers
|
||||||
|
|
||||||
|
|
||||||
|
action=$1
|
||||||
|
domain=__DOMAIN__
|
||||||
|
|
||||||
|
ynh_replace_special_string --match_string="server_name $domain" --replace_string="server_name $domain *.$domain" --target_file="/etc/nginx/conf.d/$domain.conf"
|
||||||
|
ynh_store_file_checksum --file="/etc/nginx/conf.d/$domain.conf"
|
|
@ -6,7 +6,7 @@
|
||||||
"en": "S3 storage",
|
"en": "S3 storage",
|
||||||
"fr": "stockage S3"
|
"fr": "stockage S3"
|
||||||
},
|
},
|
||||||
"version": "0.7.3~ynh1",
|
"version": "0.8.0~ynh1",
|
||||||
"url": "https://garagehq.deuxfleurs.fr/",
|
"url": "https://garagehq.deuxfleurs.fr/",
|
||||||
"upstream": {
|
"upstream": {
|
||||||
"license": "AGPL-3.0-only",
|
"license": "AGPL-3.0-only",
|
||||||
|
@ -24,7 +24,7 @@
|
||||||
"requirements": {
|
"requirements": {
|
||||||
"yunohost": ">= 4.3.0"
|
"yunohost": ">= 4.3.0"
|
||||||
},
|
},
|
||||||
"multi_instance": false,
|
"multi_instance": true,
|
||||||
"arguments": {
|
"arguments": {
|
||||||
"install": [
|
"install": [
|
||||||
{
|
{
|
||||||
|
|
|
@ -10,7 +10,7 @@ pkg_dependencies_virtualisation="qemu-utils"
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
||||||
|
|
||||||
GARAGE_VERSION="0.7.3"
|
GARAGE_VERSION="0.8.0"
|
||||||
|
|
||||||
get_ip() {
|
get_ip() {
|
||||||
curl ip.me
|
curl ip.me
|
||||||
|
@ -41,25 +41,28 @@ install_garage () {
|
||||||
chmod +x garage
|
chmod +x garage
|
||||||
}
|
}
|
||||||
|
|
||||||
init_garage() {
|
garage_connect() {
|
||||||
garage_command="$1"
|
local command="$1"
|
||||||
node_id="$2"
|
local peer="$2"
|
||||||
weight="$3"
|
# connect to cluster
|
||||||
zone="$4"
|
$garage_command node connect "$peer"
|
||||||
|
# wait until layout is updated
|
||||||
$garage_command layout assign $node_id -z $zone -c $weight -t $zone
|
until $garage_command layout show 2>/dev/null | grep "${peer:0:15}"; do
|
||||||
|
sleep 1
|
||||||
apply_layout "$garage_command"
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
apply_layout() {
|
apply_layout() {
|
||||||
|
|
||||||
garage_command=$1
|
garage_command=$1
|
||||||
|
$garage_command layout show 2>/dev/null
|
||||||
if [ $($garage_command -c garage.toml layout show 2>/dev/null | grep -- --version) ]
|
local layout_version=$($garage_command layout show 2>/dev/null | grep -Po -- "(?<=--version).*" | head -1 | xargs)
|
||||||
|
if [ "$layout_version" != "" ]
|
||||||
then
|
then
|
||||||
layout_version=$($garage_command layout show 2>/dev/null | grep -Po -- "(?<=--version).*" | head -1 | xargs)
|
|
||||||
$garage_command layout apply --version $layout_version
|
$garage_command layout apply --version $layout_version
|
||||||
else
|
else
|
||||||
|
ynh_print_warn --message="unable to apply layout. No enough nodes"
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,19 +1,11 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# In simple cases, you don't need a config script.
|
|
||||||
|
|
||||||
# With a simple config_panel.toml, you can write in the app settings, in the
|
|
||||||
# upstream config file or replace complete files (logo ...) and restart services.
|
|
||||||
|
|
||||||
# The config scripts allows you to go further, to handle specific cases
|
|
||||||
# (validation of several interdependent fields, specific getter/setter for a value,
|
|
||||||
# display dynamic informations or choices, pre-loading of config type .cube... ).
|
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# GENERIC STARTING
|
# GENERIC STARTING
|
||||||
#=================================================
|
#=================================================
|
||||||
# IMPORT GENERIC HELPERS
|
# IMPORT GENERIC HELPERS
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
||||||
|
source _common.sh
|
||||||
source /usr/share/yunohost/helpers
|
source /usr/share/yunohost/helpers
|
||||||
|
|
||||||
ynh_abort_if_errors
|
ynh_abort_if_errors
|
||||||
|
@ -23,80 +15,31 @@ ynh_abort_if_errors
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
||||||
final_path=$(ynh_app_setting_get $app final_path)
|
final_path=$(ynh_app_setting_get $app final_path)
|
||||||
datadir=$(ynh_app_setting_get $app datadir)
|
node_id=$(ynh_app_setting_get $app node_id)
|
||||||
|
command="$final_path/garage -c $final_path/garage.toml"
|
||||||
|
|
||||||
#=================================================
|
get_weight() {
|
||||||
# SPECIFIC GETTERS FOR TOML SHORT KEY
|
ynh_app_setting_get --app=$app --key=weight
|
||||||
#=================================================
|
|
||||||
|
|
||||||
get__amount() {
|
|
||||||
# Here we can imagine to have an API call to stripe to know the amount of donation during a month
|
|
||||||
local amount = 200
|
|
||||||
|
|
||||||
# It's possible to change some properties of the question by overriding it:
|
|
||||||
if [ $amount -gt 100 ]
|
|
||||||
then
|
|
||||||
cat << EOF
|
|
||||||
style: success
|
|
||||||
value: $amount
|
|
||||||
ask:
|
|
||||||
en: A lot of donation this month: **$amount €**
|
|
||||||
EOF
|
|
||||||
else
|
|
||||||
cat << EOF
|
|
||||||
style: danger
|
|
||||||
value: $amount
|
|
||||||
ask:
|
|
||||||
en: Not so much donation this month: $amount €
|
|
||||||
EOF
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
get__prices() {
|
set_weight() {
|
||||||
local prices = "$(grep "DONATION\['" "$final_path/settings.py" | sed -r "s@^DONATION\['([^']*)'\]\['([^']*)'\] = '([^']*)'@\1/\2/\3@g" | sed -z 's/\n/,/g;s/,$/\n/')"
|
$command layout assign $node_id -c $weight
|
||||||
if [ "$prices" == "," ];
|
apply_layout "$command"
|
||||||
then
|
ynh_app_setting_set --app=$app --key=weight --value=$weight
|
||||||
# Return YNH_NULL if you prefer to not return a value at all.
|
|
||||||
echo YNH_NULL
|
|
||||||
else
|
|
||||||
echo $prices
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#=================================================
|
get_peers() {
|
||||||
# SPECIFIC VALIDATORS FOR TOML SHORT KEYS
|
ynh_app_setting_get --app=$app --key=bootstrap_peers
|
||||||
#=================================================
|
|
||||||
validate__publishable_key() {
|
|
||||||
|
|
||||||
# We can imagine here we test if the key is really a publisheable key
|
|
||||||
(is_secret_key $publishable_key) &&
|
|
||||||
echo 'This key seems to be a secret key'
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#=================================================
|
set_peers() {
|
||||||
# SPECIFIC SETTERS FOR TOML SHORT KEYS
|
garage_connect "$command" "$bootstrap_peers"
|
||||||
#=================================================
|
apply_layout "$command"
|
||||||
set__prices() {
|
ynh_app_setting_set --app=$app --key=bootstrap_peers --value=$bootstrap_peers
|
||||||
|
|
||||||
#---------------------------------------------
|
|
||||||
# IMPORTANT: setter are trigger only if a change is detected
|
|
||||||
#---------------------------------------------
|
|
||||||
for price in $(echo $prices | sed "s/,/ /"); do
|
|
||||||
frequency=$(echo $price | cut -d/ -f1)
|
|
||||||
currency=$(echo $price | cut -d/ -f2)
|
|
||||||
price_id=$(echo $price | cut -d/ -f3)
|
|
||||||
sed "d/DONATION\['$frequency'\]\['$currency'\]" "$final_path/settings.py"
|
|
||||||
|
|
||||||
echo "DONATION['$frequency']['$currency'] = '$price_id'" >> "$final_path/settings.py"
|
|
||||||
done
|
|
||||||
|
|
||||||
#---------------------------------------------
|
|
||||||
# IMPORTANT: to be able to upgrade properly, you have to saved the value in settings too
|
|
||||||
#---------------------------------------------
|
|
||||||
ynh_app_setting_set $app prices $prices
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# GENERIC FINALIZATION
|
# GENERIC FINALIZATION
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
|
@ -73,10 +73,7 @@ else
|
||||||
fi
|
fi
|
||||||
if [ -n "$bootstrap_peers" ]
|
if [ -n "$bootstrap_peers" ]
|
||||||
then
|
then
|
||||||
echo "$bootstrap_peers" | grep -E '[0-9a-f]{64}@(\b25[0-5]|\b2[0-4][0-9]|\b[01]?[0-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}:3901' || ynh_die --message="friend server id must have id with the following form : 1799bccfd7411eddcf9ebd316bc1f5287ad12a68094e1c6ac6abde7e6feae1ec@192.168.1.1:3901"
|
echo "$bootstrap_peers" | grep -E '[0-9a-f]{64}@((\b25[0-5]|\b2[0-4][0-9]|\b[01]?[0-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}|([a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]\.)+[a-zA-Z]{2,}):[0-9]{1,4}' || ynh_die --message="friend server id must have id with the following form : 1799bccfd7411eddcf9ebd316bc1f5287ad12a68094e1c6ac6abde7e6feae1ec@192.168.1.1:1234 or 1799bccfd7411eddcf9ebd316bc1f5287ad12a68094e1c6ac6abde7e6feae1ec@example.tld:1234"
|
||||||
bootstrap_peers_var="\"$bootstrap_peers\","
|
|
||||||
else
|
|
||||||
bootstrap_peers_var=""
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$datadir" = "/home/yunohost.app/__APP_NAME__/data" ]
|
if [ "$datadir" = "/home/yunohost.app/__APP_NAME__/data" ]
|
||||||
|
@ -109,6 +106,7 @@ ynh_app_setting_set --app=$app --key=domain --value=$domain
|
||||||
ynh_app_setting_set --app=$app --key=rpc_secret --value=$rpc_secret
|
ynh_app_setting_set --app=$app --key=rpc_secret --value=$rpc_secret
|
||||||
ynh_app_setting_set --app=$app --key=datadir --value=$datadir
|
ynh_app_setting_set --app=$app --key=datadir --value=$datadir
|
||||||
ynh_app_setting_set --app=$app --key=bootstrap_peers --value=$bootstrap_peers
|
ynh_app_setting_set --app=$app --key=bootstrap_peers --value=$bootstrap_peers
|
||||||
|
ynh_app_setting_set --app=$app --key=weight --value=$weight
|
||||||
|
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -135,6 +133,7 @@ port_admin=$(ynh_find_port --port=7000)
|
||||||
ynh_app_setting_set --app=$app --key=port_admin --value=$port_admin
|
ynh_app_setting_set --app=$app --key=port_admin --value=$port_admin
|
||||||
|
|
||||||
ynh_print_warn --message="port : $port port_api : $port_api port_web : $port_web port_admin : $port_admin"
|
ynh_print_warn --message="port : $port port_api : $port_api port_web : $port_web port_admin : $port_admin"
|
||||||
|
nbd_index=127
|
||||||
|
|
||||||
|
|
||||||
# Optional: Expose this port publicly
|
# Optional: Expose this port publicly
|
||||||
|
@ -208,7 +207,7 @@ ynh_script_progression --message="Configuring NGINX web server..." --time --weig
|
||||||
ynh_add_nginx_config
|
ynh_add_nginx_config
|
||||||
|
|
||||||
#add wildcard subdomain
|
#add wildcard subdomain
|
||||||
ynh_replace_string --match_string="server_name $domain" --replace_string="server_name $domain *.$domain" --target_file="/etc/nginx/conf.d/$domain.conf"
|
ynh_replace_special_string --match_string="server_name $domain" --replace_string="server_name $domain *.$domain" --target_file="/etc/nginx/conf.d/$domain.conf"
|
||||||
ynh_store_file_checksum --file="/etc/nginx/conf.d/$domain.conf"
|
ynh_store_file_checksum --file="/etc/nginx/conf.d/$domain.conf"
|
||||||
#=================================================
|
#=================================================
|
||||||
# SPECIFIC SETUP
|
# SPECIFIC SETUP
|
||||||
|
@ -272,7 +271,7 @@ mkdir -p $datadir/data
|
||||||
#=================================================
|
#=================================================
|
||||||
# create data partition
|
# create data partition
|
||||||
#=================================================
|
#=================================================
|
||||||
nbd_index=127
|
|
||||||
if [ "$virtualisation" = "true" ]
|
if [ "$virtualisation" = "true" ]
|
||||||
then
|
then
|
||||||
# to be sure to not exceed size limit, i use a virtual disk with a fix size to have a max limit size.
|
# to be sure to not exceed size limit, i use a virtual disk with a fix size to have a max limit size.
|
||||||
|
@ -407,11 +406,19 @@ ynh_script_progression --message="Configuring garage..." --time --weight=1
|
||||||
|
|
||||||
garage_command="$final_path/garage -c $final_path/garage.toml"
|
garage_command="$final_path/garage -c $final_path/garage.toml"
|
||||||
|
|
||||||
node_id=$($garage_command node id -q | cut -d '@' -f1)
|
node_id=$($garage_command node id -q 2>/dev/null | cut -d '@' -f1)
|
||||||
ynh_app_setting_set --app=$app --key=node_id --value=node_id
|
ynh_app_setting_set --app=$app --key=node_id --value=$node_id
|
||||||
|
|
||||||
|
|
||||||
init_garage "$garage_command" "$node_id" "$weight" "$domain"
|
if [ -n "$bootstrap_peers" ]
|
||||||
|
then
|
||||||
|
garage_connect "$garage_command" "$bootstrap_peers"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# define node
|
||||||
|
$garage_command layout assign $node_id -z $domain -c $weight -t $domain
|
||||||
|
# if there is enough node, apply layout
|
||||||
|
apply_layout "$garage_command"
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# Send email to admin
|
# Send email to admin
|
||||||
|
|
|
@ -32,7 +32,7 @@ domain=$(ynh_app_setting_get --app=$app --key=domain)
|
||||||
final_path=$(ynh_app_setting_get --app=$app --key=final_path)
|
final_path=$(ynh_app_setting_get --app=$app --key=final_path)
|
||||||
datadir=$(ynh_app_setting_get --app=$app --key=datadir)
|
datadir=$(ynh_app_setting_get --app=$app --key=datadir)
|
||||||
virtualisation=$(ynh_app_setting_get --app=$app --key=virtualisation)
|
virtualisation=$(ynh_app_setting_get --app=$app --key=virtualisation)
|
||||||
|
bootstrap_peers=$(ynh_app_setting_get --app=$app --key=bootstrap_peers)
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# CHECK IF THE APP CAN BE RESTORED
|
# CHECK IF THE APP CAN BE RESTORED
|
||||||
|
@ -86,8 +86,6 @@ then
|
||||||
ynh_app_setting_set --app=$app --key=nbd_index --value=$nbd_index
|
ynh_app_setting_set --app=$app --key=nbd_index --value=$nbd_index
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#ynh_restore_file --origin_path="$datadir/data" --not_mandatory
|
|
||||||
|
|
||||||
|
|
||||||
# FIXME: this should be managed by the core in the future
|
# FIXME: this should be managed by the core in the future
|
||||||
# Here, as a packager, you may have to tweak the ownerhsip/permissions
|
# Here, as a packager, you may have to tweak the ownerhsip/permissions
|
||||||
|
@ -102,10 +100,6 @@ chown -R $app:$app "$datadir"
|
||||||
#=================================================
|
#=================================================
|
||||||
# SPECIFIC RESTORATION
|
# SPECIFIC RESTORATION
|
||||||
#=================================================
|
#=================================================
|
||||||
# REINSTALL DEPENDENCIES
|
|
||||||
#=================================================
|
|
||||||
ynh_script_progression --message="Reinstalling dependencies..." --time --weight=1
|
|
||||||
|
|
||||||
|
|
||||||
# Open the port
|
# Open the port
|
||||||
ynh_script_progression --message="Configuring firewall..." --time --weight=1
|
ynh_script_progression --message="Configuring firewall..." --time --weight=1
|
||||||
|
@ -118,7 +112,7 @@ ynh_script_progression --message="Restoring the NGINX web server configuration..
|
||||||
|
|
||||||
ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf"
|
ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf"
|
||||||
#add wildcard subdomain
|
#add wildcard subdomain
|
||||||
ynh_replace_string --match_string="server_name $domain" --replace_string="server_name $domain *.$domain" --target_file="/etc/nginx/conf.d/$domain.conf"
|
ynh_replace_special_string --match_string="server_name $domain" --replace_string="server_name $domain *.$domain" --target_file="/etc/nginx/conf.d/$domain.conf"
|
||||||
|
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -158,6 +152,11 @@ weight=$(ynh_app_setting_get --app=$app --key=weight)
|
||||||
|
|
||||||
garage_command="$garage_path/garage -c $garage_path/garage.toml"
|
garage_command="$garage_path/garage -c $garage_path/garage.toml"
|
||||||
|
|
||||||
|
if [ -n "$bootstrap_peers" ]
|
||||||
|
then
|
||||||
|
$garage_command id connect "$bootstrap_peers"
|
||||||
|
fi
|
||||||
|
|
||||||
init_garage "$garage_command" "$node_id" "$weight" "$domain"
|
init_garage "$garage_command" "$node_id" "$weight" "$domain"
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
Loading…
Reference in New Issue
Block a user