There are a few Docker projects I haven’t been able to properly implement in my homelab, only because their images need to be user-compiled and Dockge doesn’t seem to have an option to include the entire repository required for the project compilation in its interface or in the stacks directory. I know I could just host them in a separate directory but I would like my services to be manageable from a single place and following this approach isolates the service from being controlled from Dockge.

Is there some workaround or a solution for this I am unaware of? I initially thought I could deploy Coolify within Dockge and store the applications under it but apparently Coolify is meant to work on its own and I fear running both Coolify and Dockge will break stuff.

  • justme@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    1
    ·
    55 minutes ago

    Afaik, Dockge is just a front end for docker compose. So simply tagging your build (preferably with someone systematic like “local/name of software”) and using that as image name should work. Or just using directly the build command of compose.

  • Seefoo@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    6 hours ago

    Komodo handles this better. I dont use it, but i did spend a week trying it out. You can add repositories and run builds on them then use those in a stack

  • darkan15@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    2 days ago

    As far as I know, Dockge, Portainer, Coolify, etc. can have different stacks folders, and they will not show, warn you or not let you manage stacks outside their designated paths.

    For your main question, it is possible to build your image on the same system, you would need at least terminal access to do so, and then use the local image with docker compose or Dockge or other, you just would need to reference its image name instead of a URL (to differentiate images I build I prefix their name with local as ‘local/service-name’), and it would not pull from anywhere but use the one you already built, you could do it on any folder on the system or inside the stacks folder you have with Dockge

    If you do it on Dockge’s stack folder, create a folder for your service, with a docker-compose.yml file inside (with just this it will appear in Dockge), then pull the repository on this folder, and make sure you have the proper Dockerfile to build the image, you can then either build the image first or reference the Dockerfile on your docker-compose.yml. This way when you do docker compose up or in Dockge you press the Start button, it will build the image with the Dockerfile and use it, if it doesn’t find the image.

    The other option I know is to have a local image registry (I have done this with Forgejo), so pull the repository on any folder on your system, build it and push it to your local registry, and then just use the local registry URL on your docker-compose-yml