OwnCord похоронили через 2 дня после релиза в паб, но не беда. Сделаем свое. Рубрика сами с усами

Привет! Последние несколько месяцев я пилю Outcome — self-hosted платформу для общения в духе Discord: серверы, каналы, чаты, всё своё и всё под вашим контролем. Сейчас проект на стадии «работает, но нужны глаза со стороны», и я ищу людей, готовых потыкать его и найти то, что я сам уже не вижу.

Тут — небольшая история о том, как проект появился, что у него под капотом и почему я решил делать self-hosted модель с первого дня.

OwnCord похоронили через 2 дня после релиза в паб, но не беда. Сделаем свое. Рубрика сами с усами

С чего всё началось

Однажды я наткнулся на проект owncord — self-hosted альтернативу Discord — и сразу осознал потенциал проекта. Идея держать свой сервер для общения, без ограничений, без третьих сторон и без риска, что платформа однажды решит поменять правила или ее заблочит контора солнышек — это ровно то, чего мне не хватало.

Но радость была недолгой: буквально через пару дней проект закрылся (или был продан — публичной информации не осталось), доступ пропал, чаты сообщества удалили или перевели в приват. Код я успел посмотреть, пока репозиторий был открыт на GitHub, — и увидел там как интересные идеи, так и приличное количество багов.

Дорабатывать чужой умерший проект смысла не было, поэтому я решил написать свою реализацию с нуля. Из технологий я лучше всего знаю C# — так и появился Outcome. Подчеркну: это полностью независимая реализация, owncord был написан на go.

Что такое Outcome

Если коротко — это платформа для общения, которую вы разворачиваете на своём железе:

  • Полностью self-hosted. Ваш сервер, ваши данные, ваши правила. Никаких внешних зависимостей от чьей-то инфраструктуры.
  • Multi-node архитектура. Ставь свое и подключайся. 2, 3, 10 серверов - не важно. Инсталяция требует только домена и (желательно) отдельного сервера. VPS на 2/4 вполне себе подойдет. (Внимание livekit работает на сингл ноде, то есть в кубере один livekit инстанс - одна нода. И даже просто несколько серверов связанных в единую сеть требуют 1 инстанса livekit сервиса на 1 ноде. Также обязателен ssl серт даже самоподписанный сойдет)
  • Docker-first развёртывание. Образы на Docker Hub, цель — поднятие сервера одной командой.
  • Мобильное приложение уже на ревью в сторах. (тк мой аккаунт в apple зарегистрирован в рф то хз пропустят или нет, но буду искать обходные пути если что. На гугле уже на модерации)
  • Можно использовать мой инстанс. Прямо как дискорд. Проект собираюсь развивать и дорабатывать. Основной сервер не потухнет.
OwnCord похоронили через 2 дня после релиза в паб, но не беда. Сделаем свое. Рубрика сами с усами
OwnCord похоронили через 2 дня после релиза в паб, но не беда. Сделаем свое. Рубрика сами с усами

Зачем я это пишу и чем можно помочь

Код в опенсорс не выкину (на это есть свои причины). Есть и будет только настройка селфхоста: https://github.com/Skayloo/Outcome

Никакая телеметрия не собирается и вычислительные мощности других узлов не используются.

Прямо сейчас можно попробовать развернуть свое решение (или использовать мой инстанс) и:

  1. Протестировать. Попользоваться, сломать, рассказать как. (Есть кнопка Report Bug)
  2. Провести ревью архитектуры. Я один, и замыленный глаз — моя главная проблема. Особенно важно мнение тех, кто работал с распределёнными системами.
  3. Идеи и критика. Что должно быть в мессенджере, чтобы вы им реально пользовались?
  4. Проверить стабильность и юзабилити. Провести встречу с друзьями (да побольше), хорошенько нагрузить систему и проверить шумодав, качество звука, и наличие лагов или задержек.
  5. Выписать гостевой доступ в голосовой канал. Протестировать мит с коллегами/друзьями через гостевой доступ (там свои приколы)

По фишкам "собственного решения" поедем в следующих публикациях. Но с учетом нынешней ситуации в стране где из голосовых каналов остался только телемост и выжженное поле, мне кажется, такое решение имеет право на существование