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

[Bug]: Server with already installed docker engine cannot be added/validated #1578

Open
linozen opened this issue Dec 29, 2023 · 15 comments
Open
Assignees
Labels
🛠️ Feature Issues requesting a new feature.
Milestone

Comments

@linozen
Copy link

linozen commented Dec 29, 2023

Description

I cannot seem to add a server (based on NixOS) with a running docker engine to Coolify. It's stuck on:

Server OS type is not supported for automated installation. Please install Docker manually before continuing:

However, if I run command -v docker on the NixOS server, everything is working OK. The only difference to a Ubuntu-based server is that the executable is located at: /run/current-system/sw/bin/docker instead of /usr/bin/docker. But adding a symbolic link from /usr/bin/docker to the binary location on Ubuntu does not work either.

Minimal Reproduction (if possible, example repository)

  1. install docker engine on NixOS-based server
  2. Try to add the server in Coolify
  3. Validate that SSH connection succeeds
  4. Run into error mentioned above

Exception or Error

Server OS type is not supported for automated installation. Please install Docker manually before continuing:

Version

v4.0.0-beta.174

@andrasbacsai
Copy link
Member

I never used NixOS based server, so it is time to test it.

@linozen
Copy link
Author

linozen commented Dec 30, 2023

@andrasbacsai Haha, thanks @andrasbacsai! NixOS is a great system for container hosts as its package manager stores data on a read-only partition. All configuration for a host can be done in configuration files. For quick installation of a NixOS server instance on e.g. Hetzner, I recommend nixos-anywhere. They have an example file which works perfectly for a Hetzner host (it does everything including disk partitioning). If you need any further help debugging, let me know.

@andrasbacsai andrasbacsai self-assigned this May 4, 2024
@theashishmaurya
Copy link

@andrasbacsai Recently tried coolify on cloudlinux which is provided by our VPS provider, but having the same issue. Will this issue be any closer to getting solved?

@Xallt
Copy link

Xallt commented Jun 9, 2024

Having the same issue

@Xallt
Copy link

Xallt commented Jun 9, 2024

Managed to pinpoint it to this

$this->supported_os_type = $this->server->validateOS();
if (!$this->supported_os_type) {
$this->error = 'Server OS type is not supported. Please install Docker manually before continuing: <a target="_blank" class="underline" href="https://docs.docker.com/engine/install/#server">documentation</a>.';
return;
}

So it recommends manual installation but does not have a branch of logic for the case where the user did do a manual installation.

I suggest either:

  1. Adding the Docker-Engine checks inside of the if (!$this->supported_os_type) and proceed with version checking if that was successful
  2. Just prevent this from returning an error - make it so that the message is printed, but it doesn't exit with an error

@Xallt
Copy link

Xallt commented Jun 9, 2024

A temporary hack-fix was easy:

sudo su
cp /etc/os-release /etc/os-release.backup
vim /etc/os-release
<Change the ID field to `ubuntu` and exit>

Run the validation, it passes, then just restore the os-release

cp /etc/os-release.backup /etc/os-release
rm /etc/os-release.backup

@ananth-iyer
Copy link

Same issue in Ubuntu, we have docker installed already and need to skip install docker in "validate and install docker" process

@kzakrzewski-photon
Copy link

Same issue on ID=manjaro - method for temporary change ID to ubuntu in /etc/os-release worked. Everything installed as needed.

@nmpereira
Copy link

Same temp fix works with ID=pop (popos). Can this be fixed so that we dont need this workaround?

@AnonyMars
Copy link

Guys, I'm on Ubuntu and I tried all your techniques, changing it to ID=debian or ID=pops. Both weren't working. Does someone has another fix please ?

@nmpereira
Copy link

nmpereira commented Sep 17, 2024

Guys, I'm on Ubuntu and I tried all your techniques, changing it to ID=debian or ID=pops. Both weren't working. Does someone has another fix please ?

Have you tried ID=ubuntu as per the original solution by @Xallt ?

@AnonyMars
Copy link

@nmpereira here is my os-release file on my ubuntu :

PRETTY_NAME="Ubuntu 22.04.4 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.4 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy

So my os ID is already set to ubuntu, any clue please ? :D

@peaklabs-dev peaklabs-dev added the 🛠️ Feature Issues requesting a new feature. label Oct 6, 2024
@peaklabs-dev peaklabs-dev added this to the v4.0.0 Stable Release milestone Oct 6, 2024
@peaklabs-dev
Copy link
Member

Since I am also primarily running NixOS, I will soon add official NixOS support (which will fix this problem).

@AnonyMars
Copy link

Hey @peaklabs-dev, do you hve any news for a multi linux OS supports on this please ?

@molotow11
Copy link

Up
Still the case for me on Ubuntu

`Welcome to Coolify Installer!
This script will install everything for you. Sit back and relax.
Source code: https://github.com/coollabsio/coolify/blob/main/scripts/install.sh


| Operating System | ubuntu 22.04
| Docker | 27.0
| Coolify | 4.0.0-beta.376
| Helper | 1.0.4
| Realtime | 1.0.5

  1. Installing required packages (curl, wget, git, jq, openssl).
    W: https://dl.yarnpkg.com/debian/dists/stable/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
  2. Check OpenSSH server configuration.
  • OpenSSH server is installed.
  • SSH PermitRootLogin is enabled.
  1. Check Docker Installation.
  • Docker is installed.
  1. Check Docker Configuration.
    `

Image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🛠️ Feature Issues requesting a new feature.
Projects
None yet
Development

No branches or pull requests

10 participants