umami
umami copied to clipboard
Different Docker Versions?
I've been using umami for some time now, and I have used this version here: docker pull ghcr.io/mikecao/umami:mysql-latest
I wanted to update it to the latest 1.36.1 version, but then realized, that this docker image is still at 1.33.1. When I scrolled down, I saw there's also a version at docker.umami.is/umami-software/umami:mysql-latest, so I tried this one and fired up the container again with the same parameters.
However, while the container comes up and shows no error in the logs, when I try to access the dashboard, all I get is an empty page with the umami logo on top and the 1.36.1. version at the bottom.
How do I migrate to docker.umami.is/umami-software/umami:mysql-latest or update the other version to the latest?
The problem is GitHub does not allow us to move packages from one place to another, even if the repo is moved. So the old docker location ghcr.io/mikecao/umami is stuck at the last version that was deployed. We created docker.umami.is, which is simply a redirect to ghcr.io/umami-software/umami so that you will always get the latest version no matter where it is hosted.
Not sure why the latest version is not working for you. There may be a bug somewhere. You can try pulling directly from docker pull ghcr.io/umami-software/umami:mysql-v1.36.1 and see if that helps.
Tried that, and same result. The log file looks all fine, however the page just looks like this, even with a hard refresh.
yarn run v1.22.19
$ npm-run-all check-db start-server
$ node scripts/check-db.js
✓ DATABASE_URL is defined.
✓ Database connection successful.
✓ Database tables found.
✓ Database is up to date.
$ node server.js
Listening on port 3000
After moving back to the previous version, the log file looks very much the same, except for the warning at the end.
yarn run v1.22.19
$ npm-run-all check-db start-server
$ node scripts/check-db.js
✓ DATABASE_URL is defined.
✓ Database connection successful.
✓ Database tables found.
✓ Database is up to date.
$ node server.js
Listening on port 3000
warn - using beta Middleware (not covered by semver) - https://nextjs.org/docs/messages/beta-middleware
It's quite strange. I now also tried cloning the repository and build the docker image myself. But even that didn't help, I still get the same blank page and no login, nor a dashboard.

