diff --git a/conf/secrets.yml b/conf/secrets.yml index ec44c77..fc0b3e3 100644 --- a/conf/secrets.yml +++ b/conf/secrets.yml @@ -5,15 +5,15 @@ production: delivery_method: 'smtp' smtp_address: 'localhost' smtp_port: 25 - smtp_user_name: - smtp_password: + smtp_user_name: '__APP__' + smtp_password: '__MAIL_PWD__' time_zone: 'Paris' smtp_authentication: 'none' smtp_enable_starttls_auto: false - smtp_openssl_verify_mode: + smtp_openssl_verify_mode: smtp_tls: false - smtp_ca_file: - smtp_ca_path: + smtp_ca_file: + smtp_ca_path: week_starting_day: 'monday' d3_date_format: '%y-%m-%d' uib_date_format: 'dd/MM/yyyy' @@ -30,13 +30,13 @@ production: openlab_base_uri: 'https://openprojects.fab-manager.com' openlab_ssl_verify: true openlab_ssl_verify_peer: true - navinum_api_login: - navinum_api_password: + navinum_api_login: + navinum_api_password: elaticsearch_host: localhost max_image_size: 10485760 max_cao_size: 20971520 max_import_size: 5242880 - max_proof_of_identity_file_size: + max_proof_of_identity_file_size: disk_space_mb_alert: 1024 adminsys_email: 'root@__DOMAIN__' allow_insecure_http: false diff --git a/manifest.toml b/manifest.toml index 391f1fd..7439fd4 100644 --- a/manifest.toml +++ b/manifest.toml @@ -6,7 +6,7 @@ id = "fab-manager" name = "Fab-manager" description.en = "Fab Lab management solution." -version = "5.6.5~ynh2" +version = "6.3.9~ynh1" maintainers = [] @@ -21,11 +21,13 @@ code = "https://github.com/sleede/fab-manager" yunohost = ">= 11.2" architectures = "all" multi_instance = false + ldap = false sso = false -disk = "50M" # FIXME: replace with an **estimate** minimum disk requirement. e.g. 20M, 400M, 1G, ... -ram.build = "50M" # FIXME: replace with an **estimate** minimum ram requirement. e.g. 50M, 400M, 1G, ... -ram.runtime = "50M" # FIXME: replace with an **estimate** minimum ram requirement. e.g. 50M, 400M, 1G, ... + +disk = "50M" +ram.build = "50M" +ram.runtime = "50M" [install] [install.domain] @@ -45,12 +47,13 @@ ram.runtime = "50M" # FIXME: replace with an **estimate** minimum ram requiremen [resources] [resources.sources.main] - url = "https://api.github.com/repos/sleede/fab-manager/tarball/v5.6.5" - sha256 = "dc6ae9fefd893975ee2b70c5b327a37b3d585dcf223ddffe75cc0b570771102d" + url = "https://github.com/sleede/fab-manager/archive/refs/tags/v6.3.9.tar.gz" + sha256 = "b6a68bf91009678a3a666cfd5cab8e3c636ac9fbb920e3e4e4bd29b093c7f43d" autoupdate.strategy = "latest_github_tag" [resources.system_user] + allow_email = true [resources.install_dir] @@ -60,7 +63,7 @@ ram.runtime = "50M" # FIXME: replace with an **estimate** minimum ram requiremen main.url = "/" [resources.ports] - main.default = 8095 +main.default = 8095 [resources.apt] packages = [ diff --git a/scripts/_common.sh b/scripts/_common.sh index c156bb2..3eb38f7 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -4,10 +4,9 @@ # COMMON VARIABLES #================================================= -ruby_version="2.6.10" -bundler_version=2.1.4 +ruby_version="3.1" -nodejs_version="14" +nodejs_version="18" # Workaround for Mastodon on Bullseye # See https://github.com/mastodon/mastodon/issues/15751#issuecomment-873594463 diff --git a/scripts/ynh_supervisor b/scripts/ynh_supervisor deleted file mode 100644 index 67bd2bd..0000000 --- a/scripts/ynh_supervisor +++ /dev/null @@ -1,167 +0,0 @@ -#!/bin/bash - -# Create a dedicated supervisor config -# -# usage: ynh_add_supervisor_config [--service=service] [--template=template] -# | arg: -s, --service= - Service name (optionnal, `$app` by default) -# | arg: -t, --template= - Name of template file (optionnal, this is 'supervisor' by default, meaning ./conf/supervisor.service will be used as template) -# -# This will use the template `../conf/.service`. -# -# See the documentation of `ynh_add_config` for a description of the template -# format and how placeholders are replaced with actual variables. -# -# Requires YunoHost version 2.7.11 or higher. -ynh_add_supervisor_config () { - # Declare an array to define the options of this helper. - local legacy_args=stv - local -A args_array=( [s]=service= [t]=template= [v]=others_var=) - local service - local template - local others_var - # Manage arguments with getopts - ynh_handle_getopts_args "$@" - local service="${service:-$app}" - local template="${template:-supervisor.service}" - others_var="${others_var:-}" - - [[ -z "$others_var" ]] || ynh_print_warn --message="Packagers: using --others_var is unecessary since Yunohost 4.2" - - ynh_add_config --template="$YNH_APP_BASEDIR/conf/$template" --destination="/etc/supervisor/conf.d/$service.conf" - - supervisorctl reread - supervisorctl update -} - -# Remove the dedicated supervisor config -# -# usage: ynh_remove_supervisor_config [--service=service] -# | arg: -s, --service= - Service name (optionnal, $app by default) -# -# Requires YunoHost version 2.7.2 or higher. -ynh_remove_supervisor_config () { - # Declare an array to define the options of this helper. - local legacy_args=s - local -A args_array=( [s]=service= ) - local service - # Manage arguments with getopts - ynh_handle_getopts_args "$@" - local service="${service:-$app}" - - local finalsupervisorconf="/etc/supervisor/conf.d/$service.conf" - if [ -e "$finalsupervisorconf" ] - then - ynh_supervisor_action --service_name=$service --action=stop - ynh_secure_remove --file="$finalsupervisorconf" - supervisorctl reread - supervisorctl update - fi -} - -# Start (or other actions) a service, print a log in case of failure and optionnaly wait until the service is completely started -# -# usage: ynh_supervisor_action [--service_name=service_name] [--action=action] [ [--line_match="line to match"] [--log_path=log_path] [--timeout=300] [--length=20] ] -# | arg: -n, --service_name= - Name of the service to start. Default : `$app` -# | arg: -a, --action= - Action to perform with supervisorctl. Default: start -# | arg: -l, --line_match= - Line to match - The line to find in the log to attest the service have finished to boot. If not defined it don't wait until the service is completely started. -# | arg: -p, --log_path= - Log file - Path to the log file. Default : `/var/log/$app/$app.log` -# | arg: -t, --timeout= - Timeout - The maximum time to wait before ending the watching. Default : 300 seconds. -# | arg: -e, --length= - Length of the error log : Default : 20 -# -# Requires YunoHost version 3.5.0 or higher. -ynh_supervisor_action() { - # Declare an array to define the options of this helper. - local legacy_args=nalpte - declare -Ar args_array=( [n]=service_name= [a]=action= [l]=line_match= [p]=log_path= [t]=timeout= [e]=length= ) - local service_name - local action - local line_match - local length - local log_path - local timeout - # Manage arguments with getopts - ynh_handle_getopts_args "$@" - service_name="${service_name:-$app}" - action=${action:-start} - line_match=${line_match:-} - length=${length:-20} - log_path="${log_path:-/var/log/$service_name/$service_name.log}" - timeout=${timeout:-300} - - # Start to read the log - if [[ -n "$line_match" ]] - then - local templog="$(mktemp)" - # Following the starting of the app in its log - if [ "$log_path" == "systemd" ] - then - # Read the supervisor journal - journalctl --unit=supervisor --follow --since=-0 --quiet > "$templog" & - # Get the PID of the journalctl command - local pid_tail=$! - else - # Read the specified log file - tail --follow=name --retry --lines=0 "$log_path" > "$templog" 2>&1 & - # Get the PID of the tail command - local pid_tail=$! - fi - fi - - # Use reload-or-restart instead of reload. So it wouldn't fail if the service isn't running. - if [ "$action" == "reload" ]; then - action="update" - fi - - # If the service fails to perform the action - if ! supervisorctl $action $service_name - then - # Show syslog for this service - ynh_exec_err journalctl --quiet --no-hostname --no-pager --lines=$length --unit=$service_name - # If a log is specified for this service, show also the content of this log - if [ -e "$log_path" ] - then - ynh_exec_err tail --lines=$length "$log_path" - fi - ynh_clean_check_starting - return 1 - fi - - # Start the timeout and try to find line_match - if [[ -n "${line_match:-}" ]] - then - set +x - local i=0 - for i in $(seq 1 $timeout) - do - # Read the log until the sentence is found, that means the app finished to start. Or run until the timeout - if grep --extended-regexp --quiet "$line_match" "$templog" - then - ynh_print_info --message="The service $service_name has correctly executed the action ${action}." - break - fi - if [ $i -eq 3 ]; then - echo -n "Please wait, the service $service_name is ${action}ing" >&2 - fi - if [ $i -ge 3 ]; then - echo -n "." >&2 - fi - sleep 1 - done - set -x - if [ $i -ge 3 ]; then - echo "" >&2 - fi - if [ $i -eq $timeout ] - then - ynh_print_warn --message="The service $service_name didn't fully executed the action ${action} before the timeout." - ynh_print_warn --message="Please find here an extract of the end of the log of the service $service_name:" - ynh_exec_warn journalctl --quiet --no-hostname --no-pager --lines=$length --unit=$service_name - if [ -e "$log_path" ] - then - ynh_print_warn --message="\-\-\-" - ynh_exec_warn tail --lines=$length "$log_path" - fi - fi - ynh_clean_check_starting - fi -}