Skip to content

Feature/dockerize testing2#214

Open
Shubham15986 wants to merge 2 commits into
RECursion-NITD:testing2from
Shubham15986:feature/dockerize-testing2
Open

Feature/dockerize testing2#214
Shubham15986 wants to merge 2 commits into
RECursion-NITD:testing2from
Shubham15986:feature/dockerize-testing2

Conversation

@Shubham15986

Copy link
Copy Markdown

Description

This PR introduces a centralized Docker setup that acts as the core orchestrator for local development, spinning up both the backend and frontend simultaneously via docker-compose.yml.

It aims to solve local environment friction (specifically macOS mysqlclient C-library installation issues) and dramatically simplifies the onboarding setup process for new club contributors.

Note: No frontend PR is required! The Compose file in this PR dynamically manages the frontend by mounting the adjacent frontend directory into a generic Node container.

Changes Made

  • docker-compose.yml: Added a central orchestration file that builds the backend container and dynamically mounts the adjacent RECursionNITD-Frontend repository into a resilient Node container.
  • Backend 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.
  • Volume Mounts: Configured volume mounts for both website/ and ../RECursionNITD-Frontend/ directories to ensure zero-friction hot-reloading for both backend and frontend developers.
  • Resilient NPM Configuration: Injected network timeouts (fetch-retry-maxtimeout 600000, fetch-retries 5) into the frontend startup command to bypass ECONNRESET drops during massive registry pulls.

How to Test

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

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