Feature/nextcloud garages3 primary storage#40
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 83534dda69
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| <?php | ||
|
|
||
| $bucket = getenv('GARAGES3_BUCKET') ?: 'nextcloud'; | ||
| $key = getenv('GARAGES3_KEY'); |
There was a problem hiding this comment.
Use the generated Garage access key ID
The bootstrap writes the usable S3 access key to GARAGES3_KEY_ID and stores only the human key name (nextcloud-app) in GARAGES3_KEY, while this compose file only exports GARAGES3_KEY_ID to the app/cron containers. With the documented make setup-garages3 flow, this line leaves $key empty and throws at startup; if a user manually exports GARAGES3_KEY, Nextcloud would authenticate with the key name rather than the Garage access key ID. Read GARAGES3_KEY_ID or map it into GARAGES3_KEY here.
Useful? React with 👍 / 👎.
| volumes: | ||
| - ./.docker/app/conf.d/php.ini:/usr/local/etc/php/conf.d/custom-php.ini | ||
| - ./volumes/nextcloud:/var/www/html | ||
| - ../volumes/nextcloud/config/s3.config.php:/var/www/html/config/s3.config.php:ro |
There was a problem hiding this comment.
Stop mounting a missing S3 config file
The documented local flow (cp .env.dist .env && make reset-garages3) never creates ../volumes/nextcloud/config/s3.config.php; a repo-wide search only finds this path in this compose file and README. Docker short bind mounts create a missing source as a directory, so the first app run masks /var/www/html/config/s3.config.php with a read-only directory and prevents the Nextcloud image from using its generated OBJECTSTORE_S3_* config. Drop this bind or mount a real file inside the local stack.
Useful? React with 👍 / 👎.
| NEXTCLOUD_ADMIN_USER=admin | ||
| NEXTCLOUD_ADMIN_PASSWORD=admin | ||
| NEXTCLOUD_TRUSTED_DOMAINS=mydomain.coop | ||
| NEXTCLOUD_TRUSTED_DOMAINS=localhost,127.0.0.1,localhost:8080,127.0.0.1:8080 |
There was a problem hiding this comment.
Separate trusted domains with spaces
The Nextcloud Docker image treats NEXTCLOUD_TRUSTED_DOMAINS as a space-separated list, so this comma-separated default is installed as one literal trusted domain. In the advertised local setup, requests to localhost:8080 or 127.0.0.1:8080 will still hit Nextcloud's untrusted-domain page after installation; use spaces here and in the compose default.
Useful? React with 👍 / 👎.
Add example on how to setup with primary storage garages3