allow configuring Active Storage service and add AWS S3 definition

This commit is contained in:
Hosmel Quintana
2025-12-07 09:28:58 -06:00
parent 49c4f2adc6
commit b3bc0bb2ff
3 changed files with 29 additions and 0 deletions
+17
View File
@@ -95,6 +95,23 @@ After the first deploy is done, any subsequent steps won't need to do that initi
bin/kamal deploy
```
## File storage (Active Storage)
Production uses the local disk service by default. To use any other service defined in `config/storage.yml`, set `ACTIVE_STORAGE_SERVICE`.
To use the included `aws` service, set:
- `ACTIVE_STORAGE_SERVICE=aws`
- `AWS_ACCESS_KEY_ID`
- `AWS_BUCKET` (defaults to `fizzy-#{Rails.env}-activestorage`)
- `AWS_REGION` (defaults to `us-east-1`)
- `AWS_SECRET_ACCESS_KEY`
Optional for S3-compatible endpoints:
- `AWS_ENDPOINT`
- `AWS_FORCE_PATH_STYLE=true`
## Development
### Setting up
+3
View File
@@ -40,6 +40,9 @@ Rails.application.configure do
"Cache-Control" => "public, max-age=#{1.year.to_i}"
}
# Select Active Storage service via env var; default to local disk.
config.active_storage.service = ENV.fetch("ACTIVE_STORAGE_SERVICE", nil).presence&.to_sym || :local
# Enable serving of images, stylesheets, and JavaScripts from an asset server.
# config.asset_host = "http://assets.example.com"
+9
View File
@@ -16,3 +16,12 @@ devminio:
region: us-east-1 # default region required for signer
access_key_id: minioadmin
secret_access_key: minioadmin
aws:
service: S3
access_key_id: <%= ENV["AWS_ACCESS_KEY_ID"] %>
bucket: <%= ENV["AWS_BUCKET"] || "fizzy-#{Rails.env}-activestorage" %>
endpoint: <%= ENV["AWS_ENDPOINT"] %>
force_path_style: <%= ENV["AWS_FORCE_PATH_STYLE"] == "true" %>
region: <%= ENV.fetch("AWS_REGION", "us-east-1") %>
secret_access_key: <%= ENV["AWS_SECRET_ACCESS_KEY"] %>