@spree/docs 0.1.125 → 0.1.127
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/developer/dashboard/plugins/publishing.md +1 -1
- package/dist/developer/deployment/cdn.md +10 -0
- package/dist/developer/deployment/docker.md +5 -0
- package/dist/developer/deployment/emails.md +1 -1
- package/dist/developer/deployment/environment_variables.md +15 -1
- package/dist/developer/deployment/render.md +2 -0
- package/package.json +1 -1
|
@@ -17,7 +17,7 @@ Your plugin imports React, the dashboard, Tailwind, i18next, etc., but **you don
|
|
|
17
17
|
"react-dom": "^19",
|
|
18
18
|
"@spree/dashboard-core": "^0.10.0",
|
|
19
19
|
"@spree/dashboard-ui": "^0.10.0",
|
|
20
|
-
"@spree/admin-sdk": "^0.
|
|
20
|
+
"@spree/admin-sdk": "^0.6.0",
|
|
21
21
|
"i18next": "^26",
|
|
22
22
|
"react-i18next": "^17",
|
|
23
23
|
"@tanstack/react-query": "^5",
|
|
@@ -37,3 +37,13 @@ Now scroll down and set the settings as below:
|
|
|
37
37
|

|
|
38
38
|
|
|
39
39
|
Finally, click on "Deploy" and you are done!
|
|
40
|
+
|
|
41
|
+
## Dedicated CDN Host
|
|
42
|
+
|
|
43
|
+
The setup above caches on your primary domain and needs no extra configuration. If you instead serve assets and images from a separate CDN hostname (e.g. a CloudFront or Fastly distribution at `cdn.example.com` with your app as the origin), set the `CDN_HOST` environment variable:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
CDN_HOST=cdn.example.com
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Static asset URLs and image/attachment URLs (including those in API responses) will then use this host instead of [`RAILS_HOST`](environment_variables.md#urls-and-hosts). Host only, no protocol — URLs keep the scheme of your primary host.
|
|
@@ -62,6 +62,9 @@ services:
|
|
|
62
62
|
SECRET_KEY_BASE: change-me-to-a-real-secret
|
|
63
63
|
RAILS_FORCE_SSL: "false"
|
|
64
64
|
RAILS_ASSUME_SSL: "false"
|
|
65
|
+
# Public host used in generated URLs (images/attachments in API
|
|
66
|
+
# responses, email links) — set to your domain or IP in production.
|
|
67
|
+
RAILS_HOST: localhost:3000
|
|
65
68
|
ports:
|
|
66
69
|
- "3000:3000"
|
|
67
70
|
healthcheck:
|
|
@@ -80,6 +83,7 @@ services:
|
|
|
80
83
|
DATABASE_URL: postgres://postgres@postgres:5432/spree_production
|
|
81
84
|
REDIS_URL: redis://redis:6379/0
|
|
82
85
|
SECRET_KEY_BASE: change-me-to-a-real-secret
|
|
86
|
+
RAILS_HOST: localhost:3000
|
|
83
87
|
command: bundle exec sidekiq
|
|
84
88
|
|
|
85
89
|
volumes:
|
|
@@ -104,6 +108,7 @@ The database is automatically created and migrated on first boot. The app is ava
|
|
|
104
108
|
| `DATABASE_URL` | PostgreSQL connection URL | `postgres://user:pass@host:5432/spree` |
|
|
105
109
|
| `REDIS_URL` | Redis URL for jobs, caching, and Action Cable | `redis://redis:6379/0` |
|
|
106
110
|
| `SECRET_KEY_BASE` | Secret key for session encryption | Generate with `bin/rails secret` |
|
|
111
|
+
| `RAILS_HOST` | Public host used in generated URLs — image/attachment URLs in API responses, email links. Without it they fall back to the store's URL setting (`localhost` on a fresh install) | `store.example.com` |
|
|
107
112
|
|
|
108
113
|
See [Environment Variables](environment_variables.md) for the full list.
|
|
109
114
|
|
|
@@ -80,7 +80,7 @@ Set the following environment variables on the **Spree backend** to enable syste
|
|
|
80
80
|
| `SMTP_USERNAME` | — | SMTP auth username |
|
|
81
81
|
| `SMTP_PASSWORD` | — | SMTP auth password |
|
|
82
82
|
| `SMTP_FROM_ADDRESS` | — | Default "from" email address (e.g., `admin@mystore.com`) |
|
|
83
|
-
| `RAILS_HOST` | `example.com` |
|
|
83
|
+
| `RAILS_HOST` | `example.com` | Public host used in email links and other [generated URLs](environment_variables.md#urls-and-hosts) — image/attachment URLs use `CDN_HOST` instead when set |
|
|
84
84
|
|
|
85
85
|
When `SMTP_HOST` is not set, emails are printed to the Rails log instead of being sent.
|
|
86
86
|
|
|
@@ -16,6 +16,19 @@ These variables are required to run Spree in production.
|
|
|
16
16
|
| `REDIS_CACHE_URL` | Redis URL for caching (optional — falls back to `REDIS_URL`) | `redis://localhost:6380/0` |
|
|
17
17
|
| `SECRET_KEY_BASE` | Secret key for session encryption. Generate with `bin/rails secret` | `2fad5c0b79d25e4765d3018d8c740f8c3a665f0e5c...` |
|
|
18
18
|
|
|
19
|
+
## URLs and Hosts
|
|
20
|
+
|
|
21
|
+
`RAILS_HOST` is the canonical public host of your deployment. URLs Spree generates outside a request context use it — links in emails, webhook payloads, and image/attachment URLs in API responses (for the latter, `CDN_HOST` takes precedence when set).
|
|
22
|
+
|
|
23
|
+
> **WARNING:** When neither `RAILS_HOST` nor `CDN_HOST` is configured, image and attachment URLs fall back to the store's URL setting, which is `localhost` on a fresh install — API responses will contain `https://localhost/...` URLs.
|
|
24
|
+
|
|
25
|
+
| Variable | Default | Description |
|
|
26
|
+
| --- | --- | --- |
|
|
27
|
+
| `RAILS_HOST` | — | Public host, optionally with a port — e.g. `store.example.com` or `203.0.113.7:8080`. Host only, no protocol. On [Render](render.md), falls back to the platform-provided `RENDER_EXTERNAL_HOSTNAME`. |
|
|
28
|
+
| `CDN_HOST` | — | Optional host for serving static assets and images, e.g. a CDN distribution in front of your app. Host only, no protocol. Falls back to `RAILS_HOST`. |
|
|
29
|
+
|
|
30
|
+
Generated URLs use `https` unless both `RAILS_FORCE_SSL` and `RAILS_ASSUME_SSL` are set to `false` (see [SSL](#ssl)).
|
|
31
|
+
|
|
19
32
|
## Email (SMTP)
|
|
20
33
|
|
|
21
34
|
> **TIP:** This configuration is used for system emails (e.g. staff invitations, report ready, export complete). Customer facing emails are handled by the [storefront via webhooks](../storefront/nextjs/customization.md#transactional-emails).
|
|
@@ -29,7 +42,8 @@ Spree works with any SMTP provider (Resend, Postmark, Mailgun, SendGrid, Amazon
|
|
|
29
42
|
| `SMTP_USERNAME` | — | SMTP auth username |
|
|
30
43
|
| `SMTP_PASSWORD` | — | SMTP auth password |
|
|
31
44
|
| `SMTP_FROM_ADDRESS` | — | Default "from" email address |
|
|
32
|
-
|
|
45
|
+
|
|
46
|
+
Links in emails use the host configured via [`RAILS_HOST`](#urls-and-hosts).
|
|
33
47
|
|
|
34
48
|
## Web Server
|
|
35
49
|
|
|
@@ -57,6 +57,8 @@ Default credentials are created during `db:seed`. Change them immediately after
|
|
|
57
57
|
|
|
58
58
|
Render sets `DATABASE_URL`, `REDIS_URL`, and `SECRET_KEY_BASE` automatically from the blueprint. For additional configuration (SMTP, file storage, Sentry, etc.), see [Environment Variables](environment_variables.md).
|
|
59
59
|
|
|
60
|
+
Generated URLs (images and attachments in API responses, email links) automatically use Render's `RENDER_EXTERNAL_HOSTNAME` (`<your-app-name>.onrender.com`). When you attach a custom domain, set [`RAILS_HOST`](environment_variables.md#urls-and-hosts) to it — it takes precedence.
|
|
61
|
+
|
|
60
62
|
## Production Sizing
|
|
61
63
|
|
|
62
64
|
The free/starter plans work for trying Spree. For production workloads, we recommend:
|