← Разработка
Установка lemmy (Rust) под Windows

Когда я отдыхая, то стараюсь смотреть что-то новое. lemmy это клон Reddit написанный на Rust + Postgres DB. Занятная, быстрая конструкция. Они, не так давно, написали на Reddit, что произвели значительную оптимизацию кода, и что скорость возрастала на 30мс.
Еле удержался, чуть было не написал.
А ну да. Поздравляю! Ведь до этого ваше приложение работало ужасно медленно. )
Ладно.
Смотрим, как установить Lemmy, есть 3 вида установки: Docker, Ansible, Kubernetes.
А можем мы его поставить под win? Просто посмотреть.
Давайте попробуем. Lemmy написан на Rust и нам видимо необходимо сразу это поставить.
Важное замечание: Git под win у меня уже стоит. Если у вас его нет, то он необходим.
Устанавливаем Rust
Идем на страницу загрузки Rust и качаем версию под то, что нам надо: https://www.rust-lang.org/tools/install
Устанавливаем Postgres DB
Скачиваем версию тут: https://www.enterprisedb.com/downloads/postgres-po...
Сразу смотрим, что записано в PATH после установке, если ничего нет, то прописываем:
;D:\Program Files\PostgreSQL\10\bin;
У меня установлен на диске D, чтобы не захламлять C (хотя и ему достается). Вообще, данные записанные в PATH, очень важны. 90% всех проблем из-за того, что там что-то не то прописано или вообще не прописано. Если не знакомы с этим, то наберите в поиске: Как добавить в PATH Windows? И будут много подробных статей, где подробно расписано, что такое PATH и т.д.
И так Rust и Postgres DB стоят. Выяснил в процессе, что не установлен Node и Yarn. Оказываются они нужны.
Node: https://nodejs.org/en/download/
Yarn: https://classic.yarnpkg.com/ru/docs/install/#windo...
Устанавливать надо именно в этой последовательности, а то могут быть проблемы. У меня следующие файлы (node-v12.16.2-x64.msi и yarn-1.22.4.msi)
Установил на D.
Вроде все. Приступаем к установка Lemmy.
Читаем документацию, она просит запустить установщик Postgres DB. Идем в папку и запускаем установщик командой.
cd server
./db-init.sh
Он хочет создать базу, начинает задавать разные вопросы. А что в файле?
username=postgres
dbname=postgres
port=5432
понятно, установка самой базы, пользователя, пароль. И все. Тогда лучше пойти по другому пути. Обойдем автоматическую установку:
psql -c "create user lemmy with password 'password' superuser;" -U postgres
далее..
psql -c 'create database lemmy with owner lemmy;' -U postgres
далее...
export LEMMY_DATABASE_URL=postgres://lemmy:password@localhost:5432/lemmy
У вас могут быть проблемы с командой export (но у меня работает)
Теперь собственно пробуем запустить сам скрипт, отказавшись от установки данных баз (от файла db-init.sh). Если все нормально, то должны видеть что-то подобное.
Если все удачно прошло, то Lemmy установлен. Идем по адресу: 127.0.0.1:8536 и видим (после ввода данных админа) и 2 пробных постов:
Отлично. Но мне сразу хочется посмотреть. Можем мы что-то свободно делать в нём? Настраивать дизайн, менять шаблоны, например.
Смотрим шаблоны:
Оригинальный синтаксис… Надо аккуратней со смайлами видимо там. ))
Перестраиваем приложение — готово.
Хотел повторить установку именно под win. Под Linux с Docker проще. Там все будет установлено автоматически в контейнер.
В общем вот… Теперь можно заняться основной работой. )
Ссылка на сам Lemmy: https://github.com/dessalines/lemmy
И как скорость?
Отличная. Rust это же. Хотя, без их оптимизации — 30мс. Было бы не очень.
Издеваются. Компилируемый язык, думаю, вопросы о скорости отпадают сами с собой. Не так давно читал статью на Хабре, там по тестам, Rust обошел C++, ну и споры, про 0.0000000… после запятой.
Они значительно продвинулись в последнее время. Аватарки, профиль, восстановление пароля и т.д.
Да, набросали много. Будет время посмотрю более детально.
Мне удалось установить, правда за один день.
Много нового узнал. Спасибо.
Попробовал через docker поднять… Как обычно в консоли все отработало нормально… и уперлось в настройки Nginx:( Никогда у меня не получается нормально настроить его:( У меня все сайты лежат в /var/www/user/data/www/ Файлы конфигурации Nginx для каждого домена лежат тут /etc/nginx/vhosts/user/site.ru.conf
При чем тут папка sites-enabled… у меня ее вообще нет. Непонятно где само приложение находится с этим докером… Что указать в конфиге Nginx для такого приложения? Хотя Ghost я установил без всяких докеров. Кто нибудь на пальцах объясните пожалуйста как настроить этот Lemmy.
Установил таки:) и настроил Nginx… теперь не получается добавить администратора:( Вроде бы докер все автоматом поставил… висит спиннер и все… Может права какие то особые нужно на папки или файлы в lemmy? Посмотрите пожалуйста почему может висеть безрезультатно вот это дело ptzportal.ru/setup
Nginx, он очень специфичный. Там действительно чуток сложновато из-за докера. Тут не очень хорошее форматирование для кода, по этому файл разместил на Toxu: https://toxu.ru/t/kakoj-dolzhen-byt-nginx-dlya-lem...
Самый простой способ использовать панель. В панели должны быть настройки Nginx для каждого домена. Т.е. идея такая (если стоит панель) мы используем ее для прописывания домена, почты, Nginx. Всего, что можно с помощью ее сделать, мы делаем. Используем её по максимум. А вот докер мы ставим сами. Когда докер работает. то нам достаточно для данного домена поменять конфиг Nginx. Ну если панели нет, то тогда надо просто поменять файл и не забыть перезапустить Nginx, предварительно проверив корректность синтаксиса файла командой: nginx -t
У вас при регистрации ошибки сокета (см. консоль браузера). Сравните настройки Nginx с теми, что я дал. Из-за него.
P.S. что-то какая-то неделя. Неделя сокетов. Я всю неделю воюю с этими сокетами.
Lemmy достаточно своеобразная штука… Я ее просто поставил, чтобы изучить Rust.
Еще бы помог кто нибудь установить, а то как только не пытался не получается. Даже вроде бы понимающий человек с Kwork пытался и не смог. А вещь хорошая, хотелось бы протестировать:(
Хотя у меня не Windows, а Linux стоит. Вроде бы через Docker ставить проще, но видимо это не мой случай)) Если кто готов помочь с установкой за символическое вознаграждение пишите.