[GH-ISSUE #695] Docker image or separate docker repository? #501

Closed
opened 2026-02-25 23:42:41 +03:00 by kerem · 4 comments
Owner

Originally created by @BeyondVertical on GitHub (Aug 15, 2022).
Original GitHub issue: https://github.com/healthchecks/healthchecks/issues/695

Hello there,
I really like Healthchecks.io. It helped me to monitor my cron jobs easily. Really awesome.
Now I tried to get the self hosted version to work - but I did not succeed. First there was a problem, that the requirements.txt is not located per default in the docker directory, then there are the hard coded paths for the healtchecks folder in the Dockerfile. And also I have to clone the complete repository.
Maybe it would be a great idea and to simplify the whole docker experience to extract the docker subfolder and get it into a separate repository or building a docker image all together. This would really help and simplify the docker experience for me. I could get healthchecks to work, but only via the Linux Server image. And I really would like to use the "official" one.
Thanks for your work on Healthchecks and for your answer or consideration. :)

Originally created by @BeyondVertical on GitHub (Aug 15, 2022). Original GitHub issue: https://github.com/healthchecks/healthchecks/issues/695 Hello there, I really like Healthchecks.io. It helped me to monitor my cron jobs easily. Really awesome. Now I tried to get the self hosted version to work - but I did not succeed. First there was a problem, that the requirements.txt is not located per default in the docker directory, then there are the hard coded paths for the healtchecks folder in the Dockerfile. And also I have to clone the complete repository. Maybe it would be a great idea and to simplify the whole docker experience to extract the docker subfolder and get it into a separate repository or building a docker image all together. This would really help and simplify the docker experience for me. I could get healthchecks to work, but only via the Linux Server image. And I really would like to use the "official" one. Thanks for your work on Healthchecks and for your answer or consideration. :)
kerem closed this issue 2026-02-25 23:42:41 +03:00
Author
Owner

@cuu508 commented on GitHub (Aug 15, 2022):

There is a pre-built image on Docker Hub: https://hub.docker.com/r/healthchecks/healthchecks
You can run it like so:

docker run --rm -it -p 8000:8000 -e DB_NAME=/tmp/hc.sqlite healthchecks/healthchecks

If you want to build a custom image, this should work from the project's root directory:

docker build --tag healthchecks:my-tag-name -f docker/Dockerfile .

If you cannot get the image to build please let me know the commands you're using and the specific error message you are getting.

<!-- gh-comment-id:1214960197 --> @cuu508 commented on GitHub (Aug 15, 2022): There is a pre-built image on Docker Hub: https://hub.docker.com/r/healthchecks/healthchecks You can run it like so: docker run --rm -it -p 8000:8000 -e DB_NAME=/tmp/hc.sqlite healthchecks/healthchecks If you want to build a custom image, this should work from the project's root directory: docker build --tag healthchecks:my-tag-name -f docker/Dockerfile . If you cannot get the image to build please let me know the commands you're using and the specific error message you are getting.
Author
Owner

@BeyondVertical commented on GitHub (Aug 15, 2022):

Thank you @cuu508. I was too dumb to search on Docker Hub for that. Sorry.
I have got it running with a MySQL-DB. The page is up and running, my only problem is how to get the super user working. The command shown on the docker page does not work here.
And also a quick question: where exactly in the container are settings stored, because I want to get them persistent via volumes. Also: can I somehow disable the SMTP listener, because I don't need it for my use case.
Thanks for your help and your great app!

Scratch that: I got the super user working! I did not run the command in the folder of the compose-file. Damn. The other questions remain.

<!-- gh-comment-id:1215084775 --> @BeyondVertical commented on GitHub (Aug 15, 2022): Thank you @cuu508. I was too dumb to search on Docker Hub for that. Sorry. I have got it running with a MySQL-DB. The page is up and running, my only problem is how to get the super user working. The command shown on the docker page does not work here. And also a quick question: where exactly in the container are settings stored, because I want to get them persistent via volumes. Also: can I somehow disable the SMTP listener, because I don't need it for my use case. Thanks for your help and your great app! Scratch that: I got the super user working! I did not run the command in the folder of the compose-file. Damn. The other questions remain.
Author
Owner

@cuu508 commented on GitHub (Aug 16, 2022):

Also: can I somehow disable the SMTP listener, because I don't need it for my use case.

No, there is no configuration option for enabling/disabling it. But there should be no noticeable effect of having it running if you don't expose the SMTP port.

If you really don't want to have it running, you can clone the repo, edit docker/uwsgi.ini and build a custom image.

And also a quick question: where exactly in the container are settings stored, because I want to get them persistent via volumes.

Are you using docker-compose or plain docker?

docker-compose will read the settings from /docker/.env (there is /docker/.env.example, rename it to /docker/.env to get started).

With "docker run" you can pass the enironment variables on command line (like -e DB_NAME=... in the example above).

If you go the custom image route, you can also put your custom settings in a /hc/local_settings.py file (there is /hc/local_settings.py.example, rename it to /hc/local_settings.py).

<!-- gh-comment-id:1216592166 --> @cuu508 commented on GitHub (Aug 16, 2022): > Also: can I somehow disable the SMTP listener, because I don't need it for my use case. No, there is no configuration option for enabling/disabling it. But there should be no noticeable effect of having it running if you don't expose the SMTP port. If you *really* don't want to have it running, you can clone the repo, edit `docker/uwsgi.ini` and build a custom image. > And also a quick question: where exactly in the container are settings stored, because I want to get them persistent via volumes. Are you using docker-compose or plain docker? docker-compose will read the settings from `/docker/.env` (there is `/docker/.env.example`, rename it to `/docker/.env` to get started). With "docker run" you can pass the enironment variables on command line (like `-e DB_NAME=...` in the example above). If you go the custom image route, you can also put your custom settings in a `/hc/local_settings.py` file (there is `/hc/local_settings.py.example`, rename it to `/hc/local_settings.py`).
Author
Owner

@BeyondVertical commented on GitHub (Aug 16, 2022):

Thanks for your response. I am using docker-compose and have set the environment variables in the compose-file.
So there are no config files in place that I would need to make persistent if I start the container with all the environment variables in place? Then that's fine and I am happy. Thanks for your help again and for the great tool! :)

<!-- gh-comment-id:1216596827 --> @BeyondVertical commented on GitHub (Aug 16, 2022): Thanks for your response. I am using docker-compose and have set the environment variables in the compose-file. So there are no config files in place that I would need to make persistent if I start the container with all the environment variables in place? Then that's fine and I am happy. Thanks for your help again and for the great tool! :)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/healthchecks#501
No description provided.