## 0.1 У вас УЖЕ должен быть куплен [домен](https://ubuntu.com) и хост-сервер
## 1.1 Требования к аппаратному обеспечению
Точных рекомендаций в документации нет, однако судя по опыту пользования и администрирования инстанса [shitpost.poridge.club](https://shitpost.poridge.club) на 5 активных пользователя желательно >=2гбОЗУ и 1 ядра процессора.
## 1.2 Требуемое программное обеспечение
1. Я рекомендую [Ubuntu](https://ubuntu.com) из-за огромного кол-ва встроенных библиотек, но можно и [Debian](https://www.debian.org/)
# echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
# apt update && apt install yarn
```
Тут будет расхождение от официальной документации. В документации Misskey устанавливается в директорию /home/misskey/misskey, в данном же руководстве Misskey устанавливается в /opt/misskey, так что создаём директорию /opt/misskey и меняем у неё владельца на пользователя misskey:
```
// Создаём директорию
# mkdir -pv /opt/misskey
// Меняем владельца
# chown misskey:misskey -R /opt/misskey
```
Создаём базу данных под Misskey:
```
# sudo -Hu postgres psql
// Создаём базу данных
psql=# CREATE DATABASE misskey;
// Создаём пользователя misskey с паролем
psql=# CREATE USER misskey WITH ENCRYPTED PASSWORD 'ВАШ_ПАРОЛЬ';
// Выдаем ему все разрешения на использование базы данных Misskey
psql=# GRANT ALL PRIVILIGES ON DATABASE misskey TO misskey;
psql=#\q
```
После заходим под пользователя misskey и скачиваем исходный код Misskey:
В данном конфигурационном файле нас интересуют следующие параметры:
```
url: поменять example.tld на своё доменное имя
port: в данной руководстве Misskey работает через Reverse Proxy, так что порт ставим 3000
db:
user: пишем пользователя базы данных (в данном руководстве misskey)
pass: пишем пароль пользователя базы данных (в данном руководстве ВАШ_ПАРОЛЬ)
```
Собираем Misskey:
```
misskey@domain$ NODE_ENV=production yarn build
```
Обычно там много ошибок появляется, но этого не стоит боятся, это норма.
```
misskey@domain$ yarn run init
```
Запускаем Misskey:
```
misskey@domain$ NODE_ENV=production npm start
```
Если всё хорошо, Misskey выдаст строку о том, что он прослушивает 3000 порт:
```
Now listening on port 3000 on https://ВАШ_ДОМЕН/
```
Выключаем Misskey сочетанием клавиш CTRL+X и создаем Systemd сервис для того, что бы Misskey автоматически запускался при каждом включении хост-машины:
```
// Создаем и открываем для редактирования файл /etc/systemd/system/misskey.service
# nano /etc/systemd/system/misskey.service
```
Вставляем в файл /etc/systemd/system/misskey.service следующий код:
```
[Unit]
Description=Misskey daemon
[Service]
Type=simple
User=misskey
ExecStart=/usr/bin/npm start
WorkingDirectory=/opt/misskey
Environment="NODE_ENV=production"
TimeoutSec=60
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=misskey
Restart=always
[Install]
WantedBy=multi-user.target
```
Включаем инстанс Misskey в Systemd:
```
// Перечитываем все сервисы Systemd что бы он увидел только что созданный юнит
# systemctl daemon-reload
// Включаем Misskey и добавляем в автозагрузку, а при помощи --now тут же запускаем.