Files
Messenger/README.md
benya 683c8a49e2
All checks were successful
CI / test (push) Successful in 20s
Parameterize docker-compose for server deployment
Compose settings:

- Reworked docker-compose.yml to use environment-variable driven configuration.

- Added shared app env anchors for backend and worker to reduce duplication.

- Made ports, credentials, security limits, SMTP, and storage options configurable.

Production profile:

- Added docker-compose.prod.yml override to close internal service ports.

- Keeps external attack surface minimal for Linux server deployments.

Docs and ops:

- Added .env.docker.example with full variable set for server setup.

- Updated README with quick-start and production launch commands.
2026-03-07 21:58:21 +03:00

1.1 KiB

Benya Messenger

Backend foundation for a Telegram-like real-time messaging platform.

Run

  1. Create and activate Python 3.12 virtualenv.
  2. Install dependencies: pip install -r requirements.txt
  3. Configure environment from .env.example.
  4. Start API: uvicorn app.main:app --reload --port 8000

Celery Worker

Run worker for async notification jobs:

celery -A app.celery_app:celery_app worker --loglevel=info

Quality Gates

  • Compile check: python -m compileall app main.py
  • Tests: pytest -q

Web Client

  1. cd web
  2. copy .env.example to .env
  3. npm install
  4. npm run dev

Docker Quick Start

Run full stack (web + api + worker + postgres + redis + minio + mailpit):

  1. cp .env.docker.example .env
  2. edit .env (SECRET_KEY, passwords, domain)
  3. docker compose up -d --build
  4. Open:

Production Mode

Use production override to close internal ports (postgres/redis/minio/mailpit/backend):

docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d --build