Skip to content

Deployment Guide

GiZano edited this page Jan 29, 2026 · 1 revision

Deployment & CI/CD Guide

This page explains how to deploy the Chat Server using containerization and how the automated pipeline handles updates.

1. Docker Deployment

The project is fully containerized to ensure portability and ease of use across different environments.

Prerequisites

  • Docker installed on the host machine.
  • Docker Compose (optional but recommended for resource management).

Deployment Steps

  1. Build the Image: The Dockerfile uses a python:3.9-slim base to minimize the footprint.
    docker build -t chat-server .
  2. Resource Allocation: In our testing, we found that limiting the container to 512MB of RAM is sufficient for stable operations.

2. CI/CD Pipeline (GitHub Actions)

We implemented an automated workflow to streamline the transition from development to production.

Workflow Process

  • Trigger: The pipeline activates on every push to the main branch, specifically monitoring changes in the server/ directory or utils.py.
  • Registry: The automated script builds a fresh Docker image and publishes it to the GitHub Container Registry (GHCR).
  • Ready for Enterprise: This makes the latest stable version of the server immediately available for pull on any enterprise-grade server.

3. Network Configuration

Since this is an on-premise solution, ensure the following:

  • Port Forwarding: Port 65432 must be open on the host machine for local network traffic.
  • Protocol: The server utilizes TCP to guarantee message delivery through ACK (acknowledgment) packets.

Clone this wiki locally