Create Misskey instance with Docker Compose

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

Do not recreate the database with the domain/hostname of the server once you have started using it!


  • docker and dockercompose installed

Get the repository

git clone -b master
cd misskey
git checkout master


Copy example configuration files with following:

cp .config/docker_example.yml .config/default.yml
cp .config/docker_example.env .config/docker.env
cp ./docker-compose.yml.example ./docker-compose.yml

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

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 pnpm run init


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

sudo docker compose up -d


How to update your Misskey server

When updating, be sure to check the release notes 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

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
Last Updated:
Contributors: syuilo, tamaina, 5yn74x, GNU/LongYap