Make Dockerfied development environment compatible with macOS #4401
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR makes the Docker-based setup for Openverse usable on macOS. It has some rather major differences from the Linux-compatible implementation in #4343.
This PR
drops user management entirely, running the container as the default user
The original approach where user is being supplied to the container via
--user
is inherently incompatible with macOS because there is nodocker
group when running Docker containers on macOS either via Docker Compose or Orbstack.changes the preserved volume to target
/opt
instead of from$HOME
This is a consequence of removing user management. This works in fundamentally the same way except that the tools need to be configured via env vars to use paths under
/opt
.removes redundant/autoinstalled packages, updates package explanations and fixes a typo in
ov link
commandTesting Instructions
Run the same testing instructions as #4343 using a Mac.
Checklist
Update index.md
).main
) or a parent feature branch.just catalog/generate-docs
for catalogPRs) or the media properties generator (
just catalog/generate-docs media-props
for the catalog or
just api/generate-docs
for the API) where applicable.Developer Certificate of Origin
Developer Certificate of Origin