8.2 KiB
Akkoma for YunoHost
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.2~ynh2
Demo: https://otp.akkoma.dev
Screenshots
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) andsudo 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 withsudo 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
- Official app website: https://akkoma.social/
- Official admin documentation: https://docs.akkoma.dev/stable/
- Upstream app code repository: https://akkoma.dev/AkkomaGang/akkoma/
- YunoHost documentation for this app: https://yunohost.org/app_akkoma
- Report a bug: https://github.com/YunoHost-Apps/akkoma_ynh/issues
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