Skip to content

Conversation

@joecorall
Copy link
Contributor

@joecorall joecorall commented Jun 20, 2025

This PR started as just removing docker compose profiles from docker-compose.yaml but has morphed into basically a rewrite of ISLE Site Template...

The original motivating factor for removing profiles was to make production and dev environments as identical as possible. The way we're using profiles (same services with different config set using profiles) is antithetical to that general idea. Having profiles was arguably necessary when we had codeserver, but now that codeserver has been removed there's little value to splitting our docker-compose.yaml into profiles

Related links

  • Current setup does not use secrets to set generated secrets/passwords when using the dev profile. This has tripped me up before and someone else raised the issue

Additional changes

Default HTTP

While I was at it I also made a few more changes to make getting started easier. Namely, I made the default dev environment use http rather than https. We've had quite a few GitHub issues and Slack messages related to mkcert that forcing TLS for dev environments just doesn't seem to be making the DX any better. Additionally, some folks have TLS terminated in front of ISLE (having ISLE act as a backend on a frontend reverse proxy) so having better support around switching from TLS to HTTP seemed warranted. To help with this I added some new make commands to allow switching between http, tls-mkcert, and tls-acme easier.

Default domain

Using http also forced moving away from islandora.dev... HSTS rules in Google Chrome in particular do not allow accessing *.dev domains over http.

traefik labels to YML

I also moved the traefik labels from docker compose and into dynamic template to make these different options easier to configure.

init service

Instead of running the generate-secrets.sh and generate.certs.sh on the host machine, I made an init service that runs this using islandora/base.

smart port allocation

make up tries to bring up ISLE on port 80/443 but if those ports are bound by some other process than the compose project it tries to bind to another port. The URL is then automatically opened in the web browser.

Composite Action

The integration test ran in GitHub Actions is now a composite action so we can run the same action in other repos to easily setup a site template instance for testing.

Batteries included

Instead of a setup script, just keep this repo up to date with islandora-starter-site. This will allow us to add the green "use this template" button on this repo and people will be able to copy isle-site-template with the latest islandora-starter-site into their own github repo (as opposed to forking). This makes setting up a site easier. Just copy this template repo (or checkout this repo) and run make init up

make status

Added a command to clue folks into common misconfiguration settings

Testing

Checkout this PR and run

make up

and you should have your own copy of isle-site-template

Before merging

This is a big change and if approved will need a lot of docs updates (in this repo's README and in islandora/documentation). As well as updating GitHub Actions for those that leverage site template (namely islandora-starter-site and workbench). I'll do this after this PR gets reviewed. And we probably could turn this repo into a template repository

@joecorall joecorall changed the title remove dev/prod profiles remove dev/prod profiles in favor of compose override file Jun 21, 2025
@joecorall joecorall force-pushed the rm-profiles branch 4 times, most recently from f70605a to 35ec8aa Compare June 21, 2025 08:52
@joecorall joecorall changed the title remove dev/prod profiles in favor of compose override file Replace dev/prod profiles with compose override file Jun 23, 2025
@joecorall joecorall closed this Jul 16, 2025
@joecorall joecorall deleted the rm-profiles branch July 16, 2025 16:56
@joecorall joecorall restored the rm-profiles branch December 4, 2025 20:56
@joecorall joecorall reopened this Dec 4, 2025
@joecorall joecorall marked this pull request as ready for review December 4, 2025 21:07
@aOelschlager
Copy link
Contributor

aOelschlager commented Dec 15, 2025

I've been testing this and I had to run docker compose up -d a few times for the site to come up. The drupal container fails running docker compose up the first time. Then I run it again and drupal starts as well as solr. I think that issue is that solr is not starting the first time around and that is what is making the drupal container fail. Update: the docker compose file says solr depends on a healthy drupal container so maybe the failure is caused by something else. Currently I can't log in to drupal as admin (using password.) So I tried several of the passwords in the secrets folder (including the drupal default account password) and nothing will work. I will try to debug more tomorrow.

@joecorall joecorall force-pushed the rm-profiles branch 6 times, most recently from 93c9c6c to 43d08a4 Compare December 18, 2025 21:11
@joecorall joecorall changed the title Replace dev/prod profiles with compose override file Default dev to http. Replace dev/prod profiles with compose override file Dec 18, 2025
and add make commands to switch between http, https-mkcert, and https-acme
@joecorall joecorall force-pushed the rm-profiles branch 2 times, most recently from 9ee3b9e to cd81247 Compare December 18, 2025 22:11
@joecorall joecorall force-pushed the rm-profiles branch 5 times, most recently from a09b6ad to 7cba6df Compare January 8, 2026 09:54
@joecorall joecorall force-pushed the rm-profiles branch 2 times, most recently from d11cbe6 to 46caeb8 Compare January 8, 2026 14:41
@joecorall joecorall force-pushed the rm-profiles branch 3 times, most recently from 9dad858 to 3f8854f Compare January 8, 2026 15:05
@joecorall
Copy link
Contributor Author

joecorall commented Jan 8, 2026

letsencrypt confirmed to be working as described in #98 (comment)

https://isle.joecorall.com/ deleted the VM

@joecorall joecorall marked this pull request as ready for review January 8, 2026 17:27
@joecorall joecorall force-pushed the rm-profiles branch 3 times, most recently from f200487 to 738568c Compare January 9, 2026 13:40
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.

4 participants