Is there anything where I can increase the log-level to find the problem?
same
same Middleware warning, dashboard reloading every few seconds.
same here. Because of this issue I cannot even use it.
~I believe the reason for the "boot looping" is due to the fact that the Dockerfile calls for CMD ["yarn", "start-docker"] while that script, in turn, calls node server.js which is a nonexistant file.~
edit: That was an incorrect assumption. However, the deployment seemed to have stabilized for me by adding slightly more resources to my Kubernetes configs. Either that or recreating the deployment. Unfortunately that probably doesn't help anyone :)
Please try the latest release v1.37.0.
I just pulled the latest image from docker pull docker.umami.is/umami-software/umami:mysql-latest. Removed the container, and started it again. The log file looks fine, and even did a migration.
yarn run v1.22.19
$ npm-run-all check-db update-tracker start-server
$ node scripts/check-db.js
✓ DATABASE_URL is defined.
✓ Database connection successful.
✓ Database tables found.
Running update...
Prisma schema loaded from prisma/schema.prisma
Datasource "db": MySQL database "umami" at "vs02.domain.com:3306"
2 migrations found in prisma/migrations
Applying migration `02_add_event_data`
The following migration have been applied:
migrations/
└─ 02_add_event_data/
└─ migration.sql
All migrations have been successfully applied.
✓ Database is up to date.
$ node scripts/update-tracker.js
$ node server.js
Listening on port 3000
But when I access the website, again, just empty space.
So well then, I tried, like before, to fire up the old version 1.33.1 again. This one comes up, and I can see the dashboard. But under Realtime, I also get an empty screen and the following error in the console:
_app-dbfbaad68eee94b0.js:1 GET https://umami.domain.com/api/realtime/init 500
o @ _app-dbfbaad68eee94b0.js:1
u @ _app-dbfbaad68eee94b0.js:1
(anonymous) @ 665-0aa5b75845220227.js:1
s @ main-01df828e572375b9.js:1
(anonymous) @ main-01df828e572375b9.js:1
P.forEach.e.<computed> @ main-01df828e572375b9.js:1
l @ 665-0aa5b75845220227.js:1
a @ 665-0aa5b75845220227.js:1
(anonymous) @ 665-0aa5b75845220227.js:1
(anonymous) @ 665-0aa5b75845220227.js:1
(anonymous) @ 665-0aa5b75845220227.js:1
(anonymous) @ 665-0aa5b75845220227.js:1
s @ main-01df828e572375b9.js:1
(anonymous) @ main-01df828e572375b9.js:1
P.forEach.e.<computed> @ main-01df828e572375b9.js:1
s @ 665-0aa5b75845220227.js:1
a @ 665-0aa5b75845220227.js:1
(anonymous) @ 665-0aa5b75845220227.js:1
(anonymous) @ 665-0aa5b75845220227.js:1
E @ 665-0aa5b75845220227.js:1
N @ 665-0aa5b75845220227.js:1
(anonymous) @ 665-0aa5b75845220227.js:1
setTimeout (async)
(anonymous) @ 665-0aa5b75845220227.js:1
Ui @ framework-5f4595e5518b5600.js:1
t.unstable_runWithPriority @ framework-5f4595e5518b5600.js:1
Ql @ framework-5f4595e5518b5600.js:1
Fi @ framework-5f4595e5518b5600.js:1
(anonymous) @ framework-5f4595e5518b5600.js:1
I @ framework-5f4595e5518b5600.js:1
w.port1.onmessage @ framework-5f4595e5518b5600.js:1
_app-dbfbaad68eee94b0.js:1 GET https://umami.domain.com/api/realtime/init 500
o @ _app-dbfbaad68eee94b0.js:1
u @ _app-dbfbaad68eee94b0.js:1
(anonymous) @ 665-0aa5b75845220227.js:1
s @ main-01df828e572375b9.js:1
(anonymous) @ main-01df828e572375b9.js:1
P.forEach.e.<computed> @ main-01df828e572375b9.js:1
l @ 665-0aa5b75845220227.js:1
a @ 665-0aa5b75845220227.js:1
(anonymous) @ 665-0aa5b75845220227.js:1
(anonymous) @ 665-0aa5b75845220227.js:1
(anonymous) @ 665-0aa5b75845220227.js:1
(anonymous) @ 665-0aa5b75845220227.js:1
s @ main-01df828e572375b9.js:1
(anonymous) @ main-01df828e572375b9.js:1
P.forEach.e.<computed> @ main-01df828e572375b9.js:1
s @ 665-0aa5b75845220227.js:1
a @ 665-0aa5b75845220227.js:1
(anonymous) @ 665-0aa5b75845220227.js:1
(anonymous) @ 665-0aa5b75845220227.js:1
E @ 665-0aa5b75845220227.js:1
N @ 665-0aa5b75845220227.js:1
(anonymous) @ 665-0aa5b75845220227.js:1
setTimeout (async)
(anonymous) @ 665-0aa5b75845220227.js:1
Ui @ framework-5f4595e5518b5600.js:1
t.unstable_runWithPriority @ framework-5f4595e5518b5600.js:1
Ql @ framework-5f4595e5518b5600.js:1
Fi @ framework-5f4595e5518b5600.js:1
(anonymous) @ framework-5f4595e5518b5600.js:1
I @ framework-5f4595e5518b5600.js:1
w.port1.onmessage @ framework-5f4595e5518b5600.js:1
Now my system is down. How can I migrate the db back?
And I just checked the console again after trying V. 1.37.0 again:
On the main page I get this:
main-f1f37299d5d02885.js:1 Error: Abort fetching component for route: "/"
at main-f1f37299d5d02885.js:1:54019
at main-f1f37299d5d02885.js:1:65489
at s (main-f1f37299d5d02885.js:1:104683)
at Generator._invoke (main-f1f37299d5d02885.js:1:104471)
at forEach.e.<computed> [as next] (main-f1f37299d5d02885.js:1:105106)
at r (main-f1f37299d5d02885.js:1:875)
at u (main-f1f37299d5d02885.js:1:1080)
(anonymous) @ main-f1f37299d5d02885.js:1
s @ main-f1f37299d5d02885.js:1
(anonymous) @ main-f1f37299d5d02885.js:1
forEach.e.<computed> @ main-f1f37299d5d02885.js:1
r @ main-f1f37299d5d02885.js:1
u @ main-f1f37299d5d02885.js:1
(anonymous) @ main-f1f37299d5d02885.js:1
(anonymous) @ main-f1f37299d5d02885.js:1
value @ main-f1f37299d5d02885.js:1
(anonymous) @ main-f1f37299d5d02885.js:1
s @ main-f1f37299d5d02885.js:1
(anonymous) @ main-f1f37299d5d02885.js:1
forEach.e.<computed> @ main-f1f37299d5d02885.js:1
r @ main-f1f37299d5d02885.js:1
u @ main-f1f37299d5d02885.js:1
Promise.then (async)
r @ main-f1f37299d5d02885.js:1
u @ main-f1f37299d5d02885.js:1
(anonymous) @ main-f1f37299d5d02885.js:1
(anonymous) @ main-f1f37299d5d02885.js:1
value @ main-f1f37299d5d02885.js:1
(anonymous) @ main-f1f37299d5d02885.js:1
s @ main-f1f37299d5d02885.js:1
(anonymous) @ main-f1f37299d5d02885.js:1
forEach.e.<computed> @ main-f1f37299d5d02885.js:1
r @ main-f1f37299d5d02885.js:1
u @ main-f1f37299d5d02885.js:1
Promise.then (async)
r @ main-f1f37299d5d02885.js:1
u @ main-f1f37299d5d02885.js:1
Promise.then (async)
r @ main-f1f37299d5d02885.js:1
u @ main-f1f37299d5d02885.js:1
(anonymous) @ main-f1f37299d5d02885.js:1
(anonymous) @ main-f1f37299d5d02885.js:1
value @ main-f1f37299d5d02885.js:1
value @ main-f1f37299d5d02885.js:1
value @ main-f1f37299d5d02885.js:1
gu @ framework-5f4595e5518b5600.js:1
Ri @ framework-5f4595e5518b5600.js:1
t.unstable_runWithPriority @ framework-5f4595e5518b5600.js:1
Ql @ framework-5f4595e5518b5600.js:1
Oi @ framework-5f4595e5518b5600.js:1
bi @ framework-5f4595e5518b5600.js:1
hi @ framework-5f4595e5518b5600.js:1
es @ framework-5f4595e5518b5600.js:1
(anonymous) @ framework-5f4595e5518b5600.js:1
ki @ framework-5f4595e5518b5600.js:1
os @ framework-5f4595e5518b5600.js:1
t.hydrate @ framework-5f4595e5518b5600.js:1
v.default.createElement.callbacks @ main-f1f37299d5d02885.js:1
ue @ main-f1f37299d5d02885.js:1
(anonymous) @ main-f1f37299d5d02885.js:1
s @ main-f1f37299d5d02885.js:1
(anonymous) @ main-f1f37299d5d02885.js:1
forEach.e.<computed> @ main-f1f37299d5d02885.js:1
r @ main-f1f37299d5d02885.js:1
u @ main-f1f37299d5d02885.js:1
(anonymous) @ main-f1f37299d5d02885.js:1
(anonymous) @ main-f1f37299d5d02885.js:1
Y @ main-f1f37299d5d02885.js:1
Q @ main-f1f37299d5d02885.js:1
(anonymous) @ main-f1f37299d5d02885.js:1
s @ main-f1f37299d5d02885.js:1
(anonymous) @ main-f1f37299d5d02885.js:1
forEach.e.<computed> @ main-f1f37299d5d02885.js:1
r @ main-f1f37299d5d02885.js:1
u @ main-f1f37299d5d02885.js:1
Promise.then (async)
r @ main-f1f37299d5d02885.js:1
u @ main-f1f37299d5d02885.js:1
Promise.then (async)
r @ main-f1f37299d5d02885.js:1
u @ main-f1f37299d5d02885.js:1
Promise.then (async)
r @ main-f1f37299d5d02885.js:1
u @ main-f1f37299d5d02885.js:1
(anonymous) @ main-f1f37299d5d02885.js:1
(anonymous) @ main-f1f37299d5d02885.js:1
X @ main-f1f37299d5d02885.js:1
t.hydrate @ main-f1f37299d5d02885.js:1
(anonymous) @ main-f1f37299d5d02885.js:1
Promise.then (async)
2870 @ main-f1f37299d5d02885.js:1
r @ webpack-cb7634a8b6194820.js:1
(anonymous) @ main-f1f37299d5d02885.js:1
r.O @ webpack-cb7634a8b6194820.js:1
(anonymous) @ main-f1f37299d5d02885.js:1
e @ webpack-cb7634a8b6194820.js:1
(anonymous) @ main-f1f37299d5d02885.js:1
Show 35 more frames
997-e1d22ecf70b23f7a.js:1 POST https://umami.domain.com/_next/static/chunks/api/collect 404
C @ 997-e1d22ecf70b23f7a.js:1
I @ 997-e1d22ecf70b23f7a.js:1
B @ 997-e1d22ecf70b23f7a.js:1
(anonymous) @ 997-e1d22ecf70b23f7a.js:1
(anonymous) @ 997-e1d22ecf70b23f7a.js:1
(anonymous) @ 997-e1d22ecf70b23f7a.js:1
388-709d88daeba5e92a.js:1 POST https://umami.domain.com/_next/static/chunks/api/collect 404
C @ 388-709d88daeba5e92a.js:1
I @ 388-709d88daeba5e92a.js:1
B @ 388-709d88daeba5e92a.js:1
(anonymous) @ 388-709d88daeba5e92a.js:1
(anonymous) @ 388-709d88daeba5e92a.js:1
(anonymous) @ 388-709d88daeba5e92a.js:1
[[...id]]-d2a2d2161224f80a.js:1 POST https://umami.domain.com/_next/static/chunks/pages/dashboard/api/collect 404
C @ [[...id]]-d2a2d2161224f80a.js:1
I @ [[...id]]-d2a2d2161224f80a.js:1
B @ [[...id]]-d2a2d2161224f80a.js:1
(anonymous) @ [[...id]]-d2a2d2161224f80a.js:1
(anonymous) @ [[...id]]-d2a2d2161224f80a.js:1
(anonymous) @ [[...id]]-d2a2d2161224f80a.js:1
Some other pages like dashboard and realtime show the following:
388-709d88daeba5e92a.js:1 POST https://umami.domain.com/_next/static/chunks/api/collect 404
C @ 388-709d88daeba5e92a.js:1
I @ 388-709d88daeba5e92a.js:1
B @ 388-709d88daeba5e92a.js:1
[[...id]]-d2a2d2161224f80a.js:1 POST https://umami.domain.com/_next/static/chunks/pages/dashboard/api/collect 404
C @ [[...id]]-d2a2d2161224f80a.js:1
I @ [[...id]]-d2a2d2161224f80a.js:1
B @ [[...id]]-d2a2d2161224f80a.js:1
997-e1d22ecf70b23f7a.js:1 POST https://umami.domain.com/_next/static/chunks/api/collect 404
C @ 997-e1d22ecf70b23f7a.js:1
I @ 997-e1d22ecf70b23f7a.js:1
B @ 997-e1d22ecf70b23f7a.js:1
Does that mean anything to you?
So there's no solution to this?
Not sure this was ever resolved, but seems no longer relevant. If you have docker issues in the latest feel free to open a new issue.