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

🎉 feat: Multiple docker endpoints #3

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

mhkarimi1383
Copy link
Contributor

@louislam
Hi
I found this project awesome, but a simple thing that is missing is managing multiple instances/servers

So, I have some ideas for that, by setting correct env vars when needed, etc.

Signed-off-by: Muhammed Hussein Karimi <[email protected]>
@mhkarimi1383 mhkarimi1383 changed the title 🎉 feat: Multiple docker endpoint ui 🎉 feat: Multiple docker endpoints Nov 11, 2023
@louislam
Copy link
Owner

louislam commented Nov 11, 2023

Thank you!

Yes, multiple docker hosts feature is definitely a must have feature for this project.
It will be very similar to Portainer's agent, I think.

Of course, let's see if people love my idea of Dockge first.

I will keep testing this project for a while. And I will post it to https://www.reddit.com/r/selfhosted/ later if it is stable.

@louislam
Copy link
Owner

Just realize it is a pull request.

Actually we have Docker host config page in Uptime Kuma, I think I will copy this page to this project, no need to make a new one.

圖片

圖片

@mhkarimi1383
Copy link
Contributor Author

@louislam

Yeah a copy from uptime kuma is awesome.!

So, I will wait for you to add UI :)

@louislam
Copy link
Owner

And I will post it to https://www.reddit.com/r/selfhosted/ later if it is stable.

Just posted to reddit, hope people will love it. 🐻
https://www.reddit.com/r/selfhosted/comments/17tkq79/dockge_a_fancy_easytouse_selfhosted_docker/

@Zaid-maker
Copy link
Contributor

Just posted to reddit, hope people will love it. 🐻 https://www.reddit.com/r/selfhosted/comments/17tkq79/dockge_a_fancy_easytouse_selfhosted_docker/

Love the People responses!

@mhkarimi1383
Copy link
Contributor Author

@louislam
Hi
You will copy Uptime Kuma UI? Or do I have to do it?

@louislam
Copy link
Owner

louislam commented Nov 17, 2023

@louislam Hi You will copy Uptime Kuma UI? Or do I have to do it?

docker-compose on remote hosts is not that straightforward, I think it has to be studied first.

@mhkarimi1383
Copy link
Contributor Author

@louislam Hi You will copy Uptime Kuma UI? Or do I have to do it?

docker-compose on remote hosts is not that straightforward, I think it has to be studied first.

I have some experience on that

It should be Ok since we are using commands in this project 😁

@mhkarimi1383
Copy link
Contributor Author

@louislam
Hi
Any updates on UI?

@louislam
Copy link
Owner

louislam commented Nov 22, 2023

I have studied a bit. Although we can docker-compose via Docker API(tcp://:2375)/Sock, it cannot create compose files or the stacks dir on the remote server, which is not something that I wanted.

So my direction will be SSH or an Agent.

I think the foundation of this feature should leave to me, I need a very clear plan before we go.

@mhkarimi1383
Copy link
Contributor Author

I have studied a bit. Although we can docker-compose via Docker API(tcp://:2375)/Sock, but it cannot create compose files or the stacks dir on the remote server, which is not something that I wanted.

So my direction will be SSH or an Agent.

I think the foundation of this feature should leave to me, I need a very clear plan before we go.

Oh

Like K8s We could follow control-plane/worker setup
So, dockge server will be able to act just like a CP and others are workers (but CP could be usable as a worker for minimal setups)

OR

We can Switch to SSH

But it will be hard to have file manager

@cfpwastaken
Copy link

it cannot create compose files or the stacks dir on the remote server, which is not something that I wanted.

on my setup, i mounted the stacks directory on the other server with nfs, thus creating a file on server 1 will add them on server 2 too. Could be an idea to do something like this for now?

@gbrandt1
Copy link

gbrandt1 commented Dec 22, 2023

Hello, I want to make a comment:
It would be good to support docker contexts which are built into docker instead of a custom solution like portainer.
This you can keep the dockge / shell equivalency and do not add a custom layer

https://docs.docker.com/engine/context/working-with-contexts/

@mhkarimi1383
Copy link
Contributor Author

Hello, I want to make a comment:
It would be good to support docker contexts which are built into docker instead of a custom solution like portainer.
This you can keep the dockge / shell equivalency and do not add a custom layer

https://docs.docker.com/engine/context/working-with-contexts/

But how do you want to manage your stacks?

@gbrandt1
Copy link

But how do you want to manage your stacks?

so, i realize this is not feasible for every setup to do but at my work i have identical machines and i set up password-less ssh login and replicated the directory files exactly on the remote machine. then they were seemless to use with --context.

but i see docker realized this is not trivial as well so they removed the context option from docker compose for V2.

@mhkarimi1383
Copy link
Contributor Author

@gbrandt1

You are correct if we do not manage our stacks using this project

@louislam

What about saving stacks in DB (not volume) in a compressed format?

When the UI updates a stack we will update the database, also we have a background job that keeps stack files up to date.
And create files on startup, also remove files on shutdown

@louislam
Copy link
Owner

Saving in db is not the direction of this project. People love Dockge because of file based and we don't kidnap users' compose files.

Also docker contexts is not able to save the compose files in the target server, so it is not the direction either.

I am implementing the agent mode in #200 which basically keeping Dockge's current design, but adding ability to manage all Dockge instances in one single Web UI.

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

Successfully merging this pull request may close these issues.

5 participants