1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/pixelfed_ynh.git synced 2024-09-03 20:06:04 +02:00

Merge pull request #51 from YunoHost-Apps/horizon-service

add horizon-service
This commit is contained in:
yalh76 2019-05-31 20:04:01 +02:00 committed by GitHub
commit 59f56080f3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 133 additions and 1 deletions

14
conf/horizon.service Normal file
View file

@ -0,0 +1,14 @@
[Unit]
Description=__APP__ Horizon Service
After=network.target
[Service]
Type=simple
User=__APP__
Group=__APP__
WorkingDirectory=__FINALPATH__/
ExecStart=/usr/bin/php7.2 __FINALPATH__/artisan horizon
Restart=on-failure
[Install]
WantedBy=multi-user.target

View file

@ -5,7 +5,7 @@
"description": {
"en": "ActivityPub Federated Image Sharing"
},
"version": "0.9.0~ynh2",
"version": "0.9.0~ynh3",
"url": "https://pixelfed.org/",
"license": "AGPL-3.0-or-later",
"maintainer": [

View file

@ -30,6 +30,13 @@ db_name=$(ynh_app_setting_get --app="$app" --key=db_name)
#=================================================
# STANDARD BACKUP STEPS
#=================================================
# STOP SYSTEMD SERVICE
#=================================================
ynh_print_info --message="Stopping a systemd service..."
ynh_systemd_action --service_name="${app}-horizon" --action="stop" --log_path=systemd
#=================================================
# BACKUP THE APP MAIN DIR
#=================================================
@ -58,6 +65,22 @@ ynh_print_info --message="Backing up the PostgreSQL database..."
ynh_psql_dump_db --database="$db_name" > db.sql
#=================================================
# SPECIFIC BACKUP
#=================================================
# BACKUP SYSTEMD
#=================================================
ynh_print_info --message="Backing up systemd configuration..."
ynh_backup --src_path="/etc/systemd/system/${app}-horizon.service"
#=================================================
# START SYSTEMD SERVICE
#=================================================
ynh_print_info --message="Starting a systemd service..."
ynh_systemd_action --service_name="${app}-horizon" --action="start" --log_path=systemd
#=================================================
# END OF SCRIPT
#=================================================

View file

@ -122,6 +122,14 @@ ynh_install_composer --phpversion="7.2" --workdir="$final_path"
#=================================================
# SPECIFIC SETUP
#=================================================
# SETUP SYSTEMD
#=================================================
ynh_print_info --message="Configuring a systemd service..."
# Create a dedicated systemd config
ynh_add_systemd_config --service="${app}-horizon" --template=horizon.service
#=================================================
# MODIFY A CONFIG FILE
#=================================================
@ -169,6 +177,20 @@ popd
chown -R root: "$final_path"
chown -R "$app": "$final_path/storage/"
#=================================================
# ADVERTISE SERVICE IN ADMIN PANEL
#=================================================
yunohost service add "${app}-horizon" --description "${app}-horizon daemon for $app" --log "/var/log/$app/${app}-horizon.log"
#=================================================
# START SYSTEMD SERVICE
#=================================================
ynh_print_info --message="Starting a systemd service..."
# Start a systemd service
ynh_systemd_action --service_name="${app}-horizon" --action="start" --log_path=systemd
#=================================================
# SETUP SSOWAT
#=================================================

View file

@ -23,6 +23,25 @@ final_path=$(ynh_app_setting_get --app="$app" --key=final_path)
#=================================================
# STANDARD REMOVE
#=================================================
# REMOVE SERVICE FROM ADMIN PANEL
#=================================================
# Remove a service from the admin panel, added by `yunohost service add`
if ynh_exec_warn_less yunohost service status ${app}-horizon >/dev/null
then
ynh_print_info --message="Removing ${app}-horizon service..."
yunohost service remove "${app}-horizon"
fi
#=================================================
# STOP AND REMOVE SERVICE
#=================================================
ynh_print_info --message="Stopping and removing the systemd service..."
# Remove the dedicated systemd config
ynh_remove_systemd_config --service="${app}-horizon"
#=================================================
# REMOVE THE POSTGRESQL DATABASE
#=================================================

View file

@ -103,6 +103,27 @@ ynh_psql_test_if_first_run
ynh_psql_setup_db --db_user="$db_user" --db_name="$db_name" --db_pwd="$db_pwd"
ynh_psql_execute_file_as_root --file="./db.sql" --database="$db_name"
#=================================================
# RESTORE SYSTEMD
#=================================================
ynh_print_info --message="Restoring the systemd configuration..."
ynh_restore_file --origin_path="/etc/systemd/system/${app}-horizon.service"
systemctl enable ${app}-horizon.service
#=================================================
# ADVERTISE SERVICE IN ADMIN PANEL
#=================================================
yunohost service add "${app}-horizon" --log "/var/log/$app/${app}-horizon.log"
#=================================================
# START SYSTEMD SERVICE
#=================================================
ynh_print_info --message="Starting a systemd service..."
ynh_systemd_action --service_name="${app}-horizon" --action="start" --log_path=systemd
#=================================================
# GENERIC FINALIZATION
#=================================================

View file

@ -65,6 +65,10 @@ if [ -z "$app_key" ]; then
ynh_app_setting_set --app="$app" --key=app_key --value="$app_key"
fi
if dpkg --compare-versions "0.9.0~ynh3" gt "$(ynh_read_manifest --manifest="/etc/yunohost/apps/$YNH_APP_INSTANCE_NAME/manifest.json" --manifest_key="version" || echo 1.0)" ; then
ynh_add_systemd_config --service="${app}-horizon" --template=horizon.service
fi
#=================================================
# BACKUP BEFORE UPGRADE THEN ACTIVE TRAP
#=================================================
@ -73,6 +77,7 @@ ynh_print_info --message="Backing up the app before upgrading (may take a while)
# Backup the current version of the app
ynh_backup_before_upgrade
ynh_clean_setup () {
read -p "key"
# restore it if the upgrade fails
ynh_restore_upgradebackup
}
@ -81,6 +86,13 @@ ynh_abort_if_errors
#=================================================
# STANDARD UPGRADE STEPS
#=================================================
# STOP SYSTEMD SERVICE
#=================================================
ynh_print_info --message="Stopping a systemd service..."
ynh_systemd_action --service_name="${app}-horizon" --action="stop" --log_path=systemd
#=================================================
# DOWNLOAD, CHECK AND UNPACK SOURCE
#=================================================
@ -180,6 +192,20 @@ ynh_backup_if_checksum_is_different --file="$config"
# Recalculate and store the checksum of the file for the next upgrade.
ynh_store_file_checksum --file="$config"
#=================================================
# SETUP SYSTEMD
#=================================================
ynh_print_info --message="Upgrading systemd configuration..."
# Create a dedicated systemd config
ynh_add_systemd_config --service="${app}-horizon" --template=horizon.service
#=================================================
# ADVERTISE SERVICE IN ADMIN PANEL
#=================================================
yunohost service add "${app}-horizon" --description "${app}-horizon daemon for $app" --log "/var/log/$app/${app}-horizon.log"
#=================================================
# GENERIC FINALIZATION
#=================================================
@ -201,6 +227,13 @@ then
ynh_app_setting_set --app="$app" --key=unprotected_uris --value="/"
fi
#=================================================
# START SYSTEMD SERVICE
#=================================================
ynh_print_info --message="Starting a systemd service..."
ynh_systemd_action --service_name="${app}-horizon" --action="start" --log_path=systemd
#=================================================
# RELOAD NGINX
#=================================================