Skip to content

Конфигурация приложения

Переменные окружения бекенда

Сервер

ПеременнаяТипПо умолчаниюОписание
PORTint8080Порт HTTP-сервера
HOSTstring0.0.0.0Хост для привязки сервера
ENVIRONMENTstringdevelopmentОкружение (development/production)
DEV_MODEbooltrueВключение режима разработки

База данных

Поддерживается два подхода: строка подключения DATABASE_URL или отдельные переменные.

ПеременнаяТипПо умолчаниюОписание
DATABASE_URLstringПолная строка подключения к PostgreSQL
POSTGRES_HOSTstringlocalhostХост PostgreSQL
POSTGRES_PORTint5432Порт PostgreSQL
POSTGRES_DBstringslozy_devИмя базы данных
POSTGRES_USERstringslozy_userПользователь
POSTGRES_PASSWORDstringПароль
POSTGRES_SSL_MODEstringdisableРежим SSL (disable/require/verify-full)
POSTGRES_MAX_OPEN_CONNSint25Максимум открытых соединений
POSTGRES_MAX_IDLE_CONNSint10Максимум idle-соединений
POSTGRES_CONN_MAX_LIFETIMEduration1hМаксимальное время жизни соединения
POSTGRES_CONN_MAX_IDLETIMEduration10mМаксимальное время простоя соединения

Redis

ПеременнаяТипПо умолчаниюОписание
REDIS_HOSTstringlocalhostХост Redis
REDIS_PORTint6379Порт Redis
REDIS_PASSWORDstringПароль Redis
REDIS_DBint0Номер базы данных Redis
REDIS_TLS_ENABLEDboolfalseВключение TLS для Redis

JWT

ПеременнаяТипПо умолчаниюОписание
JWT_SECRETstringdev_change_me_in_production_min_32_charsСекретный ключ для подписи токенов
JWT_EXPIRATIONduration8hВремя жизни access-токена
JWT_REFRESH_EXPIRATIONduration168h (7 дней)Время жизни refresh-токена

CORS

ПеременнаяТипПо умолчаниюОписание
CORS_ENABLEDbooltrueВключение CORS
CORS_ORIGINSstringhttp://localhost:3000,http://localhost:8080Разрешённые источники (через запятую)

Логирование

ПеременнаяТипПо умолчаниюОписание
LOG_LEVELstringinfoУровень логирования (debug/info/warn/error)
LOG_FORMATstringjsonФормат логов (json/text)

Безопасность

ПеременнаяТипПо умолчаниюОписание
ENABLE_SECURITYbooltrueВключение security-мидлваров
ENABLE_RATE_LIMITbooltrueВключение rate limiting
GLOBAL_RATE_LIMITint1000Глобальный лимит запросов в минуту
PER_IP_RATE_LIMITint100Лимит запросов на IP в минуту
ENABLE_IP_WHITELISTboolfalseВключение IP-вайтлиста
IP_WHITELISTstring127.0.0.1,10.0.0.0/8Разрешённые IP и подсети

Переменные фронтенда

Фронтенд на Vite использует переменные с префиксом VITE_:

ПеременнаяТипПо умолчаниюОписание
VITE_API_URLstring/api/v1Базовый путь API (через прокси)
VITE_API_BASE_URLstringhttp://localhost:8080Полный URL бекенда для прямых запросов
VITE_ENVstringdevelopmentОкружение фронтенда

Пример .env.production

env
# Backend
SERVER_PORT=8080
GIN_MODE=release
DATABASE_URL=postgres://postgres:postgres@postgres-service:5432/slozy_db?sslmode=require
DB_MAX_OPEN_CONNECTIONS=100
DB_MAX_IDLE_CONNECTIONS=10
REDIS_URL=redis://redis-service:6379
REDIS_DB=0
CACHE_ENABLED=true
CACHE_DEFAULT_TTL=300
JWT_SECRET=your-super-secret-jwt-key-change-this-in-production
JWT_EXPIRATION=24h
LOG_LEVEL=info
LOG_FORMAT=json
ALLOWED_ORIGINS=https://slozy.net
ENABLE_SECURITY=true
ENABLE_RATE_LIMIT=true
GLOBAL_RATE_LIMIT=1000
PER_IP_RATE_LIMIT=100

# Frontend
VITE_ENV=production
VITE_API_URL=/api/v1
VITE_API_BASE_URL=http://localhost:8080