Skip to content

Latest commit

 

History

History
179 lines (117 loc) · 6.13 KB

File metadata and controls

179 lines (117 loc) · 6.13 KB

LibreMedia

Ruby Rails PostgreSQL License: SACL


Мови: Polski (за замовчуванням) · English · Українська


Що таке LibreMedia?

LibreMedia — це незалежна мультимедійна SaaS-платформа для творців, журналістів та лідерів думок, які цінують свободу слова та незалежність медіа.

Платформа дозволяє:

  • 📹 Публікувати мультимедійний контент (відео, фото, статті)
  • 💰 Монетизувати через підписки та донати
  • 👥 Будувати спільноти навколо демократичних цінностей
  • 🌍 Глобальне охоплення з багатомовним інтерфейсом (PL, EN, UK, LT, DE, FR, ES)

Вільні медіа — це незалежні медіа.
Справжня незалежність вимагає фінансової незалежності — коли свідомі користувачі підтримують творців напряму.


Чому вихідний код є публічним?

LibreMedia — це комерційна SaaS-платформа з публічно доступним вихідним кодом.

Код є публічним для забезпечення:

  • 🔍 Прозорість та безпека — будь-хто може перевірити код і переконатися у відсутності бекдорів чи шпигунського ПЗ
  • 🧠 Технічна відкритість — архітектура та рішення реалізації є видимими
  • 🤝 Внесок спільноти — pull request'и з виправленнями та покращеннями вітаються

Чи є LibreMedia відкритим кодом?

Ні.

LibreMedia є source-available, а не open source за визначенням OSI. Ця різниця є навмисною та чітко повідомляється. Деталі в LICENSE.md.


Документація

Документ Опис
docs/README.md Головна технічна документація
docs/architecture.md Архітектура системи
docs/api.md Документація API
docs/database.md Структура бази даних та ERD
docs/deployment.md Інструкції з розгортання
LICENSE.md Ліцензія SACL-1.0

Вимоги (локально)

  • Ruby: 3.4.6 (див. .ruby-version)
  • PostgreSQL: 15+
  • Node.js: 24+ (див. .node-version / .nvmrc)
  • Yarn: 1.22+
  • Redis: 7+ (для Sidekiq)
  • Elasticsearch: 8.x (опціонально, для пошуку)

Швидкий старт

1. Встановіть залежності

# Ruby
bundle install

# JavaScript
yarn install

2. Налаштуйте базу даних

bin/rails db:prepare

3. Завантажте тестові дані (development)

bin/rails db:seed

4. Запустіть сервер

bin/dev

Застосунок буде доступний за адресою http://localhost:3000


Конфігурація

Налаштування за замовчуванням у config/settings.yml. Основні змінні середовища:

Змінна Опис
DATABASE_URL URL підключення до PostgreSQL
REDIS_URL URL підключення до Redis
DEVISE_JWT_SECRET_KEY JWT секрет для API
ELASTICSEARCH_URL URL Elasticsearch (опціонально)
STRIPE_* Ключі Stripe для платежів
SMTP_* Конфігурація електронної пошти

Тести

Модульні тести (RSpec)

bundle exec rspec

Покриття коду

Після запуску тестів звіт про покриття генерується в coverage/index.html.


Сервіси / компоненти

  • Sidekiq — обробка фонових завдань
  • Elasticsearch — повнотекстовий пошук
  • Stripe — платежі та підписки
  • Action Cable — WebSocket для сповіщень у реальному часі

Розгортання

Розгортання виконується через Capistrano:

cap staging deploy
cap production deploy

Деталі в docs/deployment.md.


Внесок (Contributing)

Pull request'и вітаються!

Подаючи внесок, ви погоджуєтесь, що він може бути включений до комерційного продукту LibreMedia без додаткової компенсації.

Деталі в LICENSE.md.


Власність

LibreMedia розробляється та управляється Webgate Systems LTD (Велика Британія).

Сайт webgate.pro
Email legal@webgate.pro
GitHub github.com/WebgateSystems/lmcore

© 2026 Webgate Systems LTD
LibreMedia — Свобода Слова, Вільні Медіа