Skip to content

Instantly share code, notes, and snippets.

@aarondewindt
Last active April 24, 2024 14:16
Show Gist options
  • Save aarondewindt/99a7ea09d00813bccab5953f40010ace to your computer and use it in GitHub Desktop.
Save aarondewindt/99a7ea09d00813bccab5953f40010ace to your computer and use it in GitHub Desktop.
Setup docker on the steamdeck
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target docker.socket firewalld.service containerd.service time-set.target
Wants=network-online.target containerd.service
Requires=docker.socket
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd -H fd://
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutStartSec=0
RestartSec=2
Restart=always
# Note that StartLimit* options were moved from "Service" to "Unit" in systemd 229.
# Both the old, and new location are accepted by systemd 229 and up, so using the old location
# to make them work for either version of systemd.
StartLimitBurst=3
# Note that StartLimitInterval was renamed to StartLimitIntervalSec in systemd 230.
# Both the old, and new name are accepted by systemd 230 and up, so using the old name to make
# this option work for either version of systemd.
StartLimitInterval=60s
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Comment TasksMax if your systemd version does not support it.
# Only systemd 226 and above support this option.
TasksMax=infinity
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
OOMScoreAdjust=-500
[Install]
WantedBy=multi-user.target
sudo pacman-key --init
pacman-key --populate archlinux
sudo pacman -S gnome-terminal
wget https://download.docker.com/linux/static/stable/x86_64/docker-20.10.9.tgz
tar xzvf ./docker-20.10.9.tgz
sudo cp docker/* /usr/bin/
sudo wget https://gist.githubusercontent.com/aarondewindt/99a7ea09d00813bccab5953f40010ace/raw/6ea68b56457804096fdc64b147410ac4f832d336/docker.service -P /etc/systemd/system
sudo wget https://raw.githubusercontent.com/moby/moby/master/contrib/init/systemd/docker.socket -P /etc/systemd/system
sudo systemctl enable docker
sudo systemctl start docker
@kpmy
Copy link

kpmy commented Feb 6, 2024

Hi, mate! You need to create group docker before starting services.

sudo groupadd docker

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment