Skip to main content

Docker Installation Guide

This guide will help you set up CueFlies using Docker on your local machine for development.

CueMeet Setup

Before proceeding with CueHired installation, you'll need to set up CueMeet first. Please follow the CueMeet local setup guide to install and configure CueMeet on your system.

Prerequisites

Before you begin, ensure you have the following installed:

  • Docker Engine (latest version)
  • Docker Compose (latest version)
  • Git

Getting the Code

  1. Clone the repository:
git clone <repository-url>
cd cuemeet/Apps/CueFlies

Docker Setup

The Docker Compose setup includes all necessary services:

  • Frontend (React) application
  • Backend (NestJS) server
  • PostgreSQL database
  • Redis cache

Starting the Application

  1. From the root directory, start all services:
docker-compose up -d

This command will:

  • Build and start the frontend service on port 3000
  • Build and start the backend service on port 8080
  • Start PostgreSQL on port 5433
  • Start Redis on port 6379

Environment Configuration

The Docker Compose setup includes the following environment variables:

Backend Environment Variables

Click to view/copy Backend API .env configuration
NODE_ENV=development
PORT=8080
ORIGIN=http://localhost:3000
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
POSTGRES_DB=cue-calender
POSTGRES_HOST=postgres
POSTGRES_PORT=5432
REDIS_HOST=redis
REDIS_PORT=6379
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
GOOGLE_REDIRECT_URI=http://localhost:3000/google/callback
CUEMEET_BASE_URL=

⚠️ Important: The CueMeet-related environment variables must be obtained from the CueMeet Setup Guide. Complete the CueMeet setup first and copy the relevant values into this file.

Frontend Environment Variables

Click to view/copy Frontend .env configuration
NEXT_PUBLIC_API_URL=http://backend:8080

Accessing Services

Useful Docker Commands

  • View running containers:
docker-compose ps
  • View logs:
docker-compose logs -f [service_name]
  • Stop all services:
docker-compose down
  • Rebuild and restart services:
docker-compose up -d --build

Data Persistence

  • PostgreSQL data is persisted in a Docker volume named postgres-data
  • Redis data is persisted in a Docker volume named redis-data

Troubleshooting

  1. If services fail to start:

    • Check if ports 3000, 8080, 5433, and 6379 are available
    • Ensure Docker has enough resources allocated
    • Check logs using docker-compose logs
  2. Database connection issues:

    • Wait for PostgreSQL to be healthy (healthcheck runs every 5s)
    • Verify database credentials in the environment variables
  3. Redis connection issues:

    • Wait for Redis to be healthy (healthcheck runs every 5s)
    • Check Redis logs for any startup errors
  4. Google Calendar integration:

    • Ensure Google OAuth credentials are properly configured
    • Verify the redirect URI matches your Google Cloud Console settings