Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automatically build Docker images for docker-compose-web using GitHub Actions #84

Open
007-mark opened this issue Jan 14, 2025 · 4 comments
Assignees

Comments

@007-mark
Copy link

It would be nice if we could automatically pull and update to the latest docker image from e.g. docker hub instead of having to build and maintain it manually from github. The requirement to build the binaries for docker is a big hurdle to overcome for many people. #76

https://medium.com/@kicsipixel/using-github-actions-to-automatically-build-docker-images-65a038b8ce56

@YamiOdymel YamiOdymel self-assigned this Jan 14, 2025
@YamiOdymel
Copy link
Member

YamiOdymel commented Jan 14, 2025

I've updated the Dockerfile, and built/pushed a new Docker Image to yamiodymel/chaturbate-dvr, it will be the main Docker Repo for chaturbate-dvr

$ docker run -v VOLUME_NAME:/usr/src/app yamiodymel/chaturbate-dvr:v1.0.6 -u CHANNEL_NAME

It's been a while since I used Docker, just tell me if anything went wrong.


EDIT: oh no, I didnt see you were asking for docker-compose-web, I have no idea how it works since it was contributed by someone else 🥺

@007-mark
Copy link
Author

Thanks for your swift response!

The image works fine.

A regularly updated image for the web version would be nice to have.

This image can actually be used to install the web version. But with some shortcomings: no security, no volume mappings and no settings are stored when redeploying. Maybe all that is needed is the right yaml file attached when pushing the docker image?

@YamiOdymel
Copy link
Member

YamiOdymel commented Jan 14, 2025

I don't fully understand the purpose of ".yml" files 🤔

  • The settings file will only be created after you make changes in the Web UI.
  • You can use volume mappings with the docker run command:
$ docker run -v VOLUME_NAME:/usr/src/app yamiodymel/chaturbate-dvr
  • Similarly, you can enhance web UI security with:
$ docker run yamiodymel/chaturbate-dvr -gui-username ADMIN_USERNAME -gui-password ADMIN_PASSWORD

Once you mapped it with a volume, it should retain the same settings the next time you start the same container.

@007-mark
Copy link
Author

yes. thats right. and that is where yaml files come in really handy. yaml files replace docker commands to:

  • set environment variables
  • specify volumes
  • set users (privileges)
  • do health checks
  • deploy multiple images within the same network environment
  • define shared settings
  • use passwords
  • etc.
    when you open such a yaml file, that is exactly what you see: a bunch of settings and commands
    that can fully automate a docker install and automate upgrades. Often used by NAS software (qnap, synology, true nas scale, etc.)

by pressing 1 button, with 1 yaml file you could for example build/deploy/upgrade 1 environment containing:

  • python
  • php
  • apache
  • postgres
  • pgadmin
    connect all these images and apply all settings, shares, passwords, health checks, ... automatically.
    so you press a button and everything simply works, if set up properly. No shell needed. But this will only work if the docker image actually uses the settings defined in the yaml file. end-users can't just add settings and hope they will be applied.

With chaturbate-dvr-web, this yaml file is small since there is no interaction between images and only few settings are required. Many NAS users would definitely prefer to push a button (and edit some settings in a web interface if needed) over running shell commands and editing config files hidden in some folder somewhere.

paperless-ngx running on true nas scale with docker compose and just 1 custom yaml file:

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants