Регистрация Войти
nims
Загадка...
15 Июня 2023
Город: Moscow
Комментарии nims
Статья
2
Выбор движка рендера статей...

Это так. Однако это опенсурс, мало ли для чего захотят использовать этот софт. Точно не будет минусом, если такая возможность будет, чем ее не будет вовсе. Но про людей вы конечно же правы. Однако, просто визуальный редактор никуда не денется и все смогут им пользоваться, но кто будет готов, сможет перевести статью в расширенный режим редактирования и писать уже кодом

Статья
1
Stormic Community Management System

Спасибо

Статья
1
Stormic Community Management System

Приветствую. Написал первый дневник разработки и он важен. Я хотел бы узнать ваше мнение на счёт темы поднимаемой в этом дневнике. Ваши мысли были бы крайне полезны.

Прошу ознакомиться и высказать свои идеи на этот счёт.

https://stormic.stormhead.org/p/dnevniki-razrabotki-1-fundament-baz-znanii-soobshchestva-a76e18ba

Спасибо, что остаётесь на связи 🔥

Статья
Stormic Community Management System

Потому что конфликт был в dns докера, а не в 8081 порте. Эти контейнеры не биндят за собой порты, кроме 3х портов для работы через nginx (биндятся только порты для гейтвея, вебсокетов и кратоса). А то, что вы порты видите в .env это порты для работы внутри созданной докер сети в которую все эти контейнеры разнесены. Без точных логов по контейнерам сложно сказать что у вас точно было, но видите иишка вам что-то сделала и заработало, я так точно не скажу что она сделала.

Касательно почему так много контейнеров: это микросервисы, а не монолит. Каждый узел системы вынесен в свой микросервис со своей отдельной базой данных. Например, если вы возьмёте что-то привычное, монолитное, ну я не знаю, тот же софт что у вас запущен в качестве блога, то он лишён горизонтального масштабирования. Например, вы выросли и у вас есть 200 тысяч пользователей в сутки. Они все листают ленту постов. Ваш софт уже не справляется с тем, чтобы отдавать ленту сразу 200 тысячам юзеров, но при этом ещё какую-то часть сжирают лайки, которые тоже в бд хотят писать, счётчики просмотров и т.д. в итоге ваш единственный выбор - это покупать сервер ещё быстрее, добавлять ещё больше оперативы, чтобы запросы обрабатывались ещё быстрее, хотя у вас нагружена только лента. Это не проблема до какого-то предела юзеров, но в какой-то момент вы придёте в тому, что у вам уже нужны сотни ядер ЦПУ и терабайты оперативы из-за того, что лента постов у вас супер нагружена, а остальное практически никак не используется. Другое дело микросервисы. У каждого контейнера своя база данных, он работает отдельно от всех остальных и общается с остальными сервисами через шину событий. Например юзер поставил лайк на пост, микросервис лайко в свою базу данных записал, что юзер с таким ид поставил лайк посту с таким ид и создал событие в шину событий, на эту шину событий подписан микросервис постов, который знать не знает ничего о том как работают лайки он просто слушает шину событий и если видит там событие, что посту с таким ид поставили лайк, то увеличивает счётчик лайков на посте на +1. Соответственно есть сервис ленты, который точно так же понятия не имеет о существовании других сервисов, он просто говит списки с ид постов которые нужно показать. Если нагрузка на ленту будет очень высокой, то вам не нужно наращивать мощности сервера и добавлять ему оперативы или ЦПУ, вы просто запускаете ещё один микросервис ленты и вот уже балансировщик автоматически балансирует нагрузку на два микросервиса ленты и они делят нагрузку поровну между собой. Надо ещё? Запустите 3й микросервис ленты и они будут делить на 3х нагрузку поровну и так с каждый микросервисом. Есть оркестраторы контейнеров типа кубернетиса, которые автоматически поднимают новые кости микросервисов если нагрузка повышается и удаляют копии, если нагрузка падает, а ещё перезапускают эти сервисы если они упали и перестали отвечать. Это горизонтальное масштабирование, когда ты можешь плодить копии необходимых сервисов которые сейчас под высокой нагрузкой и распределять нагрузку между ними. Поэтому микросервисов там больше десятка. Один отвечает за лайки, другой за посты, третий за подписки, четверты за комментарии, пятый за права доступа и т.д. и по должной настройке в большом продакшене они могут расти и выдерживать огромные нагрузки практически без верхнего предела, в бытовом представлении. Там только уже дальше маркетплейсы с миллионами запросов в секунду, но и они используют точно такие же технологии. Ну это если немного утрировать в целях упрощения

Статья
1
Stormic Community Management System

Ну немного подправить установщик на случай конфликтов с уже занятыми именами или портами и отлично + доделать конфиг с установкой вместе с траефиком,чтобы даже ssl сертификаты сами подтягивались. А так отлично, если бы не конфликт занятого порта, то все бы нативно само стартануло + настройка корсов в s3. Выглядит как неплохой результат для первой установки. Я думаю вы первый, кто stormic запустил )

Статья
Stormic Community Management System

Домен там с https вписывать надо

+ Allowed Methods ставьте все галочки. Allowed Headrs ставьте просто звёздочку * все равно тестовый

Статья
Stormic Community Management System

А, ну и все. А cors это вы настройки бакета не сделали на самом сайте таймвэба, о чем я писал выше в комментах про настройку cors

Статья
Stormic Community Management System

