Установка

Архитектура сервисов

Описание контейнеризированных сервисов и их взаимосвязей

Платформа состоит из нескольких контейнеризированных сервисов, взаимодействующих через внутреннюю Docker-сеть.

Описание сервисов

СервисНазначениеПорт
konkurs-nginxReverse-proxy, маршрутизация запросов между frontend и backend, раздача статических файлов81 → 80
konkurs-clientFrontend-приложение (Nuxt.js), серверный рендеринг (SSR) пользовательского интерфейса3000
konkurs-apiBackend API (Laravel), бизнес-логика, обработка данных, авторизация80
konkurs-pgsqlРеляционная СУБД (PostgreSQL 17), хранение основных данных Платформы5432 (внутр.), 7432 (хост)
konkurs-valkeyХранилище ключ-значение (Valkey/Redis), кэширование, сессии, очереди задач6379
konkurs-meilisearchПоисковый движок (MeiliSearch), полнотекстовый поиск по конкурсам и работам7700

Хранилища данных (Volumes)

VolumeНазначение
konkurs_postgres_dataДанные PostgreSQL
konkurs-valkey-dataДанные Valkey (кэш)
konkurs_meilisearch_dataПоисковые индексы MeiliSearch
konkurs-api-storageСтатические файлы API
konkurs-storageЗагруженные файлы пользователей
konkurs-dumpsДампы и экспорты конкурсов
konkurs-logsЛоги приложения