35 Commits
Author SHA1 Message Date
Brooke Kuhlmann 70bfcc6cf8 Updated to PostgreSQL 18.4.0
link:https://www.postgresql.org/about/news/postgresql-184-1710-1614-1518-and-1423-released-3297/[Details].

Milestone: minor
2026-05-18 08:23:44 -06:00
Brooke KuhlmannandSimon Höllein f8523e145c Fixed Docker Compose typo with web service dependencies
Co-authored-by: Simon Höllein <simon@shoellein.de>
Milestone: patch
2026-03-24 16:34:55 -06:00
Brooke Kuhlmann 6deb0abe96 Updated to PostgreSQL 18.3.0
link:https://www.postgresql.org/about/news/postgresql-183-179-1613-1517-and-1422-released-3246/[Details].

Milestone: minor
2026-02-26 17:05:47 -07:00
Brooke Kuhlmann 5bd97963ab Updated to PostgreSQL 18.2.0
link:https://www.postgresql.org/about/news/postgresql-182-178-1612-1516-and-1421-released-3235/[Details].

Milestone: minor
2026-02-13 08:49:03 -07:00
Brooke Kuhlmann 9ed1e2f136 Fixed Docker compose health check to use custom port
Necessary to ensure, when folks change the `HANAMI_PORT`, that the port is picked up in the health check so the web service reports as healthy.

Milestone: patch
2026-01-26 15:51:12 -07:00
Brooke KuhlmannandMax Forasteiro eb5c020507 Fixed Docker Compose database port configuration
Necessary to ensure the port, when customized, is used when launching the PostgreSQL database service. It would be better to use `PGPORT` for this as per link:https://www.postgresql.org/docs/current/libpq-envars.html[PostgreSQL Envrionment Variable] documentation but the link:https://github.com/docker-library/docs/blob/master/postgres/README.md[Docker Image] has an extremely limited set of allowed environment variables. Use of `command` serves as a workaround.

Co-authored-by: Max Forasteiro <18661016+maxforasteiro@users.noreply.github.com>
Milestone: patch
2026-01-08 14:08:36 -07:00
Brooke Kuhlmann 2637bc8d58 Fixed Docker Compose typo with production configuration
The end quote was in the wrong place.

Milestone: patch
2026-01-06 16:42:44 -07:00
Brooke Kuhlmann 3314fd2f79 Added Docker worker service web dependency
This is being done to ensure the database, assets, etc are properly setup via the web service before the worker service is launched. This resolves issues with the worker service restarting due to the database not being setup. _This only happens when setting up the application for the first time_. While not recommended as a Docker practice, this seems to be the only way to improve the initial application setup experience.

Milestone: minor
2026-01-06 14:06:17 -07:00
Brooke KuhlmannandMax Forasteiro cf67bc93a0 Added Docker entrypoint conditional setup for assets and migrations
Necessary to ensure assets and migrations are only setup for the _web_ service. This ensures other services, like the _worker_ service, don't end up duplicating this work. The new `APP_SETUP` environment variable controls this behavior and works for both Docker and Render.

The original idea stems from Max but has been modified to support both assets _and_ migrations.

This also fixes a typo in the `compose.dev.yml.tt` to do not adding the end quote in the right place.

Co-authored-by: Max Forasteiro <18661016+maxforasteiro@users.noreply.github.com>
Milestone: minor
2026-01-06 11:32:15 -07:00
Max ForasteiroandBrooke Kuhlmann debea92256 Added Docker Compose database/keyvalue health check ports
Allows the database/keyvalue ports to be configured if desired. We already have the environment variables for these so this extends that capability further.

This also refactors the `pg_isready` CLI options to use long form for improved readability.

Co-authored-by: Brooke Kuhlmann <brooke@alchemists.io>
Milestone: minor
2026-01-05 09:28:58 -07:00
Brooke Kuhlmann eff72717f4 Updated scripts as Docker specific scripts
These are properly organized as scripts specifically for Docker which remedies confusion with standard project binaries.

Milestone: minor
2025-12-16 10:41:28 -07:00
Brooke Kuhlmann 6d61bfaa24 Fixed Docker certificate URLs warning due to not being set
Necessary to ensure this warning stops appearing in the console/logs:

----
WARN[0000] The "CERTIFICATE_URLS" variable is not set. Defaulting to a blank string.
----

By using a safe default value (blank), we can prevent the warning since this environment variable is optional.

