2.3 KiB
Frontend Development Guide
How to run the backend locally with Docker Compose while developing the frontend.
Do I need a .env file?
No. All environment variables are already defined inline in deploy/docker/docker-compose.yml with working local defaults. You don't need to create or manage any .env file to get started.
If you need to override something (e.g. real Google OAuth credentials for testing), edit the environment variables directly in the docker-compose.yml under the relevant service.
Starting the backend
cd deploy/docker
# Start everything
docker-compose up -d
This gives you:
| Service | URL |
|---|---|
| Backend API | http://localhost:8080 |
| Realtime (WebSocket) | ws://localhost:4000/socket |
| Tracking | http://localhost:3000 |
| Mailpit (email inbox) | http://localhost:8025 |
Lighter setup (API only)
If you don't need realtime or tracking:
cd deploy/docker
docker-compose up -d postgres redis kafka zookeeper schema-registry backend
Add more services as needed:
docker-compose up -d realtime # WebSocket support
docker-compose up -d tracking # Open/click tracking
docker-compose up -d consumer # Event processing
Frontend config
Point your frontend at the local services:
API_URL=http://localhost:8080
WS_URL=ws://localhost:4000/socket
TRACKING_URL=http://localhost:3000
CORS is set to allow all origins in dev mode, so any frontend port works.
Common commands
cd deploy/docker
# Rebuild after pulling new backend code
docker-compose up -d --build backend
# View logs
docker-compose logs -f backend
# Reset database (wipes all data)
docker-compose down -v && docker-compose up -d
# Stop everything
docker-compose down
Email in local dev
All emails sent by the backend (login codes, verification codes, password resets) are captured by Mailpit. Open http://localhost:8025 to view them — no real email is ever sent in local dev.
Which services do I need?
| What you're building | Run |
|---|---|
| Most UI work (auth, campaigns, contacts, settings) | infra + backend + mailpit |
| Live updates / realtime UI | above + realtime |
| Email tracking / analytics | above + tracking consumer |
| Full integration | docker-compose up -d |