Достижение: Добавлены скрипты и документация для релиза PDF Compressor.

- Добавлен release-body.md для подробных заметок о релизе на русском языке.
- Реализован release-gitea.ps1 для автоматизированного релиза Gitea с помощью PowerShell.
- Создан release-gitea.sh для автоматизированного релиза Gitea с помощью Bash.
- Добавлен release.sh для сборки и маркировки релизов с поддержкой нескольких платформ.
- Улучшен пользовательский интерфейс благодаря информативному логированию и обработке ошибок.
- Добавлена ​​поддержка переменных окружения и управления конфигурацией.
- Добавлена ​​функция создания архивов и загрузки ресурсов в Gitea.
This commit is contained in:
Dmitriy Fofanov
2025-11-05 09:33:12 +03:00
parent f328d67080
commit ec65cfd05a
43 changed files with 5792 additions and 2 deletions

161
.env.example Normal file
View File

@@ -0,0 +1,161 @@
# Docker Environment Configuration
# Конфигурация окружения для Docker контейнера PDF Compressor
# === ОСНОВНЫЕ НАСТРОЙКИ ===
# Путь к конфигурационному файлу
APP_CONFIG_PATH=/app/config/config.yaml
# Уровень логирования (debug, info, warn, error)
APP_LOG_LEVEL=info
# === ДИРЕКТОРИИ ===
# Входная директория для PDF файлов
APP_INPUT_DIR=/app/input
# Выходная директория для сжатых файлов
APP_OUTPUT_DIR=/app/output
# Директория для логов
APP_LOGS_DIR=/app/logs
# === НАСТРОЙКИ СЖАТИЯ ===
# Уровень сжатия по умолчанию (1-100)
APP_COMPRESSION_LEVEL=50
# Алгоритм сжатия (pdfcpu, unipdf)
APP_COMPRESSION_ALGORITHM=pdfcpu
# Количество параллельных воркеров
APP_PARALLEL_WORKERS=4
# === НАСТРОЙКИ ПРОИЗВОДИТЕЛЬНОСТИ ===
# Максимальный размер файла в MB
APP_MAX_FILE_SIZE=100
# Таймаут обработки файла в секундах
APP_PROCESSING_TIMEOUT=300
# Размер буфера для чтения файлов в KB
APP_BUFFER_SIZE=1024
# === НАСТРОЙКИ МОНИТОРИНГА ===
# Интервал проверки здоровья в секундах
HEALTHCHECK_INTERVAL=30
# Таймаут проверки здоровья в секундах
HEALTHCHECK_TIMEOUT=10
# === НАСТРОЙКИ БЕЗОПАСНОСТИ ===
# Пользователь и группа для запуска
APP_USER_ID=1001
APP_GROUP_ID=1001
# Права доступа к файлам (octal)
APP_FILE_PERMISSIONS=644
APP_DIR_PERMISSIONS=755
# === DOCKER СПЕЦИФИЧНЫЕ ===
# Имя контейнера
CONTAINER_NAME=pdf-compressor-app
# Имя образа
IMAGE_NAME=pdf-compressor:latest
# Сеть Docker
DOCKER_NETWORK=pdf-compressor-network
# === РЕСУРСЫ ===
# Лимит CPU (в единицах CPU)
DOCKER_CPU_LIMIT=2.0
# Резервирование CPU
DOCKER_CPU_RESERVATION=0.5
# Лимит памяти
DOCKER_MEMORY_LIMIT=1G
# Резервирование памяти
DOCKER_MEMORY_RESERVATION=256M
# === VOLUMES ===
# Хост-путь для входных файлов
HOST_INPUT_PATH=./input_pdfs
# Хост-путь для выходных файлов
HOST_OUTPUT_PATH=./output_pdfs
# Хост-путь для логов
HOST_LOGS_PATH=./logs
# Хост-путь для конфигурации
HOST_CONFIG_PATH=./config.yaml
# === ДОПОЛНИТЕЛЬНЫЕ СЕРВИСЫ ===
# Порт для файлового браузера
FILEBROWSER_PORT=8080
# Порт для просмотра логов
LOG_VIEWER_PORT=8081
# Включить файловый браузер (true/false)
ENABLE_FILEBROWSER=true
# Включить просмотр логов (true/false)
ENABLE_LOG_VIEWER=false
# === РАЗВЕРТЫВАНИЕ ===
# Окружение (development, staging, production)
ENVIRONMENT=development
# Версия приложения
APP_VERSION=1.0.0
# Автоматический запуск при старте системы
RESTART_POLICY=unless-stopped
# === ОТЛАДКА ===
# Включить режим отладки
DEBUG_MODE=false
# Подробные логи сжатия
VERBOSE_COMPRESSION=false
# Профилирование производительности
ENABLE_PROFILING=false
# === УВЕДОМЛЕНИЯ (для будущих версий) ===
# Email для уведомлений об ошибках
NOTIFICATION_EMAIL=
# Slack webhook для уведомлений
SLACK_WEBHOOK_URL=
# Telegram bot token
TELEGRAM_BOT_TOKEN=
# === ИНТЕГРАЦИИ (для будущих версий) ===
# S3 bucket для хранения файлов
S3_BUCKET_NAME=
# S3 region
S3_REGION=
# S3 access key
S3_ACCESS_KEY=
# S3 secret key
S3_SECRET_KEY=