Hi all,
I’m fairly technical, but of all things, this one has me stumped. I’ve got a variety of hardware / OS options to install stuff on, and my preferred option is a TrueNAS Core server where I have a variety of apps running in jails that have been working for a few years now.
I’m trying to run Mealie, and I have a spare unused Windows box. I suppose I could have installed Ubuntu on it, but I decided to try Docker Desktop in Windows. I was able to get things configured and start the Mealie container from the image, and it looks like it’s running fine on the assigned docker IP.
I mapped a port (9925) to the container in the startup options, and when I browse to localhost:9925/login I get an error message that says:
Server error
An error occurred in the application and your page could not be served. If you are the application owner, check your logs for details.
When I look at the docker container logs, I see:
2023-11-08 22:19:48 Successfully started Caddy (pid=20) - Caddy is running in the background
2023-11-08 22:19:48 yarn run v1.22.19
2023-11-08 22:19:48 $ nuxt start -p 3001
2023-11-08 22:19:49 📷 [HPM] Proxy created: api -> http://localhost:9000
2023-11-08 22:19:49 📷 [HPM] Proxy rewrite rule created: “api” ~> “/api”
2023-11-08 22:19:49 📷 [HPM] Proxy created: /api -> http://localhost:9000
2023-11-08 22:19:49 📷 [HPM] Proxy created: /docs -> http://localhost:9000
2023-11-08 22:19:49 📷 [HPM] Proxy created: /openapi.json -> http://localhost:9000
2023-11-08 22:19:49 📷 Listening on: http://172.17.0.2:3001/
I’ve tried browsing to http://localhost:9000, I’ve tried mapping a different port and using that, nothing seems to work.
Any ideas what I’m doing wrong here? I feel like I’m pretty close, and probably doing something dumb.
Oh, one other fun thing. When I go to the container exec terminal and run “date” I see that it’s set to UTC. I wouldn’t think that would create an issue, but I thought maybe there’s a timezone mismatch possibly?
Do you have a reverse proxy setup? Nginx Proxy Manager, Caddy, etc?
Did you set the environment variables for the database and what not?
When you get stuck like this, always look at the docker-compose.yml file if provided. You can find this one here: https://github.com/mealie-recipes/mealie/blob/mealie-next/docker/docker-compose.yml
It lists all the environment variables that need to be set.
Alternatively you should be able to use docker compose in WSL, it’ll still show up in Docker Desktop.
This docker compose is for development, there are examples for both Postgres and SQLite in the documentation as well as all supported environment variables.
Not all docker-compose files are development, although it is in this case. The documentation, if available, will tell you what each env var does.
You know the docker-compose.yml will have everything you need though, you just need to tweak it. Absolutely nothing wrong with seeking out the docker-compose as most env variables are self explanatory.
If it’s a spare box, scrap windows, push yourself outside the comfort zone, install a flavour of linux, install docker, and experiment.
I’m not saying you shouldn’t run docker on windows… but given 99% of what you run in docker is linux, just let go of the gui and connect to everything via terminal :)
If you can’t get your head around compose files, you can make do with just running portainer, that will give you an interface and it’s stacks are basically organised docker compose files.
The only concept you really need to grasp is volumes. Maybe networks too.
But it’s docker, with the right setup you can spin up hundreds of systems in a few lines on whichever platform.
Self hosting mealie is a slippery slope though :). Next thing it will be a reverse proxy so your friends and family can access it, then it will be a security layer to stop those damn bot and dodgy people. Then “oh I can host the db myself and use that with other apps”, then comes home assistant when you realise you could interface a new recipe flashing your lamps at home etc…. The latter isn’t really needed, but not that far detected if you wanted to really do it
I have a compose example of the older mealie. May have a try:
https://github.com/Haxxnet/Compose-Examples/blob/main/examples/mealie/docker-compose.yml