Set up local Garage S3 storage for slugkit.com dev environment #26

Closed
opened 2026-06-27 16:19:02 -05:00 by erik · 2 comments
Owner

Problem

The local slugkit.com dev environment can run the app, but media uploads through slug fail because local S3-compatible storage is not fully configured.

Observed while importing ~/Private/content/slugkit.com/articles/slug-cli-init/ into the dev site: slug media upload ... failed with Media storage operation failed.

Expected

make dev for slugkit.com should include or work with a local Garage S3-compatible storage setup so dev media uploads work reliably.

Reference

Base the approach on the dev environment in:

~/Private/code/forgejo/slugkit/

Scope

  • Inspect the upstream slugkit dev environment Garage setup.
  • Add equivalent local Garage support to slugkit.com where appropriate.
  • Include compose/config/scripts/Makefile targets needed to start Garage and initialize bucket/credentials.
  • Update .env.example and local dev docs with required S3 settings.
  • Ensure secrets stay out of git.
  • Verify slug --config .slug/dev.yaml --site dev media upload ... works against local dev.

Acceptance criteria

  • Local dev environment can start app + CSS + local Garage/S3 storage as needed.
  • A local Garage bucket/credentials setup path is documented and repeatable.
  • .env.example clearly describes the dev S3 values.
  • slug media upload succeeds against the local dev site.
  • Existing app/test/build behavior remains unchanged.
## Problem The local slugkit.com dev environment can run the app, but media uploads through `slug` fail because local S3-compatible storage is not fully configured. Observed while importing `~/Private/content/slugkit.com/articles/slug-cli-init/` into the dev site: `slug media upload ...` failed with `Media storage operation failed`. ## Expected `make dev` for slugkit.com should include or work with a local Garage S3-compatible storage setup so dev media uploads work reliably. ## Reference Base the approach on the dev environment in: `~/Private/code/forgejo/slugkit/` ## Scope - Inspect the upstream slugkit dev environment Garage setup. - Add equivalent local Garage support to slugkit.com where appropriate. - Include compose/config/scripts/Makefile targets needed to start Garage and initialize bucket/credentials. - Update `.env.example` and local dev docs with required S3 settings. - Ensure secrets stay out of git. - Verify `slug --config .slug/dev.yaml --site dev media upload ...` works against local dev. ## Acceptance criteria - Local dev environment can start app + CSS + local Garage/S3 storage as needed. - A local Garage bucket/credentials setup path is documented and repeatable. - `.env.example` clearly describes the dev S3 values. - `slug media upload` succeeds against the local dev site. - Existing app/test/build behavior remains unchanged.
Author
Owner

Synced from todu comment by @todu on 2026-06-27T21:33:48.162Z

Review update

  • PR: erik/slugkit.com#27 is open and reviewed.
  • Result: approved.
  • Follow-up: waiting for explicit human merge approval.
  • Acceptance criteria: 5/5 met in review; local slug media upload verified with .slug/dev.yaml.
_Synced from todu comment by @todu on 2026-06-27T21:33:48.162Z_ ### Review update - PR: `erik/slugkit.com#27` is open and reviewed. - Result: approved. - Follow-up: waiting for explicit human merge approval. - Acceptance criteria: 5/5 met in review; local `slug media upload` verified with `.slug/dev.yaml`.
erik 2026-06-27 16:46:59 -05:00
Author
Owner

Synced from todu comment by @todu on 2026-06-27T21:42:03.321Z

Close gate summary

Readiness: READY

Evidence:

  • PR erik/slugkit.com#27 was reviewed approved, merged into main, and local main was fast-forwarded.
  • Review evidence reports local Garage setup works and app + CSS + Garage/S3 local dev path is functional.
  • Review evidence reports .env.example and local docs document the repeatable Garage bucket/credentials setup and dev S3 values.
  • Review evidence reports slug media upload succeeded using .slug/dev.yaml against the local dev site.
  • Review evidence reports npm build and tests passed, indicating existing app/test/build behavior remains unchanged.

Closing task as all acceptance criteria are met.

_Synced from todu comment by @todu on 2026-06-27T21:42:03.321Z_ ### Close gate summary Readiness: READY Evidence: - PR `erik/slugkit.com#27` was reviewed approved, merged into `main`, and local `main` was fast-forwarded. - Review evidence reports local Garage setup works and app + CSS + Garage/S3 local dev path is functional. - Review evidence reports `.env.example` and local docs document the repeatable Garage bucket/credentials setup and dev S3 values. - Review evidence reports `slug media upload` succeeded using `.slug/dev.yaml` against the local dev site. - Review evidence reports `npm build` and tests passed, indicating existing app/test/build behavior remains unchanged. Closing task as all acceptance criteria are met.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
erik/slugkit.com#26
No description provided.