Commit Graph

120 Commits

Author SHA1 Message Date
Daniel Trostli
275a59fc25 add mysql port variable to script 2025-11-03 16:26:11 +11:00
renovate[bot]
a640127945 Update ghost/traffic-analytics Docker tag to v1.0.20 (#81)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-24 10:37:27 +00:00
renovate[bot]
1fb6d85916 Update ghost/traffic-analytics Docker tag to v1.0.19 (#79)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-23 18:49:28 +00:00
renovate[bot]
8dbbf2cd9a Update ghost/traffic-analytics Docker tag to v1.0.18 (#77)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-16 06:15:07 +00:00
renovate[bot]
f50e286f3b Update ghost/traffic-analytics Docker tag to v1.0.17 (#76)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-14 17:34:06 +00:00
renovate[bot]
d77664abaa Update ghost/traffic-analytics Docker tag to v1.0.16 (#71)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-25 06:42:30 +00:00
Michael Barrett
8a50372090 Removed redundant ACTIVITYPUB_COLLECTION_PAGE_SIZE env var (#69)
ref https://linear.app/ghost/issue/PROD-2539

The `ACTIVITYPUB_COLLECTION_PAGE_SIZE` env var is no longer needed by the
activitypub service
2025-09-23 13:23:34 +01:00
renovate[bot]
085c6c33ef Update ghost/traffic-analytics Docker tag to v1.0.15 (#68)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-09 18:47:57 +00:00
renovate[bot]
07f08fc0b2 Update ghost/traffic-analytics Docker tag to v1.0.14 (#67)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-02 14:29:23 +00:00
Michael Barrett
f3022138a4 Refactored activitypub env vars (#65)
no ref

Refactored the activitypub env vars:

- Removed `USE_MQ` as this is only required when the value needs to be set to `true`
- Removed `PORT` as the application is now running on port 8080 by default
- Removed `ALLOW_PRIVATE_ADDRES` as this is not needed for `production` environment
- Added `ACTIVITYPUB_COLLECTION_PAGE_SIZE` as this is required for the
`following` dispatcher to work correctly
- Added link to documented env vars
2025-09-02 15:28:41 +01:00
renovate[bot]
7b55ddfd20 Update ghost/traffic-analytics Docker tag to v1.0.13 (#66)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-02 13:53:10 +00:00
renovate[bot]
065ede6670 Update ghost/traffic-analytics Docker tag to v1.0.12 (#62)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-25 19:12:52 +00:00
Chris Raible
fb6040fd0c Fixed "View site" and post previews in Ghost Admin (#60)
* Fixed "View site" and post previews in Ghost Admin

ref https://linear.app/ghost/issue/ONC-1097/preview-post-does-not-work-on-separate-ghostadmin-domains
ref https://linear.app/ghost/issue/ONC-1090/oss-issue-previewing-site-from-subdomain-admin-panel-results-in

In Ghost Admin, the frontend of the site is loaded in an iframe in a few places:
- The "View site" tab on the sidebar
- In post previews

Using the default docker setup in this repository, these iframes fail to load because of the `X-Frame-Options DENY` header that is added by Caddy. This fixes the problem by replacing `X-Frame-Options DENY` with a Content Security Policy that allows the site to be embedded in an iframe on the site's domain itself and on the admin domain, if configured.

* Update SecurityHeaders

Spaces -> Tabs

---------

Co-authored-by: James Loh <git@jloh.co>
2025-08-18 12:13:11 -07:00
renovate[bot]
440f5817c2 Update actions/checkout action to v5 2025-08-12 18:23:22 +10:00
renovate[bot]
51a318c338 Pin actions/checkout action to 08eba0b (#58)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-12 08:22:44 +00:00
James Loh
814d31cc61 Pinned specific version of checkout
no ref

- The only real desire here is to make the renovate PRs a bit easier and nicer to reach
- If we don't specify the exact version it creates PRs that are a bit confusing and aren't clear that its bumping a minor version
2025-08-12 18:20:43 +10:00
renovate[bot]
5ff9fd6ea3 Update ActivityPub to v1.1.0 (#53)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-08 18:09:56 +00:00
renovate[bot]
58bd478d98 Update ghost/traffic-analytics Docker tag to v1.0.9 (#52)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-08 02:06:21 +00:00
renovate[bot]
90b5229538 Update ghost/traffic-analytics Docker tag to v1.0.8 (#51)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-07 18:34:59 +00:00
renovate[bot]
890794923b Update ghost/traffic-analytics Docker tag to v1.0.6 (#50)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-06 22:12:53 +00:00
Joe Grigg
67a41c0d09 Configured specify admin url conditionally in ghost config when in .env 2025-08-05 16:09:08 +01:00
Joe Grigg
5568b07750 Ghost 6.0 update 2025-08-04 16:34:45 +01:00
Hannah Wolfe
94dbcd2ed5 Update .env.example 2025-08-04 19:01:46 +10:00
Hannah Wolfe
e488d40331 Updated comment in .env.example
Co-authored-by: Fabien O'Carroll <fabien@allou.is>
2025-08-04 19:01:46 +10:00
Hannah Wolfe
a27b16225f Updated comments in .env.example
- make it clear changing database credentials won't work
2025-08-04 19:01:46 +10:00
James Loh
e5bfa3c39b ActivityPub needs migrations before it can start
no ref

- If migrations haven't run AP can't start and will just crash so it needs to have finished before it can boot
2025-08-04 18:53:44 +10:00
Hannah Wolfe
84532112ed Updated comments and order in .env.example (#44)
- The main meaningful change here is commenting the GHOST_VERSION variable
- I've also reordered the blocks to prioritise things in the documented setup flow
- Made various changes to the comments for clarity
2025-08-04 08:47:43 +01:00
Hannah Wolfe
ffbd4ad070 Updated commented config in .env.example
- Changed mail to not be commented by default, as it is required
- Changed tinybird TO be commented by default, as it is optional
2025-08-04 09:48:43 +10:00
Hannah Wolfe
487291e346 Updated docker to RC.2 (#42)
ref: https://github.com/TryGhost/ghost-docker/pull/40

- Docker published RC2  on Friday I think
- Note 1: I just cut RC3, but that won't be available yet!
- Note 2: we prob need to rethink how we do versioning so we aren't pinning to exact versions
2025-08-03 22:37:57 +01:00
Chris Raible
a69f57bbeb Commented out the DATABASE_USER in .env.example` (#41) 2025-08-03 22:25:08 +01:00
Joe Grigg
3923cf81cb Updated missed v6 docker image update
This will only have an effect when the version isn't set in the .env file and we have it in the .env.example but did still need updating as the fallback.
2025-07-31 18:01:08 +01:00
Joe Grigg
7c1f9f39f9 Removed developer experiments configuration
Developer experiments used to be required in v5 but as we've switched to v6 they are no longer required to enable activitypub and traffic analytics.
2025-07-31 17:33:36 +01:00
Joe Grigg
9e7a3bf02a Updated to default to the latest (currently available on docker hub) 6.0
release candidate
2025-07-31 16:33:50 +01:00
Hannah Wolfe
9ef8319d83 Updated Caddyfile.example to clarify ActivityPub requirement (#37)
- ActivityPub only requires this redirect if you are using a www domain
2025-07-31 16:02:42 +01:00
Hannah Wolfe
82e6085bd7 Updated Caddyfile.example comments for clarity (#36)
- Added a section title to each block that can be uncommented, so that we can reference this in the documentation
- Removed the first comment line as that seems out of date and confusing
- Minor improvements to some language and spelling for clarity
2025-07-31 14:28:45 +01:00
renovate[bot]
4c3bc4e27a Update ghost/traffic-analytics Docker tag to v1.0.3 (#35)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-31 07:37:49 +00:00
renovate[bot]
b0db7bad3f Update ghost/traffic-analytics Docker tag to v1.0.2 (#33)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-24 01:44:11 +00:00
James Loh
871504e5ad Caddy: Fix non-www -> www placeholder
no ref

- In this redirect instance we're redirecting from `example.com` -> `www.example.com` so can actually use `{$DOMAIN}` here
- We can't in the first line of this block because Caddy doesn't (as far as I can currently tell) let us do a regex on it before putting it in to config
2025-07-15 21:22:33 +10:00
James Loh
c6211c9493 Caddy: Add note about redirect requirement for ActivityPub
no ref

- Our ActivityPub framework lets users set their AP username to index@example.com and have Ghost on www.example.com (ie instead of having their AP user be index@www.example.com)
- To do this users _must_ redirect from the non-www domain -> the www domain as the AP protocol will do lookups on the non-www path to validate and communicate to that username on the web
- Without this AP will fail since domains can't communicate with AP as there wont be redirects for them to follow
2025-07-15 21:22:33 +10:00
James Loh
ceac2ed1c2 Caddy: Add option to have a separate Admin domain
- Our setup docs recommend having Ghost Admin on a separate domain from the content domain
- This lets users optionally set this up if they want whilst continuing to align Admin <-> content domain through templates
2025-07-15 21:22:33 +10:00
James Loh
b2a3d75490 Caddy: Migrate redirects to placeholders
- We want customers to now copy the example Caddyfile so this still gives people the option but also makes it easier for customers who don't want to redirect themselves
2025-07-15 16:21:12 +10:00
James Loh
8d0d565df9 Caddy: Move to more templated approach
no ref

- The goal here is to be able to provide more functionality to self-hosters through snippets and other segmented config
- Some customers run Admin <-> content domains on separate ones which our current config doesn't support
- Our current config also hardcodes a www redirect which complicates setups when you don't have that domain setup or don't even want it
- Moving to a default template customers will have to copy which includes snippets allows us to update these later on without breaking peoples setups
2025-07-15 15:44:28 +10:00
James Loh
190a350bd5 AP: Proxy requests to shared Pro infra
no ref

- We're opening our AP setup to self-hosters as well now which saves them running the AP setup locally
2025-07-15 14:50:50 +10:00
Chris Raible
a752641576 Added traffic analytics configuration for file based salt store (#26)
ref https://linear.app/ghost/issue/PROD-2300/add-file-based-salt-store-for-self-hosters

In the analytics service, we generate user signatures based on a randomly generated salt per site_uuid. The salts are regenerated every day at midnight UTC so we can't pass a static value, and they need to be persisted throughout the day so the same user (based on IP and user agent) will generate the same signature in any given day.

We use an adapter-like pattern for the persistence of the salts — the default is a MemoryStore intended for local development, and we use Firestore in production. The MemoryStore appears to work well enough, but if the analytics service container is rebooted (i.e. during an update), all the salts from the current day will be lost, and it will skew the "unique visitors" and related metrics.

This PR adds the configuration to use a simple file based store for the salts, and a volume mounted into the Traffic Analytics service for persistent storage. This was the salts are persisted across container reboots, which avoids skewing the unique visitors metrics.

There are no additional setup steps required — all sites can use the same configuration, and the volumes are managed by docker compose.
2025-07-14 19:28:31 -07:00
renovate[bot]
aa46049727 Update ghost/traffic-analytics Docker tag to v1.0.1 (#28)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-15 02:26:42 +00:00
James Loh
b76e2a9ef4 Simplify initial setup by not include --profile arg
no ref

- As Chris notes this isn't actually required when doing the initial setup/mentioning the specific container you want to deploy
- This standardises us in just doing the `--rm run` command for all of them to keep everything nice and neat
2025-07-15 11:40:53 +10:00
James Loh
43891c65b5 Simplify TB initial setup
no ref

- By outputting the tokens in the format the `.env` file expects this greatly simplifies the initial setup by just makign it copy -> paste able
- This will mean users don't need to load up the UI and copy/paste tokens at all and can do the whole setup (after they've signed up for TB) from the CLI
2025-07-15 11:40:53 +10:00
Chris Raible
2f310b7ddc Added experimental script to automate fetching Tinybird tokens 2025-07-15 11:40:53 +10:00
Chris Raible
62ff21363f Added check for interactive mode in tinybird-login service 2025-07-15 11:28:49 +10:00
James Loh
e994f882b3 Tweak README with new installation steps 2025-07-14 16:21:08 +10:00