How to set up dev/staging/prod environments

Hello everyone,

how would I go about setting up different environments for the same site?

Right now, I develop my site locally, then deploy it to a staging environment and when everything is fine, move it forward to the actual production environment.

So I have three different sites that I want to track separately, as only the information from the production environment is relevant for statistics but the others are needed to test if tracking works as expected.

Right now, I do this with three different websites in Matomo. The problem with this is that it’s really hard to set up goals because I have to make sure that they all get the same id’s across all three sites.

It would be easier if I could set up one site but filter the data by domain.

Is this possible? If so, how?

How would you set up different environments.

I would not want any non-production information on my production systems. You really want to avoid cross-contaminating data, creating system instability issues, security issues, etc…

The best way to do it is to copy from prod to staging your web and analytics, then copy staging down from there. Beyond staging, none of your data should be real anymore, so anonymize your data in local, dev, test, etc… Fake/dummy data is okay to test with in these environments.

Whatever changes you make to Matomo, just copy them upwards, one environmental level at a time.

1 Like

I’m talking about dev/staging/prod versions of my website. I use Matomo for analytics on this website.

Yes, I want to keep data from my dev/staging/prod websites apart.

No, I certainly don’t want to maintain multiple Matomo instances.

If Matomo would support proper IaC, I would be happy to maintain separate instances. But everything in Matomo needs to be done via this despicable graphical interface. I hate maintaining one instance, I will certainly not maintain 3 of them.

You mentioned “just copy them upwards”. How would I do that?