← Разработка

Установка lemmy (Rust) под Windows

3 минуты, 29 секунд
Установка 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

+4
11:44
1173
Evg Evg
11:51
+3

И как скорость? 

11:56 (ред)
+4

Отличная. Rust это же. Хотя, без их оптимизации — 30мс. Было бы не очень.

Издеваются. Компилируемый язык, думаю, вопросы о скорости отпадают сами с собой. Не так давно читал статью на Хабре, там по тестам, Rust обошел C++, ну и споры, про 0.0000000… после запятой. 

17:17
+3

Они значительно продвинулись в последнее время. Аватарки, профиль, восстановление пароля и т.д.

17:20
+2

Да, набросали много. Будет время посмотрю более детально. 

00:21
+1

Мне удалось установить, правда за один день.  Много нового узнал. Спасибо.

01:07
+1

Попробовал через docker поднять… Как обычно в консоли все отработало нормально… и уперлось в настройки Nginx:(  Никогда у меня не получается нормально настроить его:( У меня все сайты лежат в /var/www/user/data/www/  Файлы конфигурации Nginx для каждого домена лежат тут /etc/nginx/vhosts/user/site.ru.conf   

При чем тут папка sites-enabled… у меня ее вообще нет. Непонятно где само приложение находится с этим докером… Что указать в конфиге Nginx для такого приложения? Хотя Ghost я установил без всяких докеров. Кто нибудь на пальцах объясните пожалуйста как настроить этот Lemmy.

15:57
+2

Установил таки:) и настроил Nginx… теперь не получается добавить администратора:(  Вроде бы докер все автоматом поставил… висит спиннер  и все… Может права какие то особые нужно на папки или файлы в lemmy? Посмотрите пожалуйста почему может висеть безрезультатно вот это дело ptzportal.ru/setup

08:46 (ред)
+6

Nginx, он очень специфичный. Там действительно чуток сложновато из-за докера. Тут не очень хорошее форматирование для кода, по этому файл разместил на Toxu: https://toxu.ru/t/kakoj-dolzhen-byt-nginx-dlya-lem...

Самый простой способ использовать панель. В панели должны быть настройки Nginx для каждого домена. Т.е. идея такая (если стоит панель) мы используем ее для прописывания домена, почты, Nginx. Всего, что можно с помощью ее сделать, мы делаем. Используем её по максимум. А вот докер мы ставим сами. Когда докер работает. то нам достаточно для данного домена поменять конфиг Nginx. Ну если панели нет, то тогда надо просто поменять файл и не забыть перезапустить Nginx, предварительно проверив корректность синтаксиса файла командой: nginx -t

У вас при регистрации ошибки сокета (см. консоль браузера). Сравните настройки Nginx с теми, что я дал. Из-за него.

P.S. что-то какая-то неделя. Неделя сокетов. Я всю неделю воюю с этими сокетами.

Lemmy достаточно своеобразная штука… Я ее просто поставил, чтобы изучить Rust. 

08:56 (ред)
+2

Еще бы помог кто нибудь установить, а то как только не пытался не получается. Даже вроде бы понимающий человек с Kwork пытался и не смог. А вещь хорошая, хотелось бы протестировать:(

Хотя у меня не Windows, а Linux стоит. Вроде бы через Docker ставить проще, но видимо это не мой случай)) Если кто готов помочь с установкой за символическое вознаграждение пишите.

Загрузка...