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

Improve getting started experience for non docker desktop users #6

Closed
mmurad2 opened this issue Oct 25, 2024 · 9 comments
Closed

Improve getting started experience for non docker desktop users #6

mmurad2 opened this issue Oct 25, 2024 · 9 comments
Labels
question Further information is requested

Comments

@mmurad2
Copy link
Member

mmurad2 commented Oct 25, 2024

Description
Podman or other non-docker users face hurdles getting started with the bee-stack. Alias mapping is not enough to make the experience work well.

Desired solution
Intuitive instructions adapted for each docker alternative, we can start with Podman.
Open to solution alternatives.

@Tomas2D Tomas2D changed the title Improve getting started experience for non-docker users Improve getting started experience for non docker desktop users Oct 28, 2024
@jezekra1
Copy link
Collaborator

I'm not sure whether covering installation instructions for podman or others are in scope of this repository. There is nothing special needed for bee-stack (besides rootful machine which is the default).

The 2 click download and installation should work for everyone and we can't fix other problems (such as timezone shifts or freezing containers - these are podman issues)

https://podman.io/

image

If you have old non-working version on podman, you need to reinstall, that would be the same with any software. We can provide a version number.

We can set the current versions as supported in the README:
Latest stable Podman 5.2.4
Latest stable Podman Desktop 1.13.3

@jezekra1
Copy link
Collaborator

If you have any concrete examples of issues or errors with this specific version on podman, please post them here, we tried it on multiple machines, but maybe there are still some edge cases

@mmurad2
Copy link
Member Author

mmurad2 commented Oct 28, 2024

I saw multiple levels of issues around being able to run docker commands while using podman. Steps to do command mapping are not well documented on the internet. Given the change in Docker desktop license terms, we should have detailed instructions with Podman and Rancher as well.

@planetf1
Copy link
Contributor

I'm using podman on mac, and am able to mostly run the bee stack (other than particular issues I'm following up on).

I think it would be useful to include any tips/tricks we know of to help people get started in specific configurations. (One example PR. Much of that should point to official podman docs, but in some cases there are configuration choices. That PR, for example, refers to using docker-compose as the compose provider - without this I couldn't load one of the containers.

I've also recently come across #13

But overall it works ... @mmurad2 are there specific issues you hit relating to Bee?

@planetf1
Copy link
Contributor

On docker compatibility, there are a variety of things that can be set (such as socket context, container runtime, aliasing of docker commands), but a starting point is probably using podman defaults, and making use of the podman command instead of docker

@mmurad2 mmurad2 added the question Further information is requested label Nov 5, 2024
@jezekra1
Copy link
Collaborator

jezekra1 commented Nov 6, 2024

See PR #34, we check for docker / podman and for the compose version.
Supported compose version is 2.29+, if user has older compose, they are given installation/update instructions.

image

@planetf1
Copy link
Contributor

planetf1 commented Nov 7, 2024

Took a look at the PR:

Testing this PR, I noted that the bee-stack.sh setup failed on my environment where podman is actually working well.

Failure is at

❗ERROR: docker compose extension not installed

since I am using the built in podman compose.

➜  bee-stack git:(main) podman compose version
>>>> Executing external compose provider "/opt/homebrew/bin/podman-compose". Please see podman-compose(1) for how to disable this message. <<<<

podman-compose version 1.2.0
podman version 5.2.5

So far this seems to be working well with bee stack.

I do understand the need to limit combinations of installs, and if docker-compose is installed, the stack still works, so the validation may be expected/desired, and having a clearly documented opinionated approach is fine.

However I then installed podman compose with
brew install docker-compose

and the validation still fails with

❗ERROR: docker compose extension not installed

This time the version string returned is:

➜  bee-stack git:(add-setup-wizard) podman compose version
>>>> Executing external compose provider "/opt/homebrew/bin/docker-compose". Please see podman-compose(1) for how to disable this message. <<<<

Docker Compose version 2.30.2

I note that a homebrew install of podman desktop seems fine, but the same comment above applies

@jezekra1
Copy link
Collaborator

jezekra1 commented Nov 7, 2024

Installing docker-compose does not give you the extension I think, you need to call docker-compose instead of docker compose which is deprecated way of using compose. You should download docker only through the desktop installer and it should come with compose out of the box.

The script checks docker first, if installed, it will try to use it. I can modify it so that it will check also docker compose (which you don't have in your case) and fall back to podman if not successful

EDIT: I added a more robust check, it should now find your podman compose and skip your broken docker installation

@jezekra1
Copy link
Collaborator

jezekra1 commented Nov 8, 2024

Setup script was implemented in: #34

There is a new issue for podman configuration: #39

@jezekra1 jezekra1 closed this as completed Nov 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants