Skip to content

chore: add docker configuration for local development#212

Open
Shubham15986 wants to merge 1 commit into
RECursion-NITD:dev-apifrom
Shubham15986:feature/dockerize-project
Open

chore: add docker configuration for local development#212
Shubham15986 wants to merge 1 commit into
RECursion-NITD:dev-apifrom
Shubham15986:feature/dockerize-project

Conversation

@Shubham15986

@Shubham15986 Shubham15986 commented Jun 10, 2026

Copy link
Copy Markdown

Description

This PR introduces a robust Docker configuration to containerise the local development environment. It aims to solve local environment friction (specifically macOS mysqlclient C-library installation issues) and simplifies the setup process for new contributors.

This PR acts as the central orchestrator for the entire stack, spinning up both the backend and frontend simultaneously via docker-compose.yml.

Changes Made

  • Dockerfile: Added a Python 3.11-slim container that natively installs the required system dependencies (libmysqlclient-dev, libjpeg-dev) to successfully compile mysqlclient and Pillow.
  • docker-compose.yml: Added a central compose file that builds and networks both the backend and the adjacent RECursionNITD-Frontend repository.
  • Volume Mounts: Configured volume mounts for the website/ directory to ensure hot-reloading works out of the box and the massive 133MB db.sqlite3 database safely persists on the host machine.
  • .dockerignore: Added to ignore virtual environments and cache files.

How to Test

  1. Ensure both the backend and frontend repositories are cloned into the same parent folder.
  2. Ensure Docker Desktop is running.
  3. Run docker compose up -d --build inside this repository.
  4. Visit http://localhost:3000 to interact with the full containerised stack.

Note: This PR must be merged at the exact same time as the corresponding Frontend Docker PR #79. The docker-compose.yml file in this PR relies on the Dockerfile being present in the frontend repository to successfully build the local environment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant