Run Rancher Desktop on Fedora Atomic Desktops (Toolbox Container Method)
Source: Dev.to
Prerequisites
sudo dnf install toolbox
Create and configure a toolbox container
toolbox create kubelab
toolbox enter kubelab
Inside the container, install the required tools:
sudo dnf install gnupg2 pinentry-curses pass
Configure GPG to use the curses pinentry:
echo 'pinentry-program /usr/bin/pinentry-curses' > ~/.gnupg/gpg-agent.conf
gpg-connect-agent reloadagent /bye
pkill gpg-agent
Generate a GPG key (use your own email address) and initialise pass:
gpg --generate-key # Use your email, e.g. noor@latif.se; note the key ID output
pass init # Replace with the key ID from the previous step
Exit the toolbox:
exit
Enable non‑root apps to bind to port 80 on the host
sudo sysctl -w net.ipv4.ip_unprivileged_port_start=80
echo 'net.ipv4.ip_unprivileged_port_start=80' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
Install Rancher Desktop inside the toolbox
toolbox enter kubelab
sudo dnf config-manager addrepo --from-repofile=https://download.opensuse.org/repositories/isv:/Rancher:/stable/fedora/isv:Rancher:stable.repo
sudo dnf install rancher-desktop
Launch the GUI (it will appear in your Fedora desktop environment):
rancher-desktop
Quick test with a sample deployment
toolbox enter kubelab
kubectl create deployment my-app --image=nginx --replicas=3
kubectl expose deployment my-app --port=80 --type=NodePort
kubectl get svc my-app
Note the NodePort value (e.g., 31912). Test the service:
curl localhost:31912 # Replace 31912 with your actual NodePort
You can also open it in a browser at http://localhost:31912 to see the Nginx welcome page.
kubectl get pods
kubectl delete deployment my-app
Note: Rancher Desktop forwards NodePorts to
localhost.[2][3]
Access the Rancher Desktop Dashboard
Open the Rancher Desktop application and click the Cluster Dashboard button at the bottom left.
Handy aliases
Add the following lines to ~/.bashrc (or your preferred shell rc file):
alias rd='toolbox enter kubelab'
alias rancher='toolbox run -c kubelab rancher-desktop'
alias dc='toolbox run -c kubelab nerdctl'
alias k='toolbox run -c kubelab kubectl'
Activate the changes:
source ~/.bashrc
Good luck!