Единая справка по окружениям, портам, compose-файлам и runtime-настройкам. Остальные страницы должны ссылаться сюда, если речь идет о base URL, env variables, storage или сетях.
| Stack | Файл | Назначение |
|---|---|---|
| Backend local | django_around/around/docker-compose.local.yml |
Полный локальный backend/chat stack с Postgres, Redis, Celery и Go chat service. |
| Backend simple dev | django_around/around/docker-compose.yml |
Упрощенный dev stack: backend, chat, Postgres, Redis. |
| Backend production | django_around/around/docker-compose.prod.yml |
Production backend stack с nginx, backend, workers, chat, Postgres и Redis. |
| Wiki.js | docs/wiki-js/docker-compose.yml |
Отдельный Wiki.js stack с собственной PostgreSQL базой. |
| Окружение | Django API | Chat HTTP | Chat WebSocket | Wiki.js |
|---|---|---|---|---|
docker-compose.local.yml без .env override |
http://localhost:8999/api/v1/ |
http://localhost:8998 |
ws://localhost:8998/ws/chats |
Отдельный stack |
docker-compose.local.yml после cp .env.example .env |
http://localhost:8999/api/v1/ |
http://localhost:${CHAT_HTTP_PORT}; в .env.example это 20001 |
ws://localhost:${CHAT_HTTP_PORT}/ws/chats |
Отдельный stack |
docker-compose.yml |
http://localhost:20000/api/v1/ |
http://localhost:20001 |
ws://localhost:20001/ws/chats |
Отдельный stack |
| Production через nginx | https://<backend-domain>/api/v1/ |
https://<backend-domain>/api/v1/chats |
wss://<backend-domain>/ws/chats |
https://wiki.q7m4t2x9b1.auna.kz/ в текущем nginx config |
| Wiki.js local | Не применимо | Не применимо | Не применимо | http://localhost:${WIKI_PORT}; в .env.example это 20099 |
Production nginx и Wiki.js stack связаны через external Docker network around_public.
Перед запуском production/wiki stack сеть должна существовать:
docker network inspect around_public >/dev/null 2>&1 || docker network create around_public
Если сети нет, docker compose для production nginx или Wiki.js завершится ошибкой из-за external network.
Файл: django_around/around/.env.
Обязательные production values:
DJANGO_SECRET_KEY - общий signing key Django и chat service.DEBUG=0.ALLOWED_HOSTS - production domains.CSRF_TRUSTED_ORIGINS - HTTPS origins production frontend/backend.POSTGRES_DB, POSTGRES_USER, POSTGRES_PASSWORD.REDIS_PASSWORD.IMAGE_NAME, CHAT_IMAGE_NAME для production compose.WS_ALLOWED_ORIGINS - допустимые origins для WebSocket upgrade.FREEDOMPAY_* values - required for production card tokenization and payment webhooks.FIREBASE_* values - required when push delivery is enabled.Полезные runtime values:
API_VERSION_FILE - в production указывает на /data/api_version.txt, который хранится в api_version_data.MEDIA_URL - URL prefix для local media.CHAT_HTTP_PORT - host port chat service в local stack.REDIS_CHAT_CHANNEL - Redis pub/sub channel chat events.Public billing endpoints use FreedomPay for card tokenization and payment status callbacks.
Runtime values:
FREEDOMPAY_BASE_URL - FreedomPay API base URL, default https://api.freedompay.kz/.FREEDOMPAY_AUTH_ID - API auth id.FREEDOMPAY_ACCEPT_SECRET_KEY - secret for accept/payment requests.FREEDOMPAY_MERCHANT_ID and FREEDOMPAY_MERCHANT_SECRET_KEY - card storage credentials.FREEDOMPAY_DEFREEZE_SECRET_KEY - defreeze/refund secret.FREEDOMPAY_TIMEOUT - request timeout, default 30.FREEDOMPAY_ACCEPT_LANGUAGE - provider language, default ru.FREEDOMPAY_CHECK_URL, FREEDOMPAY_RESULT_URL - payment webhook URLs.FREEDOMPAY_CARD_SUCCESS_URL, FREEDOMPAY_CARD_FAILURE_URL, FREEDOMPAY_CARD_RESULT_URL, FREEDOMPAY_CARD_BACK_LINK - card tokenization redirect/callback URLs.FREEDOMPAY_AUTO_CLEARING - boolean auto-clearing flag.Card bank/payment system reference data can be seeded with:
python manage.py seed_kz_card_banks
Django поддерживает local filesystem storage и S3-compatible storage.
S3 включается только если заданы все переменные:
AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYAWS_STORAGE_BUCKET_NAMEAWS_S3_ENDPOINT_URLВ production local media storage сейчас не является полноценным вариантом без дополнительной доработки: docker-compose.prod.yml не монтирует persistent media volume, а nginx config не отдает /media/. Для production нужно использовать S3-compatible storage или отдельно добавить media volume и nginx route.
REDIS_URL используется как default broker/result backend.CELERY_BROKER_URL и CELERY_RESULT_BACKEND могут переопределить REDIS_URL.default, SMSQueue, PaymentsQueue, FirebaseQueue.CELERY_QUEUE выбирает очередь конкретного worker.Push device APIs work without sending notifications, but real Firebase delivery requires:
FIREBASE_ENABLED=1;FIREBASE_PROJECT_ID;FIREBASE_CREDENTIALS_FILE pointing to a service account JSON file available inside the backend/worker container.Push tasks are dispatched through Celery and should run on FirebaseQueue in production.
Go chat service использует:
HTTP_ADDR=:8080 внутри контейнера.POSTGRES_DSN или POSTGRES_HOST, POSTGRES_PORT, POSTGRES_DB, POSTGRES_USER, POSTGRES_PASSWORD.REDIS_URL или VALKEY_LOCATION + VALKEY_PASSWORD.DJANGO_SECRET_KEY или JWT_SECRET; должен совпадать с Django SECRET_KEY.JWT_ALGORITHM=HS256.WS_ALLOWED_ORIGINS.REDIS_CHAT_CHANNEL=chat:events.Chat принимает только access tokens с token_type=access.
MOBIZON_ENABLED=0 - dev/default mode: OTP равен 0000, SMS не отправляется.MOBIZON_ENABLED=1 - OTP генерируется случайно и отправляется через Mobizon.OTP_SMS_SEND_TIMEOUT_SECONDS применяется только когда Mobizon включен.OTP_SMS_STRICT_DELIVERY=1 превращает ошибку SMS provider в API validation error.Файл: docs/wiki-js/.env.
WIKI_PORT=20099 в .env.example.WIKI_POSTGRES_DB=wikijs.WIKI_POSTGRES_USER=wikijs.WIKI_POSTGRES_PASSWORD нужно заменить перед production.Wiki.js использует отдельную PostgreSQL базу wiki_db и volumes wiki_data, wiki_postgres_data.