Misskey

From ArchWiki

Misskey is an interplanetary micro-blogging platform where users can write, share pictures and videos as well as connect to other services like Mastodon. It communicates via ActivityPub

This article describes how to install and configure a simple setup of Misskey. For additional informations please visit Misskey-Hub

Installation

Install misskeyAUR and a webserver with reverse proxy support.

  • nginx (recommended) reverse proxy and webserver
  • ffmpeg for media encoding

Configuration

default.conf

First step after installation is to modify default.conf to reflect the server setup.

/etc/webapps/misskey/default.conf
url: https://example.tld/

Needs to be changed to the servers public URL, where the service will be reachable for the world. It is also possible, while not recommended, to use an IP-Address.

Warning: This can only be changed by resetting the database.

PostgreSQL

Configure and/or start PostgreSQL. By default it should be reachable for localhost on port 5432, that is what Misskey will use. If another port was specified the default.conf needs to be changed.

When PostgreSQL runs, it is required to have a user and a database. By default misskeyAUR uses the system user misskey to connect to the database. Follow PostgreSQL database and user creation to create a PostgreSQL-user misskey and a database misskey

Redis

Start the redis service.

Initialize Misskey databases

Misskey requires to initialize the database before it can be started.

# /usr/bin/misskey -i
Note: In case of external database servers the helper scripts parameter changes to -I and will not check for the availability of PostgreSQL and Redis

Run Misskey

Start the misskey service.

The server will now be available for a web-browser on the servers address at port :3000. The final part is to configure a reverse proxy, such as Nginx. Misskey-Hub provides a configuration template.

Troubleshooting

Manually update the database (migration)

In some cases the database is down or there is no local PostgreSQL database available. In both cases the Misskey migration will not run on package update and requires some manual intervention. After PostgreSQL and Redis are reachable, the helper script can be used to start the migration.

# /usr/bin/misskey -m
Note: In case of external database servers the helper scripts parameter changes to -M and will not check for the availability of PostgreSQL and Redis