Create Misskey instance with Docker

This guide describes how to install and setup Misskey with Docker.

Requirement

  • docker and docker-compose installed

Get the repository

git clone -b master https://github.com/misskey-dev/misskey.git
cd misskey
git checkout master
1
2
3

Configure

Copy example configuration files with following:

cp .config/example.yml .config/default.yml
cp .config/docker_example.env .config/docker.env
1
2

Edit default.yml and docker.env according to the instructions in the files.

In the default.yml, the hosts that set with localhost from Postgresql/Redis should be set to db/redis respectively.

Edit docker-compose.yml if necessary. (e.g. if you want to change the port).

Build and initialize

The following command will build Misskey and initialize the database. This will take some time.

sudo docker-compose build
sudo docker-compose run --rm web yarn run init
1
2

Launch

Well done! You can start Misskey with the following command.

sudo docker-compose up -d
1

GLHF✨

How to update your Misskey server

When updating, be sure to check the release notesopen in new window to know in advance the changes and whether or not additional work is required (in most cases, it is not).

git stash
git checkout master
git pull
git submodule update --init
git stash pop
sudo docker-compose build
sudo docker-compose stop && sudo docker-compose up -d
1
2
3
4
5
6
7

It may take some time depending on the contents of the update and the size of the database.

How to execute CLI command

sudo docker-compose run --rm web node packages/backend/built/tools/foo bar
1