Skip to content

Implement docker-compose based local setup#3

Open
abhi18av wants to merge 2 commits intogvds:mainfrom
abc-cluster:main
Open

Implement docker-compose based local setup#3
abhi18av wants to merge 2 commits intogvds:mainfrom
abc-cluster:main

Conversation

@abhi18av
Copy link
Copy Markdown

@abhi18av abhi18av commented Apr 20, 2026

Hi @gvds ,

I think that with this PR, the application should work well as far as local setup with seed is concerned. I'd appreciate your critical review to make sure these changes do not break any existing functionality.

image

This pull request introduces a complete, ready-to-use Docker-based local development environment for the BRIMS application, along with improvements to database seeding and factory reliability. The new Docker setup provides a streamlined workflow for developers, including scripts, configuration files, and documentation updates. Additionally, several changes make database factories and seeders more robust, reducing collisions and ensuring test data is seeded correctly.

Docker Local Development Environment

  • Added .env.docker with sensible defaults for local development, and updated documentation in README.md and DEPLOYMENT.md to provide clear setup instructions. [1] [2] [3]
  • Introduced a new docker-compose.yml that orchestrates PHP 8.4, MariaDB 11, Mailpit, and phpMyAdmin, with improved environment variable handling and service health checks. [1] [2]
  • Updated the PHP Dockerfile (docker/8.5/Dockerfile) for a slimmer, faster build using PHP 8.4, and simplified dependency installation.
  • Added a startup wait in docker/8.5/start-container to ensure Composer dependencies are installed before services start, preventing race conditions.
  • Configured Supervisor (docker/8.5/supervisord.conf) to manage the queue worker and scheduler automatically in the container.
  • Fixed the MariaDB test database grant in docker/mariadb/create-testing-database.sh for correct permissions.

Database Factories and Seeders Reliability

  • Updated AssayDefinitionFactory, ProjectFactory, and StudyFactory to generate unique values and always associate records with valid teams and users, reducing collisions and errors during large seed runs. [1] [2] [3] [4] [5]
  • Improved AssayDefinitionSeeder and ProjectSeeder to more reliably assign users and leaders to teams and projects, ensuring referential integrity during seeding. [1] [2] [3]

These changes together provide a much smoother onboarding and development experience for contributors, and make automated testing and local development more reliable.

Copilot AI and others added 2 commits April 20, 2026 07:44
* feat: fix Docker Compose for local development and add setup tooling

Agent-Logs-Url: https://github.com/abc-cluster/brims/sessions/68db3f68-eab6-4b7b-b09f-9b3c66e3ecbc

Co-authored-by: abhi18av <12799326+abhi18av@users.noreply.github.com>

* fix: address code review feedback on Docker setup

Agent-Logs-Url: https://github.com/abc-cluster/brims/sessions/68db3f68-eab6-4b7b-b09f-9b3c66e3ecbc

Co-authored-by: abhi18av <12799326+abhi18av@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: abhi18av <12799326+abhi18av@users.noreply.github.com>
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.

2 participants