Docker with Nginx, No analyitic data, Subscription hangs

I am looking to solve the acute issue of my analytics page showing 0 visits, but would like to use the opportunity to understand how this constellation of software works in the process. I am also open to suggestions of better ways to set up my hosting.

I am using the nginx-proxy and acme-companion containers to provide lets encrypt certs for a range of projects hosted on my VM, now ghost is another. I don’t generate the NGINX confs myself, the VIRTUAL_HOST environment variable seems to trigger that automatically while serving multiple domains. Hoping to keep it that way :grinning_face:.

I had the blog up and running, with a few issues, that I am trying to work through (admin emails aren’t sending, the subscription submission hangs and also the analytics issue). As far as I can tell, initially I didn’t have Caddy running, it isn’t in the compose.yml (is it there normally?) But maybe that is the source of my analytics issue. Would I be right in thinking that Caddy is configured to duplicate requests to Ghost and traffic-analytics and without it it’s getting no requests?

So I guess I need to locate a copy of the Caddy part of compose.yml, reinstate it and put the VIRTUAL_HOST entry in the caddy section instead of the ghost section. Does that sound right? Thanks in advance.

You have NGINX Proxy installed. Installing Caddy will just add another Proxy Manager on top of the one you have already. Reading everything else, are you using Cloud Panel?
If you are, this explains why admin emails and everything else are not being sent. Cloud Panel does not have a mail server by default and for other items to work such as analytics, activitypub, etc. you will need to make specific rules in nginx to allow them.
Easiest way to avoid these issues are to just ditch a control panel like CloudPanel and install the ecosystem (as mentioned in the ghost document for installation with docker) entirely. This includes Tinybird, Caddy, MySQL, etc.

Thanks KBExit.

I’m not using CloudPanel. I figured the issue with just using Caddy is that I won’t be able to get it to listen to port 80 because nginx already is for all the other domains. Maybe it’s too much hassle having them on the same VM…

Shouldn’t be, you should be able to change the ports for your services.
You can change your external port to 81 for example and still have your internal ports at 80 with docker compose.