Mastodon — это новая платформа для социальных сетей, децентрализованная альтернатива Twitterу, которая в настоящее время взрывается. Это пошаговое руководство о том, как запустить собственный экземпляр Mastodon в Digital Ocean.
Содержание статьи
Настроить капельку
Создайте новую докерную каплю:
У этой капли есть почти все, что нам нужно предустановить.
Вы получите электронное письмо от DO с учетными данными, которые вы можете использовать для входа в систему, чтобы начать настройку сервера.
Подключитесь к серверу как пользователь root, используя ip и пароль из электронной почты:
Вам будет предложено изменить пароль по умолчанию, поэтому сделайте это.
Затем создайте нового пользователя с именем пользователя, которое вам нравится, и дайте ему полномочия sudo:
adduser ray
gpasswd -a ray sudo
Подключить доменное имя
Давайте также сразу укажем ваше доменное имя на капельку. После покупки домена (я рекомендую использовать namecheap), измените параметры пользовательского DNS, чтобы выглядеть так:
Затем на вкладке «Сеть DO» создайте домен и добавьте запись A, указывающую на капельу:
Теперь вы сможете ssh на свой сервер, используя ваше новое имя пользователя и доменное имя:
Установите и настройте основные материалы
Обновите и обновите все программное обеспечение:
sudo apt-get update && sudo apt-get upgrade
Установите nginx (мы будем использовать его для обслуживания нашей капли на правом порту) и ваш любимый текстовый редактор:
sudo apt-get install nginx emacs
Теперь давайте добавим докер в группу sudo, что позволит нам запускать все команды докеров без sudo:
sudo usermod -aG docker $ USER
Перезагрузка докеры sudo
Клонировать и настроить Mastodon
Клонировать репо и cd в него:
git clone https://github.com/tootsuite/mastodon.git
cd mastodon
Теперь давайте настроим некоторые настройки. Сначала переименуйте файл .env.production.sample
в .env.production
и откройте его.
Задайте настройки имени пользователя / пароля для базы данных:
DB_USER = your_username
DB_NAME = your_databasename
DB_PASS = your_password
Задайте свое доменное имя:
LOCAL_DOMAIN = hackertribe.io
И включить https:
Запустите docker-compose run --rm web rake secret
для создания PAPERCLIP_SECRET, SECRET_KEY_BASE и OTP_SECRET.
Настройка почтового сервера
Создайте учетную запись SendGrid, откройте «Настройки»> «Ключи API» и сгенерируйте ключ API.
Затем настройте конфигурацию следующим образом:
smtp_server = smtp.sendgrid.net
SMTP_PORT = 587
SMTP_LOGIN = apikey
SMTP_PASSWORD =
SMTP_FROM_ADDRESS=youremail@gmail.com
(для SMTP_LOGIN буквально просто используется «apikey»)
Конфигурирование информации о сайте
Откройте файл /mastodon/config/settings.yml
и введите информацию о вашем экземпляре (название, описание и т. Д.).
Построить контейнеры
Прежде чем мы сможем построить контейнеры, нам нужно добавить файл подкачки, без чего у моей капли $ 10 в месяц не хватило памяти во время процесса сборки. Чтобы добавить swap, выполните следующие команды:
sudo fallocate -l 1G / swapfile
sudo chmod 600 / swapfile
sudo mkswap / swapfile
sudo swapon / swapfile
(вы можете прочитать более подробно об этом здесь)
Теперь давайте, наконец, построим наши контейнеры! (Это займет несколько минут)
docker-compose build
docker-compose up -d
(флаг -d означает, что мы хотим запустить его в фоновом режиме. Вы можете попробовать запустить его без этого флага, и вы увидите журнал всего, что происходит на экране)
Создайте БД и выполните миграцию
Теперь нам нужно запустить несколько команд в контейнере db для создания базы данных.
SSH в контейнер:
docker exec -i -t mastodon_db_1 / bin / bash
Перейти к пользователю postgres:
Создайте пользователя для своего db (используйте имя пользователя и пароль, которые вы только что установили в .env.production)
createuser -P your_username
Создайте базу данных, предоставив права собственности пользователю:
createdb your_databasename -O your_username
Теперь вы можете вернуться к своему собственному пользователю и запустить миграцию:
docker-compose run --rm web rails db: migrate
Прекомпиляционные активы
Теперь вы можете предварительно скомпоновать активы:
docker-compose run --rm web rails assets: precompile
После того, как это закончится, перезапустите контейнеры:
docker stop $ (докер ps -a -q) && docker-compose up -d
И теперь ваш экземпляр mastodon будет работать на yourdomain.com:3000!!
Настройка nginx и SSL
Сначала следуйте этому руководству для генерации ключей SSL и настройки базовой конфигурации nginx. Затем, поскольку контейнеры докеров обслуживают приложение на порте 3000, нам нужно будет использовать nginx для прокси-сервера для всех запросов к ним.
Создайте файл /etc/nginx/sites-enabled/mastodon_nginx.conf
и скопируйте настройки здесь.
Теперь, после перезапуска nginx:
sudo /etc/init.d/nginx restart
Он будет служить вашему экземпляру Mastodon!
Заключение
Поздравляем =) Создаем учетную запись, проверяем вещи и приглашаем некоторых людей использовать ваш экземпляр!
Я также рекомендую отправить ссылку на ваш экземпляр в этот список, чтобы людям было легче его обнаружить.
Кроме того, всегда чувствуйте, что я нахожусь у меня на @ rayalez @ mastodon.social, я буду рад ответить на ваши вопросы =)