Skip to main content

Overview

Docker Compose provides a complete FootyCollect development environment with all services pre-configured. This is the recommended setup for most developers.

Services Included

The Docker Compose setup includes the following services:

Prerequisites

Install Docker and Docker Compose:
Install Docker Desktop:
Or download from Docker’s website.

Quick Start

1

Clone the repository

2

Configure environment files

Create environment configuration files in .envs/.local/:Django environment (.envs/.local/.django):
PostgreSQL environment (.envs/.local/.postgres):
3

Build and start services

Build the Docker images and start all services:
First build may take 5-10 minutes as it downloads base images and installs dependencies.
To run in detached mode (background):
4

Run initial migrations

In a separate terminal, run database migrations:
5

Create a superuser

Create an admin account:
6

Collect static files

Access the Application

Once all services are running:

FootyCollect

http://localhost:8000Main application interface

Django Admin

http://localhost:8000/adminAdministration panel (requires superuser)

Flower

http://localhost:5555Celery task monitoring

Mailpit

http://localhost:8025Email testing interface

Docker Compose Configuration

The docker-compose.local.yml file defines the complete development stack:

Common Commands

Managing Services

Django Management Commands

Database Operations

Redis Operations

Shell Access

Development Workflow

Code Changes

The Django service mounts your local code directory, so changes are reflected immediately:
  1. Edit code in your local editor
  2. Django auto-reloads (with Werkzeug watchdog)
  3. Refresh browser to see changes
For changes to requirements or Dockerfile, you’ll need to rebuild:

Running Tests

Code Quality

Volume Management

Docker volumes persist data between container restarts:

Troubleshooting

Port Already in Use

If port 8000 is already in use:

Database Connection Issues

Redis Connection Issues

Permission Issues (Linux)

If you encounter permission issues with volumes:

Clean Rebuild

For a completely fresh start:

Performance Optimization

macOS/Windows Performance

For better I/O performance on macOS and Windows:
  1. Use Docker Desktop’s native volumes (already configured)
  2. Delegate file watching to the container (already configured with watchdog)
  3. Exclude node_modules and cache directories from volume mounts

Resource Limits

If Docker is slow, increase resources in Docker Desktop:
  • Memory: 4GB minimum, 8GB recommended
  • CPUs: 2 minimum, 4 recommended
  • Swap: 1GB minimum

Next Steps

Environment Variables

Complete configuration reference

Local Setup

Alternative: Manual local installation

Development Guide

Learn about the architecture

API Reference

Explore REST API endpoints