Unable to update or install apps due to APT/DPKG issues, strange Phanpy errors

What type of hardware are you using: VPS bought online
What YunoHost version are you running: YunoHost 12.0.16 (stable)
How are you able to access your server: The webadmin
SSH
Are you in a special context or did you perform specific tweaking on your YunoHost instance ?: Hostinger VPS running Debian 12

Describe your issue

Something’s gone horribly awry with my YunoHost deployment. Any help with this would be greatly appreciated!

This is a Debian VPS at Hostinger, and I’m using a combination of the web UI and SSH to access it. I am using this deployment primarily to host a single-user GoToSocial instance and (prior to these errors) Phanpy, as well as a sandbox to test Ghost and LibreERP. I have also previously used WriteFreely on this VPS, but I have since deleted it. Each of the four apps has its own subdomain. My main goal is to ideally resolve what’s going on with Phanpy and APT/DPKG, or at the very least preserve the GtS account.

This is a two-part issue. First, the smaller of the two issues: Phanpy has gone AWOL. It’s visible in some places, but not others.

Phany is listed as an app on the front page of the YunoHost web UI.

But go into Administration > Applications, and it’s not listed as an installed app.

When I go to the URL it was installed at, and it’s just a blank screen. It had previously worked fine at this address.

And yet. When I SSH in, and see what’s in the /etc/yunohost/apps folder, Phanpy’s files are still clearly installed on the server.

Likewise, the Phanpy files (or at least some of them) are visible at /var/www

root@sadauskas:~# cd /var/www
root@sadauskas:/var/www# ls
ghost gotosocial html libreerp phanpy
root@sadauskas:/var/www# cd phanpy
root@sadauskas:/var/www/phanpy# ls
404.html compose logo-192.png logo-maskable-512.png og-image.png sw.js.map
apple-touch-icon.png favicon.ico logo-512.png manifest.webmanifest robots.txt version.json
assets index.html logo-badge-72.png og-image-2.jpg sw.js

Now, here’s where this Phanpy situation is a big issue…

When I go into System Update, while YunoHost is querying the server, it lists “Failed to read info for phanpy : ‘arguments’”.

When I go to do a system update, it produces an error that reads:

"Error: “400”

Action: “PUT” /yunohost/api/upgrade/system

Error message:
You cannot do this right now because dpkg/APT (the system package managers) seems to be in a broken state… You can try to solve this issue by connecting through SSH and running sudo apt install --fix-broken and/or sudo dpkg --configure -a and/or sudo dpkg --audit."

There’s a similar error message when I try to update an app.

And likewise, if I try to install an app: “You cannot do this right now because dpkg/APT (the system package managers) seems to be in a broken state… You can try to solve this issue by connecting through SSH and running sudo apt install --fix-broken and/or sudo dpkg --configure -a and/or sudo dpkg --audit.”

(I’ve tried a fresh install of Phanpy through the UI, and I’ve tried to install a new app, SearXNG. Same thing in both cases.)

So I’ll go over to SSH to try those suggested commands from the command line.

So over to the command line. First, a sudo apt update.

Debian fetches the updates as it should. It says:

“Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
1 package can be upgraded. Run ‘apt list --upgradable’ to see it.”

Apt list --upgradable mentions: monarx-agent/bookworm 4.2.72-master amd64 [upgradable from: 4.2.62-master]

Okay, so with that done, let’s try the three commands YunoHost recommended:

sudo apt install --fix-broken produces the following output:

“Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Setting up yunohost (12.0.16) …
Regenerating configuration, this might take a while…
Traceback (most recent call last):
File “/usr/bin/yunohost”, line 108, in
main()
File “/usr/bin/yunohost”, line 97, in main
yunohost.cli(
File “/usr/lib/python3/dist-packages/yunohost/init.py”, line 41, in cli
ret = moulinette.cli(
^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/moulinette/init.py”, line 140, in cli
).run(args, output_as=output_as, timeout=timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/moulinette/interfaces/cli.py”, line 521, in run
ret = self.actionsmap.process(args, timeout=timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/moulinette/actionsmap.py”, line 579, in process
return func(**arguments)
^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/yunohost/app.py”, line 1755, in app_ssowatconf
local_manifest = _get_manifest_of_app(setting_path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/yunohost/app.py”, line 2269, in _get_manifest_of_app
manifest = _convert_v1_manifest_to_v2(manifest)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/yunohost/app.py”, line 2397, in _convert_v1_manifest_to_v2
install_questions = manifest[“arguments”][“install”]
~~~~~~~~^^^^^^^^^^^^^
KeyError: ‘arguments’
dpkg: error processing package yunohost (–configure):
installed yunohost package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
yunohost
E: Sub-process /usr/bin/dpkg returned an error code (1)”

Typing sudo dpkg --configure -a gives us the following:

Setting up yunohost (12.0.16) …
Regenerating configuration, this might take a while…
Traceback (most recent call last):
File “/usr/bin/yunohost”, line 108, in
main()
File “/usr/bin/yunohost”, line 97, in main
yunohost.cli(
File “/usr/lib/python3/dist-packages/yunohost/init.py”, line 41, in cli
ret = moulinette.cli(
^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/moulinette/init.py”, line 140, in cli
).run(args, output_as=output_as, timeout=timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/moulinette/interfaces/cli.py”, line 521, in run
ret = self.actionsmap.process(args, timeout=timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/moulinette/actionsmap.py”, line 579, in process
return func(**arguments)
^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/yunohost/app.py”, line 1755, in app_ssowatconf
local_manifest = _get_manifest_of_app(setting_path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/yunohost/app.py”, line 2269, in _get_manifest_of_app
manifest = _convert_v1_manifest_to_v2(manifest)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/yunohost/app.py”, line 2397, in _convert_v1_manifest_to_v2
install_questions = manifest[“arguments”][“install”]
~~~~~~~~^^^^^^^^^^^^^
KeyError: ‘arguments’
dpkg: error processing package yunohost (–configure):
installed yunohost package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
yunohost"

And let’s try sudo dpkg --audit:

“The following packages are only half configured, probably due to problems
configuring them the first time. The configuration should be retried using
dpkg --configure or the configure menu option in dselect:
yunohost manageable and configured self-hosting server”

I’ve also performed a self-diagnosis.

It says everything looks OK for base system, internet connectivity, ports exposure, web, services check, system resources, system configurations, and applications.

But.

The line "Failed to read info for phanpy : ‘arguments’ appears repeatedly in red.

Okay.

So.

Any idea what’s going on here?

What should I try next to fix this?

Share relevant logs or error messages

args:
apps:

  • ghost
    name: ghost-pre-upgrade2
    system: null
    ended_at: 2025-05-15 11:02:59.958851
    error: null
    interface: api
    operation: backup_create
    parent: null
    related_to:
    • app
    • ghost
      started_at: 2025-05-15 11:01:35.874093
      success: true
      yunohost_version: 12.0.16

============

2025-05-15 11:01:35,887: INFO - Collecting files to be backed up for ghost…
2025-05-15 11:01:35,902: DEBUG - Executing command ‘[‘sh’, ‘-c’, ‘/bin/bash -x “/var/cache/yunohost/app_tmp_work_dirs/app_mg_u41_b/scripts/backup” 7>&1’]’
2025-05-15 11:01:35,905: DEBUG - + source ../settings/scripts/_common.sh
2025-05-15 11:01:35,905: DEBUG - ++ nodejs_version=20
2025-05-15 11:01:35,905: DEBUG - + source /usr/share/yunohost/helpers
2025-05-15 11:01:35,906: DEBUG - ++++ dirname – /usr/share/yunohost/helpers
2025-05-15 11:01:35,907: DEBUG - +++ cd – /usr/share/yunohost
2025-05-15 11:01:35,908: DEBUG - +++ pwd
2025-05-15 11:01:35,908: DEBUG - ++ SCRIPT_DIR=/usr/share/yunohost
2025-05-15 11:01:35,908: DEBUG - ++ YNH_HELPERS_VERSION=2
2025-05-15 11:01:35,910: DEBUG - ++ readonly ‘XTRACE_ENABLE=set -o xtrace’
2025-05-15 11:01:35,910: DEBUG - ++ XTRACE_ENABLE=‘set -o xtrace’
2025-05-15 11:01:35,941: DEBUG - + ynh_print_info ‘–message=Declaring files to be backed up…’
2025-05-15 11:01:35,952: DEBUG - + ynh_backup --src_path=/var/www/ghost
2025-05-15 11:01:35,953: INFO - Declaring files to be backed up…
2025-05-15 11:01:35,985: DEBUG - + dest_path=
2025-05-15 11:01:35,985: DEBUG - + is_big=0
2025-05-15 11:01:35,985: DEBUG - + not_mandatory=0
2025-05-15 11:01:35,985: DEBUG - + BACKUP_CORE_ONLY=1
2025-05-15 11:01:35,985: DEBUG - + test -n ghost
2025-05-15 11:01:35,985: DEBUG - ++ ynh_app_setting_get --app=ghost --key=do_not_backup_data
2025-05-15 11:01:36,058: DEBUG - + do_not_backup_data=
2025-05-15 11:01:36,058: DEBUG - + ‘[’ ‘!’ -e /var/www/ghost ‘]’
2025-05-15 11:01:36,059: DEBUG - ++ realpath /var/www/ghost
2025-05-15 11:01:36,061: DEBUG - + src_path=/var/www/ghost
2025-05-15 11:01:36,061: DEBUG - + [[ -z ‘’ ]]
2025-05-15 11:01:36,061: DEBUG - + dest_path=var/www/ghost
2025-05-15 11:01:36,061: DEBUG - + [[ -e var/www/ghost ]]
2025-05-15 11:01:36,061: DEBUG - + local rel_dir=/apps/ghost/backup
2025-05-15 11:01:36,061: DEBUG - + rel_dir=/apps/ghost/backup/
2025-05-15 11:01:36,061: DEBUG - + dest_path=/apps/ghost/backup/var/www/ghost
2025-05-15 11:01:36,061: DEBUG - + dest_path=apps/ghost/backup/var/www/ghost
2025-05-15 11:01:36,062: DEBUG - ++ echo /var/www/ghost
2025-05-15 11:01:36,062: DEBUG - ++ sed --regexp-extended ‘s/"/""/g’
2025-05-15 11:01:36,064: DEBUG - + local src=/var/www/ghost
2025-05-15 11:01:36,065: DEBUG - ++ echo apps/ghost/backup/var/www/ghost
2025-05-15 11:01:36,065: DEBUG - ++ sed --regexp-extended ‘s/"/""/g’
2025-05-15 11:01:36,067: DEBUG - + local dest=apps/ghost/backup/var/www/ghost
2025-05-15 11:01:36,068: DEBUG - ++ dirname /home/yunohost.backup/tmp/ghost-pre-upgrade2/apps/ghost/backup/var/www/ghost
2025-05-15 11:01:36,069: DEBUG - + mkdir --parents /home/yunohost.backup/tmp/ghost-pre-upgrade2/apps/ghost/backup/var/www
2025-05-15 11:01:36,072: DEBUG - + ynh_backup --src_path=/etc/nginx/conf.d/blog.maindomain.tld.d/ghost.conf
2025-05-15 11:01:36,108: DEBUG - + dest_path=
2025-05-15 11:01:36,108: DEBUG - + is_big=0
2025-05-15 11:01:36,108: DEBUG - + not_mandatory=0
2025-05-15 11:01:36,109: DEBUG - + BACKUP_CORE_ONLY=1
2025-05-15 11:01:36,109: DEBUG - + test -n ghost
2025-05-15 11:01:36,109: DEBUG - ++ ynh_app_setting_get --app=ghost --key=do_not_backup_data
2025-05-15 11:01:36,180: DEBUG - + do_not_backup_data=
2025-05-15 11:01:36,180: DEBUG - + ‘[’ ‘!’ -e /etc/nginx/conf.d/blog.maindomain.tld.d/ghost.conf ‘]’
2025-05-15 11:01:36,180: DEBUG - ++ realpath /etc/nginx/conf.d/blog.maindomain.tld.d/ghost.conf
2025-05-15 11:01:36,182: DEBUG - + src_path=/etc/nginx/conf.d/blog.maindomain.tld.d/ghost.conf
2025-05-15 11:01:36,182: DEBUG - + [[ -z ‘’ ]]
2025-05-15 11:01:36,182: DEBUG - + dest_path=etc/nginx/conf.d/blog.maindomain.tld.d/ghost.conf
2025-05-15 11:01:36,182: DEBUG - + [[ -e etc/nginx/conf.d/blog.maindomain.tld.d/ghost.conf ]]
2025-05-15 11:01:36,183: DEBUG - + local rel_dir=/apps/ghost/backup
2025-05-15 11:01:36,183: DEBUG - + rel_dir=/apps/ghost/backup/
2025-05-15 11:01:36,183: DEBUG - + dest_path=/apps/ghost/backup/etc/nginx/conf.d/blog.maindomain.tld.d/ghost.conf
2025-05-15 11:01:36,183: DEBUG - + dest_path=apps/ghost/backup/etc/nginx/conf.d/blog.maindomain.tld.d/ghost.conf
2025-05-15 11:01:36,183: DEBUG - ++ echo /etc/nginx/conf.d/blog.maindomain.tld.d/ghost.conf
2025-05-15 11:01:36,183: DEBUG - ++ sed --regexp-extended ‘s/"/""/g’
2025-05-15 11:01:36,185: DEBUG - + local src=/etc/nginx/conf.d/blog.maindomain.tld.d/ghost.conf
2025-05-15 11:01:36,186: DEBUG - ++ echo apps/ghost/backup/etc/nginx/conf.d/blog.maindomain.tld.d/ghost.conf
2025-05-15 11:01:36,186: DEBUG - ++ sed --regexp-extended ‘s/"/""/g’
2025-05-15 11:01:36,188: DEBUG - + local dest=apps/ghost/backup/etc/nginx/conf.d/blog.maindomain.tld.d/ghost.conf
2025-05-15 11:01:36,189: DEBUG - ++ dirname /home/yunohost.backup/tmp/ghost-pre-upgrade2/apps/ghost/backup/etc/nginx/conf.d/blog.maindomain.tld.d/ghost.conf
2025-05-15 11:01:36,190: DEBUG - + mkdir --parents /home/yunohost.backup/tmp/ghost-pre-upgrade2/apps/ghost/backup/etc/nginx/conf.d/blog.maindomain.tld.d
2025-05-15 11:01:36,193: DEBUG - + ynh_backup --src_path=/etc/logrotate.d/ghost
2025-05-15 11:01:36,226: DEBUG - + dest_path=
2025-05-15 11:01:36,226: DEBUG - + is_big=0
2025-05-15 11:01:36,226: DEBUG - + not_mandatory=0
2025-05-15 11:01:36,226: DEBUG - + BACKUP_CORE_ONLY=1
2025-05-15 11:01:36,226: DEBUG - + test -n ghost
2025-05-15 11:01:36,227: DEBUG - ++ ynh_app_setting_get --app=ghost --key=do_not_backup_data
2025-05-15 11:01:36,292: DEBUG - + do_not_backup_data=
2025-05-15 11:01:36,292: DEBUG - + ‘[’ ‘!’ -e /etc/logrotate.d/ghost ‘]’
2025-05-15 11:01:36,293: DEBUG - ++ realpath /etc/logrotate.d/ghost
2025-05-15 11:01:36,294: DEBUG - + src_path=/etc/logrotate.d/ghost
2025-05-15 11:01:36,294: DEBUG - + [[ -z ‘’ ]]
2025-05-15 11:01:36,294: DEBUG - + dest_path=etc/logrotate.d/ghost
2025-05-15 11:01:36,294: DEBUG - + [[ -e etc/logrotate.d/ghost ]]
2025-05-15 11:01:36,294: DEBUG - + local rel_dir=/apps/ghost/backup
2025-05-15 11:01:36,294: DEBUG - + rel_dir=/apps/ghost/backup/
2025-05-15 11:01:36,294: DEBUG - + dest_path=/apps/ghost/backup/etc/logrotate.d/ghost
2025-05-15 11:01:36,294: DEBUG - + dest_path=apps/ghost/backup/etc/logrotate.d/ghost
2025-05-15 11:01:36,295: DEBUG - ++ echo /etc/logrotate.d/ghost
2025-05-15 11:01:36,295: DEBUG - ++ sed --regexp-extended ‘s/"/""/g’
2025-05-15 11:01:36,297: DEBUG - + local src=/etc/logrotate.d/ghost
2025-05-15 11:01:36,297: DEBUG - ++ echo apps/ghost/backup/etc/logrotate.d/ghost
2025-05-15 11:01:36,298: DEBUG - ++ sed --regexp-extended ‘s/"/""/g’
2025-05-15 11:01:36,299: DEBUG - + local dest=apps/ghost/backup/etc/logrotate.d/ghost
2025-05-15 11:01:36,300: DEBUG - ++ dirname /home/yunohost.backup/tmp/ghost-pre-upgrade2/apps/ghost/backup/etc/logrotate.d/ghost
2025-05-15 11:01:36,301: DEBUG - + mkdir --parents /home/yunohost.backup/tmp/ghost-pre-upgrade2/apps/ghost/backup/etc/logrotate.d
2025-05-15 11:01:36,303: DEBUG - + ynh_backup --src_path=/etc/systemd/system/ghost.service
2025-05-15 11:01:36,343: DEBUG - + dest_path=
2025-05-15 11:01:36,344: DEBUG - + is_big=0
2025-05-15 11:01:36,344: DEBUG - + not_mandatory=0
2025-05-15 11:01:36,344: DEBUG - + BACKUP_CORE_ONLY=1
2025-05-15 11:01:36,344: DEBUG - + test -n ghost
2025-05-15 11:01:36,344: DEBUG - ++ ynh_app_setting_get --app=ghost --key=do_not_backup_data
2025-05-15 11:01:36,416: DEBUG - + do_not_backup_data=
2025-05-15 11:01:36,416: DEBUG - + ‘[’ ‘!’ -e /etc/systemd/system/ghost.service ‘]’
2025-05-15 11:01:36,416: DEBUG - ++ realpath /etc/systemd/system/ghost.service
2025-05-15 11:01:36,418: DEBUG - + src_path=/etc/systemd/system/ghost.service
2025-05-15 11:01:36,418: DEBUG - + [[ -z ‘’ ]]
2025-05-15 11:01:36,418: DEBUG - + dest_path=etc/systemd/system/ghost.service
2025-05-15 11:01:36,418: DEBUG - + [[ -e etc/systemd/system/ghost.service ]]
2025-05-15 11:01:36,418: DEBUG - + local rel_dir=/apps/ghost/backup
2025-05-15 11:01:36,418: DEBUG - + rel_dir=/apps/ghost/backup/
2025-05-15 11:01:36,418: DEBUG - + dest_path=/apps/ghost/backup/etc/systemd/system/ghost.service
2025-05-15 11:01:36,418: DEBUG - + dest_path=apps/ghost/backup/etc/systemd/system/ghost.service
2025-05-15 11:01:36,419: DEBUG - ++ echo /etc/systemd/system/ghost.service
2025-05-15 11:01:36,419: DEBUG - ++ sed --regexp-extended ‘s/"/""/g’
2025-05-15 11:01:36,421: DEBUG - + local src=/etc/systemd/system/ghost.service
2025-05-15 11:01:36,422: DEBUG - ++ echo apps/ghost/backup/etc/systemd/system/ghost.service
2025-05-15 11:01:36,422: DEBUG - ++ sed --regexp-extended ‘s/"/""/g’
2025-05-15 11:01:36,424: DEBUG - + local dest=apps/ghost/backup/etc/systemd/system/ghost.service
2025-05-15 11:01:36,425: DEBUG - ++ dirname /home/yunohost.backup/tmp/ghost-pre-upgrade2/apps/ghost/backup/etc/systemd/system/ghost.service
2025-05-15 11:01:36,426: DEBUG - + mkdir --parents /home/yunohost.backup/tmp/ghost-pre-upgrade2/apps/ghost/backup/etc/systemd/system
2025-05-15 11:01:36,428: DEBUG - + ynh_print_info ‘–message=Backing up the MySQL database…’
2025-05-15 11:01:36,441: DEBUG - + ynh_mysql_dump_db --database=ghost
2025-05-15 11:01:36,441: INFO - Backing up the MySQL database…
2025-05-15 11:01:36,455: DEBUG - + mysqldump --single-transaction --skip-dump-date --routines ghost
2025-05-15 11:01:36,712: DEBUG - + ynh_print_info ‘–message=Backup script completed for ghost. (YunoHost will then actually copy those files to the archive).’
2025-05-15 11:01:36,725: DEBUG - + ynh_exit_properly
2025-05-15 11:01:36,725: DEBUG - + [[ backup =~ ^install$|^upgrade$|^restore$ ]]
2025-05-15 11:01:36,725: INFO - Backup script completed for ghost. (YunoHost will then actually copy those files to the archive).
2025-05-15 11:01:36,829: DEBUG - Backup permission for ghost
2025-05-15 11:01:37,509: INFO - Creating a backup archive from the collected files…
2025-05-15 11:01:37,512: INFO - The archive will contain about 944.6MB of data.
2025-05-15 11:01:37,515: DEBUG - Creating the backup TAR archive…
2025-05-15 11:02:59,939: DEBUG - TAR backup archive created
2025-05-15 11:02:59,939: SUCCESS - Backup created: ghost-pre-upgrade2

A few additional details.

I ran a diagnosis in YunoHost using the web UI, here’s what it found:

Everything looks OK for Base system!
Everything looks OK for Internet connectivity!
Failed to read info for phanpy : ‘arguments’
Failed to read info for phanpy : ‘arguments’
Failed to read info for phanpy : ‘arguments’
Failed to read info for phanpy : ‘arguments’
Failed to read info for phanpy : ‘arguments’
Failed to read info for phanpy : ‘arguments’
Found 1 significant issue(s) (and 1 warning(s)) related to DNS records!
Everything looks OK for Ports exposure!
Everything looks OK for Web!
Found 2 significant issue(s) related to Email!
Everything looks OK for Services status check!
Everything looks OK for System resources!
Everything looks OK for System configurations!
Failed to read info for phanpy : ‘arguments’
Everything looks OK for Applications!

Attempting to remove Phanpy produced the following:

Remove the ‘phanpy’ app

Path

/var/log/yunohost/operations/20250511-141418-app_remove-phanpy.log

Start

12 May 2025 at 00:14:18

End

12 May 2025 at 00:14:18

Error

true

This operation failed! Really sorry about that :frowning: You can try to ask for help. Please provide the full log of the operation to the people helping you. You can do so by clicking on the ‘Share with Yunopaste’ green button. When sharing the logs, YunoHost will automatically attempt to anonymize private data like domain names and IPs.

Also here’s the error message when attempting to install an app:

The attempt doesn’t leave a log file under tools → logs

please wait untill some friend here with more knowledge in the matter answer your questions, but consider this option:

do you have a backup for GtS? then, imho, the easy way is start from a fresh state your VPS server as you only have a GtS server as application so no big time to recover the system. If you have a backup then you will lose nothing important.

Also save you domain settings so you can restore them faster and find if you have set a recovery password for dyndns service (for ynh domain).

Start from zero unless you want to learn and understand what went wrong, which is one of the many reasons one may want to selfhost (learning things) :+1:

phanpy is just a “web page” (web application) so do not worry about it. Yes, the problem is that «arguments» thing from phanpy, but do not hesitate to use debian tools to get rid of those files and configurations.

sometimes we waste less time just deleting and restoring from backup on a clean system.

1 Like

My preference would be to try to get to the bottom of the Phanpy situation, and fix the apt-get issue, if it’s at all possible.

I’m relatively new to both YunoHost and self-hosting Phanpy, so I don’t want to muck around with deleting config files if that’s likely to make matters worse. Until I know which ones to delete.

I suspect the apt-get issue is linked to Phanpy’s disappearance somehow. If I clear out Phanpy and there’s still apt issues, then at least that’s a step forward in troubleshooting.

1 Like

Can you share the output of sudo cat /etc/yunohost/apps/phanpy/manifest.toml ?

1 Like

Hi Aleks,

Thanks for helping out with this one, it’s appreciated :smiling_face:

Okay, so I jumped into the command line, went to the /etc/yunohost/apps/phanpy directory, and tried sudo cat manifest.toml. Here’s the output:

root@sadauskas:/etc/yunohost/apps/phanpy# sudo cat manifest.toml
root@sadauskas:/etc/yunohost/apps/phanpy#

No output. Curious.

I did a ls -sh and here’s what it showed:

root@sadauskas:/etc/yunohost/apps/phanpy# ls -sh
total 20K
4.0K conf 4.0K doc 0 manifest.toml 4.0K scripts 8.0K settings.yml

So it appears as though manifest.toml is an empty file.

I did a sudo cat on settings.yml to confirm that the cat command is working correctly on this server (it is).

I also checked another app’s folder /etc/yunohost/apps/libreerp

Here’s the file sizes with a ls - sh for /etc/yunohost/apps/libreerp

root@sadauskas:/etc/yunohost/apps/libreerp# ls -sh
total 40K
4.0K conf 8.0K config_panel.toml 4.0K doc 12K manifest.toml 4.0K scripts 8.0K settings.yml

And just for comparison, the cat command on the Libre ERP manifest:

root@sadauskas:/etc/yunohost/apps/libreerp# sudo cat manifest.toml
#:schema https://raw.githubusercontent.com/YunoHost/apps/master/schemas/manifest.v2.schema.json

packaging_format = 2

id = “libreerp”
name = “LibreERP”
description.en = “Suite of business apps (ERP: CRM, Accounting, Point of Sale, HR, Purchases…)”
description.fr = “Une collection d’apps de gestion d’entreprise (ERP : CRM, Comptabilité, Point de Vente, RH, Achats…)”

version = “16.0~ynh4”

maintainers = [“ljf”]

(It continues after this.)

So that’s a fairly long way of saying that it looks to me like /etc/yunohost/apps/phanpy/manifest.toml is blank.

Given these files are basically empty, is it safe to delete them? Is this likely to address the issue?

Here’s a screenshot I see when I attempt a system update using the web UI. (As noted in my original post, I’ve attempted all the steps suggested in the error message.)

Hi, They shouldn’t be :wink: phanpy_ynh/manifest.toml at master · YunoHost-Apps/phanpy_ynh · GitHub

Thanks @otm33 :smiling_face:

Okay, some good news.

Replacing the Phanpy manifest file with the one from GitHub caused it to reappear in the applications menu, and the “Phanpy arguments” errors disappeared. I was then able to uninstall it. So that’s a huge win.

For anyone else who finds themselves in the same predicament, what I ended up doing was opening manifest.toml in Nano, then just copying and pasting the text from the repo into it, then rebooting the server. When I went back to the webUI, Phanpy appeared in admin under applications, and I was able to uninstall it. I also confirmed the /etc/yunohost/apps/phanpy folder is gone.

Now here’s the uninstall log file, which also sheds a little light on the other issue (the APT/DPKG one):

args:
app: phanpy
purge: false
ended_at: 2025-05-21 02:17:29.491202
env:
BASH_XTRACEFD: ‘7’
YNH_APP_ACTION: remove
YNH_APP_BASEDIR: /var/cache/yunohost/app_tmp_work_dirs/app_mnza2r2d
YNH_APP_ID: phanpy
YNH_APP_INSTANCE_NAME: phanpy
YNH_APP_INSTANCE_NUMBER: ‘1’
YNH_APP_MANIFEST_VERSION: 20250427~ynh1
YNH_APP_PACKAGING_FORMAT: ‘2.0’
YNH_APP_PURGE: ‘0’
YNH_ARCH: amd64
YNH_CWD: /var/cache/yunohost/app_tmp_work_dirs/app_mnza2r2d/scripts
YNH_DEBIAN_VERSION: bookworm
YNH_DEFAULT_PHP_VERSION: ‘8.2’
YNH_HELPERS_VERSION: ‘2.1’
YNH_INTERFACE: api
YNH_STDRETURN: /tmp/tmphc_pohv8/stdreturn
error: “This action broke dpkg/APT (the system package managers)\u2026 You can try
\ to solve this issue by connecting through SSH and running sudo apt install --fix-broken
\ and/or sudo dpkg --configure -a.”
interface: api
operation: app_remove
parent: null
related_to:

    • app
    • phanpy
      started_at: 2025-05-21 02:17:23.491203
      success: false
      yunohost_version: 12.0.16

============

2025-05-21 02:17:23,496: INFO - Removing phanpy…
2025-05-21 02:17:23,518: DEBUG - Executing command ‘[‘sh’, ‘-c’, ‘/bin/bash -x “./remove” 7>&1’]’
2025-05-21 02:17:23,634: INFO - Deprovisioning permissions…
2025-05-21 02:17:23,650: DEBUG - Permission ‘phanpy.main’ deleted
2025-05-21 02:17:23,650: DEBUG - Full log of this operation: ‘Delete permission ‘phanpy’
2025-05-21 02:17:23,656: DEBUG - The permission database has been resynchronized
2025-05-21 02:17:23,668: DEBUG - SSO and portal configurations regenerated
2025-05-21 02:17:23,676: INFO - Deprovisioning install_dir…
2025-05-21 02:17:23,685: INFO - Deprovisioning system_user…
2025-05-21 02:17:23,802: INFO - Deprovisioning sources…
2025-05-21 02:17:23,805: SUCCESS - phanpy uninstalled
2025-05-21 02:17:23,808: DEBUG - The permission database has been resynchronized
2025-05-21 02:17:23,818: DEBUG - SSO and portal configurations regenerated
2025-05-21 02:17:23,823: DEBUG - Checking that required services are up and running…

So based on that, Phanpy uninstalled successfully. But because of the APT/DPKG issue, it threw up this error message:

Here’s the line from the uninstall log above I found interesting:

" YNH_STDRETURN: /tmp/tmphc_pohv8/stdreturn
error: “This action broke dpkg/APT (the system package managers)\u2026 You can try
\ to solve this issue by connecting through SSH and running sudo apt install --fix-broken
\ and/or sudo dpkg --configure -a.”"

Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.

I then ran sudo dpkg --configure -a (no output)

Then went into the web UI and attempted a system update. And it appears to have worked :smiling_face:

Here’s the log:

args:
target: system
ended_at: 2025-05-21 12:22:53.029977
error: null
interface: api
operation: tools_upgrade
parent: null
related_to:
started_at: 2025-05-21 12:21:43.986906
success: true
yunohost_version: 12.0.17

============

2025-05-21 12:21:43,991: INFO - Upgrading system packages
2025-05-21 12:21:43,993: DEBUG - Running apt command :
DEBIAN_FRONTEND=noninteractive YUNOHOST_API_RESTART_WILL_BE_HANDLED_BY_YUNOHOST=yes APT_LISTCHANGES_FRONTEND=none apt-get --fix-broken --show-upgraded --assume-yes --quiet -o=Dpkg::Use-Pty=0 -o Dpkg::Options::=“–force-confold” -o Dpkg::Options::=“–force-confmiss” -o Dpkg::Options::=“–force-confdef” dist-upgrade
2025-05-21 12:21:44,012: INFO - + Reading package lists…
2025-05-21 12:21:44,212: INFO - + Building dependency tree…
2025-05-21 12:21:44,215: INFO - + Reading state information…
2025-05-21 12:21:44,313: INFO - + Calculating upgrade…
2025-05-21 12:21:44,403: INFO - + The following packages will be upgraded:
2025-05-21 12:21:44,406: INFO - + monarx-agent yunohost
2025-05-21 12:21:44,512: INFO - + 2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
2025-05-21 12:21:44,514: INFO - + Need to get 5,799 kB of archives.
2025-05-21 12:21:44,517: INFO - + After this operation, 1,422 kB of additional disk space will be used.
2025-05-21 12:21:44,519: INFO - + Get:2 https://repository.monarx.com/repository/debian-bookworm bookworm/main amd64 monarx-agent amd64 4.2.72-master [4,570 kB]
2025-05-21 12:21:44,559: INFO - + Get:1 Index of /debian/ bookworm/stable amd64 yunohost all 12.0.17 [1,229 kB]
2025-05-21 12:21:44,992: INFO - + Fetched 5,799 kB in 0s (26.5 MB/s)
2025-05-21 12:21:45,131: DEBUG - (Reading database … 62510 files and directories currently installed.)
2025-05-21 12:21:45,133: DEBUG - Preparing to unpack …/yunohost_12.0.17_all.deb …
2025-05-21 12:21:45,143: INFO - + Unpacking yunohost (12.0.17) over (12.0.16) …
2025-05-21 12:21:45,309: INFO - + Setting up yunohost (12.0.17) …
2025-05-21 12:21:45,326: INFO - + Regenerating configuration, this might take a while…
2025-05-21 12:21:55,888: INFO - + SUCCESS Configuration updated for ‘dnsmasq’
2025-05-21 12:22:09,292: INFO - + Launching migrations…
2025-05-21 12:22:09,428: INFO - + INFO No migrations to run
2025-05-21 12:22:09,448: INFO - + Re-diagnosing server health…
2025-05-21 12:22:10,426: INFO - + SUCCESS Everything looks OK for Base system!
2025-05-21 12:22:11,030: INFO - + SUCCESS Everything looks OK for Internet connectivity!
2025-05-21 12:22:21,041: WARNING - ERROR Found 1 significant issue(s) (and 1 warning(s)) related to DNS records!
2025-05-21 12:22:21,445: INFO - + SUCCESS Everything looks OK for Ports exposure!
2025-05-21 12:22:21,908: INFO - + SUCCESS Everything looks OK for Web!
2025-05-21 12:22:42,424: WARNING - ERROR Found 2 significant issue(s) related to Email!
2025-05-21 12:22:42,870: INFO - + SUCCESS Everything looks OK for Services status check!
2025-05-21 12:22:42,875: INFO - + SUCCESS Everything looks OK for System resources!
2025-05-21 12:22:42,886: INFO - + SUCCESS Everything looks OK for System configurations!
2025-05-21 12:22:42,957: INFO - + SUCCESS Everything looks OK for Applications!
2025-05-21 12:22:42,959: WARNING - WARNING To see the issues found, you can go to the Diagnosis section of the webadmin, or run ‘yunohost diagnosis show --issues --human-readable’ from the command-line.
2025-05-21 12:22:43,110: INFO - + Refreshing app catalog…
2025-05-21 12:22:43,221: INFO - + INFO Updating application catalog…
2025-05-21 12:22:48,520: INFO - + SUCCESS The application catalog has been updated!
2025-05-21 12:22:50,235: INFO - + (Delaying the restart of yunohost-api, this should automatically happen after the end of this upgrade)
2025-05-21 12:22:50,363: DEBUG - (Reading database … 62510 files and directories currently installed.)
2025-05-21 12:22:50,365: DEBUG - Preparing to unpack …/monarx-agent_4.2.72-master_amd64.deb …
2025-05-21 12:22:50,851: INFO - + Unpacking monarx-agent (4.2.72-master) over (4.2.62-master) …
2025-05-21 12:22:51,220: INFO - + Setting up monarx-agent (4.2.72-master) …
2025-05-21 12:22:52,415: INFO - + Processing triggers for man-db (2.11.2-2) …
2025-05-21 12:22:53,026: SUCCESS - System upgraded

I was then able to update both Ghost and GoToSocial :smiling_face:

Thanks to everyone who helped out on this one :smiling_face:

2 Likes

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.