Skip to main content

Overview

The easiest way to deploy Wryft Chat is using Docker Compose.

Prerequisites

  • Docker 20.10+
  • Docker Compose 2.0+
  • 2GB RAM minimum
  • 10GB storage

Quick Deploy

1

Clone repository

2

Configure environment

Edit the .env files with your configuration.
3

Start services

4

Run migrations

Docker Compose Services

The docker-compose.yml includes:

Backend

  • Rust API server
  • Port: 3001
  • Auto-restarts on failure

Frontend

  • Nginx serving React app
  • Port: 80
  • Gzip compression enabled

PostgreSQL

  • Database server
  • Port: 5432
  • Persistent volume

MinIO

  • S3-compatible storage
  • Port: 9000 (API), 9001 (Console)
  • Persistent volume

Redis

  • Cache server
  • Port: 6379
  • Optional (for performance)

Configuration

Backend Environment

Frontend Environment

Nginx Configuration

The included nginx.conf provides:
  • Reverse proxy to backend
  • WebSocket support
  • Gzip compression
  • Static file serving
  • CORS headers

Volumes

Persistent data is stored in:
  • postgres_data - Database
  • minio_data - File uploads
  • redis_data - Cache

Scaling

Horizontal Scaling

Scale backend instances:
Add load balancer (nginx/traefik) in front.

Vertical Scaling

Increase resources in docker-compose.yml:

Monitoring

View Logs

Health Checks

Backup

Database Backup

Restore Database

MinIO Backup

Updating

Troubleshooting

Check logs: docker-compose logs backend
Verify PostgreSQL is running: docker-compose ps postgres
Increase Docker memory limit in Docker Desktop settings

Next Steps

Production Setup

Production deployment guide

Environment Variables

Full configuration reference