1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/akkoma_ynh.git synced 2024-09-03 20:36:17 +02:00
Social media based on ActivityPub, fork of Pleroma
Find a file
2023-05-29 13:21:14 +00:00
conf Fix media CSP + harden its security 2023-05-29 15:20:50 +02:00
doc Explain backup_core_only and good backup practices 2023-02-14 13:12:55 +01:00
scripts fix frontend switcher grep 2023-05-26 09:33:47 +02:00
check_process Initial release 2022-12-20 17:59:20 +01:00
LICENSE Initial release 2022-12-20 17:59:20 +01:00
manifest.json Update manifest.json 2023-05-29 15:21:10 +02:00
README.md Auto-update README 2023-05-29 13:21:14 +00:00
README_fr.md Auto-update README 2023-05-29 13:21:14 +00:00

Akkoma for YunoHost

Integration level Working status Maintenance status

Install Akkoma with YunoHost

Lire ce readme en français.

This package allows you to install Akkoma quickly and simply on a YunoHost server. If you don't have YunoHost, please consult the guide to learn how to install it.

Overview

Akkoma is a microblogging server software that can federate (= exchange messages with) other servers that support ActivityPub. What that means is that you can host a server for yourself or your friends and stay in control of your online identity, but still exchange messages with people on larger decentrilized and federated network. Akkoma will federate with all servers that implement ActivityPub, like Friendica, GNU Social, Hubzilla, Mastodon, Misskey, Pleroma, Peertube, or Pixelfed.

Shipped version: 3.9.3~ynh2

Demo: https://otp.akkoma.dev

Screenshots

Screenshot of Akkoma

Disclaimers / important information

Limitations

  • Require a dedicated root domain, eg. akkoma.domain.tld
  • Require a valid certificate installed on the domain. Yunohost can install Letsencrypt certificate on the domain from admin web-interface or through command-line.
  • This package is currently set to single-instance that means you can run only a single Akkoma instance on a single server.
  • LDAP supported but HTTP auth not.
  • You can normaly upgrade a Pleroma instance to Akkoma... but not with Pleroma on Yunohost (work in progress).

Bugs

  • Login fails if password contains special characters. See #4 for more explanation.
  • Login fails for non YNH users if LDAP is activated (this is by default). See #15 for more explanation.
  • No way to change user password from admin interface. May be related to previous bug. Work like charm from CLI.

Backups

This application uses the core-only feature of the backup. This means the app data directory (/home/yunohost.app/akkoma, with subfolder /static/, which contains terms of service, custom emoji, custom themes, and /uploads/ which contains the media attachements) is not saved during backup. Also to keep the integrity of the data and to have a better guarantee of the restoration it is recommended to stop Akkoma during the operation. Proceed as follows:

  • Stop Akkoma service with this command: service akkoma stop
  • Launch Akkoma backup with this command: yunohost backup create --apps akkoma
  • Backup Akkoma data directory with your specific strategy (could be with rsync, borg backup or just cp). The data is generally stored in /home/yunohost.app/akkoma.
  • Restart Akkoma service with this command: service akkoma start

If you want to create a Yunohost backup that contains also Akkoma data directory, you should add BACKUP_CORE_ONLY=0 at the start fo the command : BACKUP_CORE_ONLY=0 yunohost backup create --app akkoma.

Remove

Due of the backup core only feature the data directory in /home/yunohost.app/akkoma is not removed. If you want to delete the data folder /home/yunohost.app/akkoma/ during removal of akkoma, you should add the --purge option. If you don't, it must be manually deleted to purge user data. This is a necessary step for complete removal - and possibly a fresh install.

NB: don't forget this mean those data are not backed up by default. See above.

Customization

This application come with the default frontend (Pleroma FE) and admin interface pre-installed and activated. There is also the Mangane front-end who is installed but not active. Note that you can choose other alternative public interfaces (Brutaldon, Fedi FE...) or even provide a custom one.

Mastodon frontend: if you installed the Mastodon FE package (from CLI or Admin interface) you can have access to an alternate user interface, similar the Mastodons or Glitch frontend. This frontend live alongside the default Pleroma FE: to access just add /web at the end of your instance domain (eg. akkoma.domain.tld/web).

Custom theme

You can eitheir create your custom theme or use existing ones. To add custom themes, you will have to upload them to your instance dedicated folder (/home/yunohost.app/akkoma/static/themes/ in Yunohost case), then to edit /home/yunohost.app/akkoma/static/styles.json to add a new entry referencing it. See the official documentation for more details.

  • Upload your custom theme, place it in /home/yunohost.app/akkoma/static/themes/ (you could also directly edit the file from the command line and copy-paste the content).
  • Make sure the file access rights are approriate (only akkoma user can access them) sudo chown -R akkoma:akkoma /home/yunohost.app/akkoma/static/themes/ (= own by akkoma) and sudo chmod 750 /home/yunohost.app/akkoma/static/themes/ (=only akkoma can read and edit the file).
  • Then edit /home/yunohost.app/akkoma/static/styles.json for instance with sudo su akkoma nano /home/yunohost.app/akkoma/static/styles.json.

Uploaded files size

By default, the web server NGINX is configured with a maximum value for uploading files at 50 MB. You can change the value only in akkoma under this limit. To go higher, you also need to change NGINX value on /etc/nginx/conf.d/my.domain.tld.d/akkoma.conf : change client_max_body_size 50M; value in order to do so.

Don't forget to reload NGINX sudo service nginx reload settings and possibly restart Akkoma sudo service akkoma restart for the changes to take effects.

NB: These settings are restored to the default configuration when updating Akkoma. Remember to restore your configuration after all updates. This should be improved in the future™️

Admin Tasks

Connect with SSH to your Yunohost as YNH admin user. For the commands syntax, have in mind the specificities of Yunohost Akkoma install.

Adding users

sudo su akkoma -s $SHELL -lc "/var/www/akkoma/live/bin/pleroma_ctl user new <userName> <userEmail>"

Password reset

sudo su akkoma -s $SHELL -lc "/var/www/akkoma/live/bin/pleroma_ctl user reset_password <userName>"

This will generate a password reset link that you can then send to the user.

Moderators

You can make users moderators. They will then be able to delete any post.

sudo su akkoma -s $SHELL -lc "/var/www/akkoma/live/bin/pleroma_ctl user set <userName> --admin"

Note: --admin option will make the user moderator and --no-admin will take away the moderator privileges from the user.

Documentation and resources

Developer info

Please send your pull request to the testing branch.

To try the testing branch, please proceed like that.

sudo yunohost app install https://github.com/YunoHost-Apps/akkoma_ynh/tree/testing --debug
or
sudo yunohost app upgrade akkoma -u https://github.com/YunoHost-Apps/akkoma_ynh/tree/testing --debug

More info regarding app packaging: https://yunohost.org/packaging_apps