Docker Compose dev setup: Garage + automated bootstrap #250
Open
raucao
wants to merge 5 commits from
chore/docker-compose-setup into master
pull from: chore/docker-compose-setup
merge into: kosmos:master
kosmos:master
kosmos:feature/nostr-onboarding-ruby
kosmos:live
kosmos:chore/btcpay_expired_paid-late
kosmos:feature/nostr-onboarding
kosmos:feature/import_deno_modules
kosmos:docs/integrations
kosmos:feature/ldap_aci
kosmos:feature/contribution_nav
Labels
Clear labels
bug
design
dev environment
docs
duplicate
enhancement
feature
good first issue
idea
invalid
kredits-1
kredits-2
kredits-3
on hold
ops
question
security
ui/ux
wontfix
integration
btcpay
integration
discourse
integration
ejabberd
integration
email
integration
ldap
integration
lndhub
integration
mastodon
integration
nostr
integration
remotestorage
Something is not working
Graphic/visual design
Config, builds, CI, deployment, etc.
Documentation
This issue or pull request already exists
Improving existing functionality
New functionality
Dive in, and start contributing
Something to consider
Not a bug
Small contribution
Medium contribution
Large contribution
Currently not actionable
Manual IT ops activities
Looking for an answer
All your base are belong to us
User interface, process design, etc.
This won't be fixed
release
major
release
minor
release
patch
Milestone
No items
No Milestone
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: kosmos/akkounts#250
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Two related Docker Compose dev-setup improvements.
1. Switch dev object storage from MinIO to Garage
MinIO no longer publishes prebuilt community images —
quay.io/minio/minioreturns 401 and Docker Hubminio/miniois gone (404) — so a freshdocker compose upcannot pull the image. Replace it with a single-node Garage instance that auto-creates theremotestoragebucket and adev-key1access key on first start, and point liquor-cabinet at it (regiongarage).2. Automate first-run LDAP and database setup
Previously the documented flow started
web(with Solid Queue in Puma) before the databases existed, and required manually creating the 389ds back-end and seeding LDAP/databases, so the firstdocker compose upfailed withCould not find table 'solid_queue_processes'. Now:ldap-initone-shot service creates the 389ds back-end if it is missing;webentrypoint seeds LDAP and the databases on first start and runsdb:prepareon later boots.Testing
docker compose configis valid.docker compose down -v+docker compose up --buildbootstraps end to end; Solid Queue starts without errors.upis idempotent (back-end creation skipped, no re-seed).Merge order
Please merge the
fix/seeds-active-jobPR first — the bootstrap runsdb:setup, which needs that seed fix.1f55a70096toa1423cb625a1423cb625to6279699c11View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.