yesterday and today I want to give Ghost 6 a try. Starting on macOS and following the new guide:
First thing here is, that 2 images are only AMD ones: Traffic Analyzer and ActivityPub. This both components are the only reason for Ghost 6 (more significant changes are not in this release).
On a local machine not available from the internet ActivityPub doesn’t work. So I use one of my instances of Hetzner, of course ARM64 based.
And of course, both images don’t work. It doesn’t matter what I tried out. QEMU fails, too.
So my thoughts about this: Is the release of Ghost 6 to early? Why are no ARM-based Docker images available, for Ghost itself it seems not a problem.
Or is the focus only on Ghost Pro and the Self-Hosting people don’t matter?
Is here anyone get the whole stuff running on a Hetzner environment with an ARM64-based cloud instance?
As far as I am aware, the Ghost team knows about this. Though, changing a CI pipeline to build both ARM64 and AMD64 images isn’t something that happens from one day to another.
The easy option: if you’re already on Hetzner, get an Intel/AMD Cloud instance. They are about the same price (CPX11 is available in all data centers right now – I am aware that it only has 2GB of RAM vs. 4GB on the smallest ARM instance, but if you’re just running a single Ghost site, you’ll be perfectly fine).
Other than that, you can always build the images yourself. That’s how I got both running on CAX31 instances from Hetzner.
The Dockerfiles are available for both.
TrafficAnalytics:
ActivityPub:
Small side note: rather than the Notion document (which is not official, and probably more like internal notes), I’d follow the official guide here:
So those dockerfiles will generate the same image they have?
What about the scripts and other setup they configured on the “official docker” instructions?
And here we are missing the local tinybird instance, to be truly selfhosted…
@thorque
I agree that the selfhost instructions are not perfect but I have seen much worse and I think Ghost team is doing an effort to make it easier to selfhost.
I have it working and I am (like @jannis) trying to setup a more complex host that support not just a small blog but to be able to grow in the future.
That of course is not that easy but I cannot expect ghost team to cover all that.
I would love it, but I also like the challenge of learning.
Nice, I am just starting with building images for docker so this is all too new for me…
I will probably start with the AMD one but will play with this to learn for sure!
Can I ask you another related question?
Did you install your own local tinybird or are you using their cloud?
I see no instructions from ghost to do this, but to be fully selfhosted, we should also host that, right?
Getting a bit off-topic (mods, feel free to split this), but: Tinybird local is not an official way to have Tinybird running. I have that set up for now, but the “official” self hosted way is to use Tinybird Selfmanaged Regions.
No. Umami and most other third-party analytics tools are a lot more advanced. Though, that can and probably will change in the future.
For now, the big benefit is having everything inside Ghost, and it mainly serves people that do not have an analytics setup yet.
I think that the self-hosting experience on 6.0 is perhaps not 100% polished yet, although a LOT of progress has been made in the last few weeks.
That’s always a challenge for dev teams - do we get the latest and greatest into the hands of our uses, or do we wait to make it perfect first? The reality is that “perfect” is likely to still have issue when real users get their hands on it, so at some point, you just launch, right?
In the case of self-hosters, we’re fundamentally hard to support. We tend to do different things. We’re not all on the same OS, nor using the same proxy out in front. There are a LOT of configuration differences. I don’t think the team did a perfect job of accounting for some of the common differences (lots of patching for separate admin domains, for example), but they’re not horribly far off, either. An alternative approach might have been to launch 6.0 just for Ghost Pro and to call it an ongoing beta for self-hosters for a month or two while some of the self hosting only problems were sorted out. I suspect that if that had happened, there’d have been been a lot of complaining about NOT getting a release when Ghost Pro got it. There wasn’t a perfect solution here that I can see.
Given that us self-hosters don’t pay anything to use Ghost, I generally feel like we get pretty good support from the dev team. Always perfect? No, but you’re not going to get that from software that you pay for, either!
That ends up linking to the TinyBird Local, so I imagine it is the official way at the end.
Sorry for the off topic, I will open a new topic with my experience hosting local tinybird.
Reading this, it sounds like you’ve had a bit of a rough ride. I wanted to clarify a few things:
Firstly, your OP is linking to the Notion document which we shared prior to the 6.0 launch. The final version of the documentation is here: How To Install Ghost With Docker (preview) - Ghost Developer Docs - it’s not a lot different, but it is getting added to as we learn things where as the Notion guide is not. I’ve retired to the Notion guide now to reduce confusion.
Secondly, the Docker-based self-hosting setup is marked “Preview” - that is it expressly called out as being an early version. There’s a chicken and egg problem with self hosting tools like this - they have to be used widely by a lot of people with different environments in order to find out which are the most valuable different cases to solve - but that means sharing a happy path version early BEFORE you know what all the problems are and that causes friction for people expecting the finished product.
That’s where we are at. We’ve got a system which works for a happy path (just about). We’ve shared it with everyone and we’re learning, reacting and iterating based on feedback from the community as to which less-happy paths are valuable for us to work on.
All of the product code, documentation and tooling are 100% open source as well, so if you spot problems and know how to fix them, you’re free and welcome to get involved.
Could you please (or someone from the team) reply to this topic as well?
It seems to me (and others) that the self-host instructions are not ready for production and that this is not at all what Ghost Pro does.
For me, this generates much more difficult for others to successfully create a good experience when selfhosting, which also impact the market share of Ghost.
I think fixing things like S3 Storage and providing real production self host instructions for Ghost 6 would benefit everyone here.
The more I read the more I agree with @thorque that self hosted is not “ready”.
The ActivityPub service is brand new. We are hosting it, and allowing anyone to use the hosted version for free up to a certain limit.
All the source code is also freely available, with docker files that show how to use it. You are welcome to self-host it yourself but you are EARLY - the self-hosting solution is not fully documented or tested yet.
We could have kept it closed source and tested it privately with only invited users for several months and risked the backlash for it not being open, or we could open it up early and have the whole community help get it polished. We chose the latter.
I just wanted to give heads up over here that we now ship an arm64 image for the Traffic Analytics service. This is for all versions 1.0.14 and onward going forward
My concern is that what you open source is not what you use.
I have followed your activity development closely and the big issues where integration and make it work with traffic and your activitypub github is different in config from the one you install on the official docker (without third party dependencies like google).
And I am grateful for what you provided but a little more transparency with this would be better so we can understand the differences and the reasons for these differences.
At the end you said it yourself, we are early and it is not ready. Not a big deal but it is clear that this is the current status of self host.
I can’t speak for the Ghost team (or Ghost(Pro), if you mean that), but as far as I am concerned, the ActivityPub repository builds the Docker image – which is then used by the ghost-docker repository.
The GCP dependencies are optional and can be used in the image – or not. As far as I know, Ghost(Pro)’s setup uses them. I have used it on Magic Pages as well in the beginning. When things became more mature over time, all I did was change the configuration. No separate image.