Milestone: patch
2025-12-09 13:43:06 -07:00
Anthony JuckelandBrooke Kuhlmann 65377e9e73 Added Docker init certificates service
Provides a new container that runs before web and worker. Calls `bin/docker/install-certificates` to do the install, and saves to a new certificates volume.

Allows for extensions which are fetching data from SSL-protected URLs that don't have publicly-trusted SSL signatures to function.

Co-authored-by: Brooke Kuhlmann <brooke@alchemists.io>
Milestone: minor
2025-11-26 08:48:54 -07:00
Brooke Kuhlmann 7a61a1a2b4 Fixed valkey scheme to be redis scheme
This was an accident when cleaning up the envrionment variables where the scheme was switched but needs to be `redis` instead. Both Valkey and Dragonfly use this scheme so this ensures the URL always works for all three providers.

Milestone: patch
2025-11-25 07:16:05 -07:00
Anthony JuckelandBrooke Kuhlmann 8d1e0e2fa7 Fixed missing init for worker
Needed an init to clean up processes generated in extension worker.
2025-11-24 11:25:30 -07:00
Brooke Kuhlmann f951f00f6e Fixed database environment variables to be generic and consistent
As done, in the previous commit to accomidate Valkey, all database environment variables now use the `DATABASE` prefix instead of `PG` which was specific to PostgreSQL. This improves consistency both for environment variables and Docker services.

Issue: 243
Milestone: minor
2025-11-24 08:52:43 -07:00
Brooke Kuhlmann d667501b4d Added Valkey keyvalue service
Necessary to support an open source solution with better licensing. link:https://valkey.io[Valkey] is now the default keyvalue data store.

Use of `keyvalue` instead of `redis` is done to be more generic. This also allows folks to switch to Dragonfly and/or Redis if desired.

Docker was updated to refer to this as the _keyvalue_ service instead of the _cache_ service.

Issue: 243
Milestone: minor
2025-11-24 08:52:43 -07:00
Brooke Kuhlmann ca9d8c094e Fixed Docker Compose restart, deploy, Redis, and volume configuration
Necessary to improve robustness of the Docker Compose configuration by:

* Ensuring all services restart.
* Ensuring all services have resource limits.
* Ensuring the worker service has access to the `web-uploads` volume as this was causing all Sidekiq jobs to fail to generate screens for extensions.
* Ensuring PostgreSQL has more memory because, out of all services, it needs the most in order to improve performance by not swapping to disk.
* Ensuring Redis doesn't _silently_ evict keys under memory pressure which will cause Sidekiq jobs to be lost. Now Redis will error instead so this is clear and quick to debug.

Milestone: patch
2025-11-22 09:17:47 -07:00
Brooke Kuhlmann 0155c4b598 Fixed Docker Compose worker service environment variables
Necessary to match what we use for the web service especially when running this work independently because the worker service is a variant of the web service and has the same requirements.

Milestone: patch
2025-11-18 08:13:10 -07:00
Brooke Kuhlmann 90d7e4e091 Added and updated Docker Compose health checks
Necessary to ensure all services have health checks and are consistent (especially retries).

Milestone: minor
2025-11-17 09:39:33 -07:00
Brooke Kuhlmann b111f5d041 Updated to PostgreSQL 18.1.0
link:https://www.postgresql.org/about/news/postgresql-181-177-1611-1515-1420-and-1323-released-3171/[Detalis].

Milestone: minor
2025-11-17 09:39:33 -07:00
Brooke Kuhlmann 09ebda8e76 Added Docker Compose Redis configuration
Necessary to ensure Redis is part of the stack when running Docker. This'll soon be used by Sidekiq for processing background jobs.

This includes fixing the `DATABASE_URL` so the port is no longer hard coded but pulled from the `PG_PORT` environment variable.

Milestone: minor
2025-11-05 16:02:18 -07:00
Brooke Kuhlmann 14d98852e9 Fixed Docker compose PostgreSQL mount point
Necessary to ensure PostgreSQL is mounted correctly as this changed with the release of PostgreSQL 18.0.0.

Issue: 230
Milestone: patch
2025-09-30 08:14:29 -06:00
Brooke Kuhlmann 9524f95211 Updated to PostgreSQL 18.0.0
link:https://www.postgresql.org/about/news/postgresql-18-released-3142/[Details].

Milestone: minor
2025-09-29 08:07:41 -06:00
Brooke Kuhlmann c0ec5ccd02 Updated to PostgreSQL 17.6.0
link:https://www.postgresql.org/docs/17/release-17-6.html[Details].

Milestone: minor
2025-09-16 16:13:19 -06:00