Цель проекта

Разработать и развернуть многокомпонентную серверную инфраструктуру на базе Docker Compose, включающую: вики-движок Outline, совместимое S3-хранилище (любое), OIDC-провайдер (любой), обратный прокси, систему мониторинга Portainer с алертами и скрипт-преобразователь Powerpoint в Markdown.

Основные требования

  • Все сервисы собраны в единый docker-compose.yml, одним запросом docker compose up -d должно запускаться всё окружение.
  • Чувствительные параметры (пароли, токены, API-ключи) выведены в файл .env, доступ к нему - строго ограничен.
  • Каждый сервис контейнеризирован, есть отдельные сервисные Dockerfile’ы или образы с настраиваемыми путями.
  • Перед запуском осуществляется автоматическая проверка целостности и копия лога ошибок.

Функциональные блоки

  • Outline: база знаний с ролями пользователей, SSO-входом без паролей, необходима интеграция с OIDC-провайдером.
  • S3-хранилище: любое (MinIO, Ceph, локальное), должно выступать как бэкэнд для документов и медиа Outline.
  • OIDC-провайдер: реализация любой популярной OpenID-системы (например, Keycloak, Dex, Authelia) для централизованной аутентификации.
  • Обратный прокси: - с support HTTPS-терминации, UPGRADE-коннектов WebSocket для прямого доступа к Outline, балансировкой на контролы.
  • Portainer: для визуального управления контейнерами, обязательно: получение алертов по событиям (стоп контейнеров, превышение использования памяти/паддения) через HTTP webhook, email или телеграм-бота.
  • Python-скрипт: простой скриптик на любом питоновом фреймворке, который парсит PPTX-файл и выводит структуру слайдов в Markdown, с сохранением текста и иерархии.

Ожидаемый формат поставки

  • Корневой каталог проекта с docker-compose.yml, примером .env.
  • Короткое описание каждого сервиса (минимум README).
  • Скрипты для первоначальной настройки (сгенерировать ключи/токены, создать базу, заменить тестовый IdP).

Уровень безопасности

Необходимо реализовать: изоляцию контейнеров друг от друга (через дефолт сети и политики прослойки на уровне Reverse Proxy), шифрование всех передач (TLS, HTTPS-only), root-пароли исключить, используйте только API-ключи длиной >32 символа, запрет Root-доступа внутри (ironic non‑root‑alike контейнеры), минимально необходимые сетевые открытые порты и строгие права доступа на папки с монтируемыми данными.

Настройка рассылки сообщений в Telegram-чаты по криптотематике

Требуется организовать автоматическую рассылку сообщений в Telegram-чаты, связанные с криптовалютами и майнингом. Исполнитель должен предоставить базу подходящих чатов и обеспечить отправку без блокировок за ссылки.

Разработка CRM-системы для юридической фирмы

Требуется создать комплексную CRM для автоматизации юридического процесса от заключения договора до его исполнения. Система должна включать базу данных, разграничение ролей, автоматизацию задач и интеграцию с внешними сервисами.