Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

First-time setup and dev docker compose config overhaul #1620

Merged
merged 21 commits into from
Nov 26, 2024

Conversation

clpetersonucf
Copy link
Member

@clpetersonucf clpetersonucf commented Nov 13, 2024

The goal of this PR is to make the first-time setup process more robust while offering a setup variation for non-developers, to better facilitate an on-ramp for a production environment.

run_first script split

The previous docker/run_first.sh script has been split into two variations:

  • run_first_for_dev.sh, more or less in parity with the existing run_first.sh script
  • run_first_for_nondev.sh, which provides for a-la-carte configuration options to enable a leaner, faster setup. Note that the nondev script requires yq, which can be acquired from brew (for Mac) or snap (for Linux).

Docker compose override changes

The default docker-compose.override.yml file is no longer included by default and is untracked. Dev-specific compose configurations that previously lived in docker-compose.yml now live in a new docker-compose.development.yml. The docker-compose.override.yml file is dynamically authored by either of the two run_first script variants during first-time setup.

Development env variable changes

The previous docker-compose.yml file included explicit references to a variety of environment variable configurations that made it difficult to override. These values have been reduced to dev-specific values that are themselves generated from the docker/.env file and have been relocated to the docker-compose.development.yml file. The docker/.env file has been expanded with dev environment variables that can be overridden in docker/.env.local as desired. Additionally, a .env.local.mysql file will be generated if unique mysql credentials are selected in the nondev script.

nginx configuration changes

There is now a third nginx config: nginx-nondev.conf, which is used in non-dev setups. This configuration bridges the gap between pure dev nginx configs and the production nginx config to allow both previous options to remain unchanged.

README updates

Significantly updated the base README.md and rewrote the docker/README.md file with a top-down review of all aspects of Materia's docker setup including the dev configuration, configuration options, production-ready setups, and transitioning to prod.

Base env updates

Updated the root .env file to act as a template for production-ready instances and added clarifying comments in line with documentation in the docker README.

@clpetersonucf clpetersonucf merged commit 353f7f9 into dev/10.3.0 Nov 26, 2024
4 checks passed
@clpetersonucf clpetersonucf deleted the issue/1616-run-first-script-updates-part-two branch November 26, 2024 15:59
@clpetersonucf clpetersonucf mentioned this pull request Nov 26, 2024
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