А в энв стоит S3USESSL=true?

+ Он по умолчанию должен ставить тру, если вы сами не написали обратного

+ Самому https прописывать не надо, вы правильно написали просто S3_ENDPOINT=s3.twcstorage.ru проблема только в том, что он ставить http а не https. Хотя ssl у вас и так должен стоять тру

Статья
Stormic Community Management System

Попробуйте полностью выключить стак scli stack down и потом поднять scli stack up . А не просто перезагружать. Странно, что он у вас идёт по http, а не https. Cors ошибок нет в консоли? Что вообще консоль говорит. Странно конечно, но можно попробовать на крайний случай переустановить все с 0, чтобы наверняка.

Статья
Stormic Community Management System

Убедитесь, что вы правильно указали все значения. И если не запустится, то последняя потенциальная ошибка - это s3 эндпоинт указывать без https, то есть просто S3_ENDPOINT=s3.twcstorage.ru

+ Ещё вы уверены, что у таймвэба для s3 такой эндпоинт? У них он кажется все же начинается с s3. В общем посмотрите что вам отдает сам таймвэб в дашборде s3. А то ИИ кажется вам в целях безопасности все заменила на «похожие» значения, чтобы не палить креды и в итоге вы подключайтесь с некорректными значениями

Статья
Stormic Community Management System

Вы уверены, что корректно указали конфиги s3? Указан ли backet name

+ Публичный ли ваш бакет s3?

Статья
Stormic Community Management System

Да, так не первый раз с ссылками, что вы скидываете. Вы говорите, что там 3 поста. Я вижу только 1, который называется Stormic запустился

Статья
Stormic Community Management System

Очень жду. Буду особенно благодарен, если напишите про свой опыт установки на самом https://stormic.stormhead.org/ но и тут посту тоже буду рад. Все уехало на гитлаб. Вот тут Фронт: https://gitlab.com/stormhead/stormic/web Тут все микросервисы: https://gitlab.com/stormhead/stormlink

Про тягу что-то поковырять - это понимаю. Сам такой же. Сколько я в свое время отдал mastodon и распределенным всяким хранилищам… Даже статью когда-то давно писал про мастодон https://teletype.in/@nims/P9at5enfyUa

+ P.S. если пользуетесь портейнером, попробуйте dockhand. После его выхода я вообще потерял смысл в портейнере )

+ По ссылке получаю 404 и не вижу ничего там, пишет ничего не найдено

Статья
Stormic Community Management System

Да, раз у вас 8081 порт был занят, то нужно было просто перебиндить в .env номер порта на любой другой свободный. Локального хранилища нет, только s3. Для тестов можно в timeweb.cloud взять тестовый s3 на 1гб он там бесплатный и бессрочный будет. Это даст возможность все проверить. Smtp можно взять там же, но тестового бесплатного smtp у них вроде нет.

+ Буду крайне благодарен, если вы возьмёте s3 бесплатный и все сможете посмотреть своими глазами. А то у меня уже глаз замылен, столько на него смотреть. Очень интересно мнение со стороны. Спасибо.

А установщик допилю, чтобы он автоматически решал конфликты портов докера при установке и таких проблем не было )

+ Ничего не переустанавоивайте, просто в /opt/stormic/.env в переменные s3 укажите данные, которые получите для корзины и потом перезапустите стак scli stack down и scli stack up

+ Или можете просто запустить scli update и он у вас спросит снова все неуказанные переменные в том числе s3 и допишет их и потом обровит сам стак. Собственно когда выйдет версия альфы 0.0.6 вам нужно будет тоже просто ввести scli update и он сам накатит все миграции, обновления и обновит ваш запущенный экземпляр, благодаря этой магии у вас появитс еще 2 новых микросервиса и функционал баз знаний сообществ. Не забудьте в настройках s3 (на сайте timeweb) указать в CORS свой домен и поставить галочки на все методы put read и т.д. ну и в allowed поле можете просто * поставить, все равно тестовый.

Статья
1
Stormic Community Management System

Доброго времени суток. Спасибо за добрые члова. Да не писал, потому что сам не знал как скоро я смогу это закончить, а так толку писать если люди хотят знать точно когда. Много ирл вопросов, семья, основная работа. Отвечая на Ваш вопрос: я это делаю один в какие-то капли свободного времени за идею. Просто потому, что я думаю я смогу дать юзерам новый пользовательский опыт и интересно что из этого получится. По вашей проблеме выглядит так как будто докер не смог зарезолвит свой днс и сервисы не увидели друг друга в докер сети. Я думаю, что это разовая акция и звёзды так сошлись.

Можете попробовать ввести scli update и он повторно прогонит все стадии. Однако, если у Вас в конце не написало что админ/овнер инстанса создан, то лучше попробовать переустановить просто запустив scli и нажать 1. Раз в портейнерн все зелёное, значит все запустились, а Кратос мигрейт и должен быть мертвым, потому что он запускается 1 раз при создании, накатывает все миграции в базу данных свою и офается. Спасибо, что попробовали поставить, жалко что вылезла эта проблема и не получилось вот так моментально все запустить. Однако, проблема вроде не в коде. Если у вас нет каких-то других запущенных контейнеров с таким именем или другие контейнеры не используют необходимые порты, то все должно пройти гладко. Если снова будет какая-то такая проблема, то дайте пожалуйста логи еще самих контейнеров

docker logs notifications –tail 80

docker logs auth –tail 80