diff --git a/conf/nginx.conf b/conf/nginx.conf index 052c370..6017a98 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -9,6 +9,16 @@ location __PATH__/ { rewrite ^ https://$server_name$request_uri? permanent; } + proxy_pass http://127.0.0.1:__PORT____PATH__/; + proxy_pass_request_headers on; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Forwarded-Host $http_host; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection $http_connection; + # Include SSOWAT user panel. include conf.d/yunohost_panel.conf.inc; } diff --git a/conf/systemd.service b/conf/systemd.service index c6c3ce9..8056670 100644 --- a/conf/systemd.service +++ b/conf/systemd.service @@ -1,5 +1,5 @@ [Unit] -Description=Small description of the service +Description=Free and open source comics/mangas media server. After=network.target [Service] @@ -7,7 +7,7 @@ Type=simple User=__APP__ Group=__APP__ WorkingDirectory=__FINALPATH__/ -ExecStart=java -jar __FINALPATH__/app.jar --server.port=__PORT__ >> /var/log/__APP__/__APP__.log 2>&1 +ExecStart=java -jar __FINALPATH__/app.jar --server.port=__PORT__ --server.servlet.context-path="__PATH__" >> /var/log/__APP__/__APP__.log 2>&1 [Install] WantedBy=multi-user.target diff --git a/manifest.json b/manifest.json index 0a1ee7a..c2ac494 100644 --- a/manifest.json +++ b/manifest.json @@ -3,16 +3,16 @@ "id": "komga", "packaging_format": 1, "description": { - "en": "Explain in *a few (10~15) words* the purpose of the app or what it actually does (it is meant to give a rough idea to users browsing a catalog of 100+ apps)", + "en": "Komga is a free and open source comics/mangas/magazines server.", "fr": "Expliquez en *quelques* (10~15) mots l'utilité de l'app ou ce qu'elle fait (l'objectif est de donner une idée grossière pour des utilisateurs qui naviguent dans un catalogue de 100+ apps)" }, - "version": "1.0~ynh1", - "url": "https://example.com", + "version": "0.75.1~ynh1", + "url": "https://komga.org", "license": "free", "maintainer": { - "name": "John doe", - "email": "john.doe@example.com", - "url": "http://example.com" + "name": "Navan Chauhan", + "email": "navanchauhan@gmail.com", + "url": "https://navan.dev" }, "requirements": { "yunohost": ">= 4.1.3" @@ -27,8 +27,8 @@ "name": "domain", "type": "domain", "ask": { - "en": "Choose a domain name for ynhexample", - "fr": "Choisissez un nom de domaine pour ynhexample" + "en": "Choose a domain name for Komga", + "fr": "Choisissez un nom de domaine pour Komga" }, "example": "example.com" }, @@ -36,11 +36,11 @@ "name": "path", "type": "path", "ask": { - "en": "Choose a path for ynhexample", - "fr": "Choisissez un chemin pour ynhexample" + "en": "Choose a path for Komga", + "fr": "Choisissez un chemin pour Komga" }, - "example": "/example", - "default": "/example" + "example": "/komga", + "default": "/komga" }, { "name": "is_public", diff --git a/scripts/backup b/scripts/backup index 6ea8892..24ca44d 100755 --- a/scripts/backup +++ b/scripts/backup @@ -30,8 +30,6 @@ app=$YNH_APP_INSTANCE_NAME final_path=$(ynh_app_setting_get --app=$app --key=final_path) domain=$(ynh_app_setting_get --app=$app --key=domain) -db_name=$(ynh_app_setting_get --app=$app --key=db_name) -phpversion=$(ynh_app_setting_get --app=$app --key=phpversion) #================================================= # DECLARE DATA AND CONF FILES TO BACKUP @@ -49,25 +47,18 @@ ynh_print_info --message="Declaring files to be backed up..." ynh_backup --src_path="$final_path" +#================================================= +# BACKUP THE Database DIR +#================================================= + +ynh_backup --src_path="/home/komga" + #================================================= # BACKUP THE NGINX CONFIGURATION #================================================= ynh_backup --src_path="/etc/nginx/conf.d/$domain.d/$app.conf" -#================================================= -# BACKUP THE PHP-FPM CONFIGURATION -#================================================= - -ynh_backup --src_path="/etc/php/$phpversion/fpm/pool.d/$app.conf" - -#================================================= -# BACKUP FAIL2BAN CONFIGURATION -#================================================= - -ynh_backup --src_path="/etc/fail2ban/jail.d/$app.conf" -ynh_backup --src_path="/etc/fail2ban/filter.d/$app.conf" - #================================================= # SPECIFIC BACKUP #================================================= @@ -82,23 +73,6 @@ ynh_backup --src_path="/etc/logrotate.d/$app" ynh_backup --src_path="/etc/systemd/system/$app.service" -#================================================= -# BACKUP VARIOUS FILES -#================================================= - -ynh_backup --src_path="/etc/cron.d/$app" - -ynh_backup --src_path="/etc/$app/" - -#================================================= -# BACKUP THE MYSQL DATABASE -#================================================= -ynh_print_info --message="Backing up the MySQL database..." - -### (However, things like MySQL dumps *do* take some time to run, though the -### copy of the generated dump to the archive still happens later) - -ynh_mysql_dump_db --database="$db_name" > db.sql #================================================= # END OF SCRIPT diff --git a/scripts/install b/scripts/install index c4230cd..2e57960 100755 --- a/scripts/install +++ b/scripts/install @@ -84,6 +84,7 @@ ynh_script_progression --message="Finding an available port..." --time --weight= # Find an available port port=$(ynh_find_port --port=8080) ynh_replace_string --match_string=__PORT__ --replace_string="$port" --target_file="../conf/systemd.service" +ynh_replace_string --match_string=__PATH__ --replace_string="$path_url" --target_file="../conf/systemd.service" ynh_app_setting_set --app=$app --key=port --value=$port # Optional: Expose this port publicly diff --git a/scripts/remove b/scripts/remove index 7b06beb..240542c 100755 --- a/scripts/remove +++ b/scripts/remove @@ -52,10 +52,11 @@ ynh_remove_app_dependencies #================================================= # REMOVE APP MAIN DIR #================================================= -ynh_script_progression --message="Removing app main directory..." --time --weight=1 +ynh_script_progression --message="Removing app main directory and database..." --time --weight=1 # Remove the app directory securely ynh_secure_remove --file="$final_path" +ynh_secure_remove --file="/home/komga/" #================================================= # REMOVE NGINX CONFIGURATION @@ -89,10 +90,6 @@ fi # REMOVE VARIOUS FILES #================================================= -# Remove a cron file -ynh_secure_remove --file="/etc/cron.d/$app" - -# Remove a directory securely ynh_secure_remove --file="/etc/$app/" # Remove the log files diff --git a/scripts/restore b/scripts/restore index c334a77..a6c19c9 100755 --- a/scripts/restore +++ b/scripts/restore @@ -31,9 +31,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) 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 -phpversion=$(ynh_app_setting_get --app=$app --key=phpversion) #================================================= # CHECK IF THE APP CAN BE RESTORED @@ -60,6 +57,13 @@ ynh_script_progression --message="Restoring the app main directory..." --time -- ynh_restore_file --origin_path="$final_path" +#================================================= +# RESTORE THE DATABASE DIR +#================================================= +ynh_script_progression --message="Restoring the app database..." --time --weight=1 + +ynh_restore_file --origin_path="/home/komga" + #================================================= # RECREATE THE DEDICATED USER #================================================= @@ -74,21 +78,7 @@ ynh_system_user_create --username=$app # Restore permissions on app files chown -R root: $final_path - -#================================================= -# RESTORE THE PHP-FPM CONFIGURATION -#================================================= - -ynh_restore_file --origin_path="/etc/php/$phpversion/fpm/pool.d/$app.conf" - -#================================================= -# RESTORE FAIL2BAN CONFIGURATION -#================================================= -ynh_script_progression --message="Restoring the Fail2Ban configuration..." --time --weight=1 - -ynh_restore_file "/etc/fail2ban/jail.d/$app.conf" -ynh_restore_file "/etc/fail2ban/filter.d/$app.conf" -ynh_systemd_action --action=restart --service_name=fail2ban +chown -R $app: "/home/komga" #================================================= # SPECIFIC RESTORATION @@ -100,15 +90,6 @@ ynh_script_progression --message="Reinstalling dependencies..." --time --weight= # Define and install dependencies ynh_install_app_dependencies $pkg_dependencies -#================================================= -# RESTORE THE MYSQL DATABASE -#================================================= -ynh_script_progression --message="Restoring the MySQL database..." --time --weight=1 - -db_pwd=$(ynh_app_setting_get --app=$app --key=mysqlpwd) -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 - #================================================= # RESTORE SYSTEMD #================================================= @@ -131,14 +112,6 @@ ynh_script_progression --message="Starting a systemd service..." --time --weight ynh_systemd_action --service_name=$app --action="start" --log_path="/var/log/$app/$app.log" -#================================================= -# RESTORE VARIOUS FILES -#================================================= - -ynh_restore_file --origin_path="/etc/cron.d/$app" - -ynh_restore_file --origin_path="/etc/$app/" - #================================================= # RESTORE THE LOGROTATE CONFIGURATION #================================================= @@ -150,9 +123,8 @@ ynh_restore_file --origin_path="/etc/logrotate.d/$app" #================================================= # RELOAD NGINX AND PHP-FPM #================================================= -ynh_script_progression --message="Reloading NGINX web server and PHP-FPM..." --time --weight=1 +ynh_script_progression --message="Reloading NGINX web server..." --time --weight=1 -ynh_systemd_action --service_name=php$phpversion-fpm --action=reload ynh_systemd_action --service_name=nginx --action=reload #=================================================