Skip to content

Latest commit

 

History

691 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tanooki

CI

Українська платформа для читання ранобе.

Функції

  • Читання ранобе з розділами
  • Google OAuth аутентифікація
  • Адмін-панель
  • Прогрес читання
  • Коментарі
  • Пошук (OpenSearch + Searchkick)
  • Система битв Покемонів

Технології

  • Ruby 3.4.9 / Rails 8
  • MySQL (app DB + Solid Cache + Solid Queue)
  • OpenSearch (DO Managed)
  • Hotwire (Turbo, Stimulus), Propshaft, Importmap — без Node/npm
  • Tailwind CSS (tailwindcss-rails)

Встановлення

git clone <repository>
cd tanooki
cp .env.example .env   # налаштуйте DB_PASSWORD та інші змінні
bundle install
bin/rails db:create db:migrate db:seed
bin/dev                # web + Tailwind watch + Solid Queue worker

Локально bin/dev запускає через Foreman (Procfile.dev):

Процес Команда
Web bin/rails server
CSS bin/rails tailwindcss:watch
Jobs bin/jobs start (Solid Queue)

Node/npm не потрібні — JavaScript через Importmap, стилі через Tailwind gem.

OpenSearch (локально, опційно)

Пошук потребує DO Managed OpenSearch. Додайте OPENSEARCH_* з .env.example, потім:

bin/rails runner "Searchkick.callbacks(:inline) { Fiction.reindex; Publication.reindex; YoutubeVideo.reindex }"

Тести та якість

bin/rails test
bin/rubocop
bin/quality    # RuboCop, Brakeman, bundler-audit, erb_lint

Деплой

Production — DigitalOcean App Platform (baka.in.ua). Push to main on GitHub (lsdmi/tanooki) triggers deploy. Env vars — App Platform dashboard (див. .env.example).

Збірка через Dockerfile (Debian Bookworm, libvips 8.14+). Деталі: docs/completed/DIGITALOCEAN_DOCKER_DEPLOY.md.

Компоненти App Platform

Component Run command Примітки
Web (tanooki) bin/rails server -b 0.0.0.0 Puma reads PORT from env; do not use -p $PORT (not shell-expanded)
Worker (tanooki2) bundle exec bin/jobs Solid Queue (separate from Puma web)
Pre-deploy (db-migrate) bundle exec rails db:migrate Перед web + worker

Managed add-ons: MySQL, OpenSearch. Asset CDN — config/platform_config.rb (Spaces bucket + CDN host).

Структура

app/controllers/     # Контролери
app/models/          # Моделі
app/views/           # Представлення
config/              # Конфігурація
db/                  # Міграції
docs/                # Архітектура та modernization spike

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

  • config/database.yml — MySQL
  • config/cache.yml / config/queue.yml — Solid Cache, Solid Queue
  • config/credentials.yml.enc — секрети
  • .env — локально; production — App Platform env vars

Ліцензія

Приватний проект.

About

No description, website, or topics provided.

Resources

Stars

5 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages