Skip to content

Instantly share code, notes, and snippets.

@richard24se
Last active March 11, 2024 12:00
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save richard24se/336cb2502400a63f4670c751eaca1929 to your computer and use it in GitHub Desktop.
Save richard24se/336cb2502400a63f4670c751eaca1929 to your computer and use it in GitHub Desktop.
# change to root and install packages
su -c "apk add sudo openrc curl python3 python3-dev nload htop"
# if your user doesn't exists then remove sudo passwords
USERNAME=$(whoami)
su -c "grep -qxF '${USERNAME} ALL=(ALL) NOPASSWD: ALL' /etc/sudoers || echo '${USERNAME} ALL=(ALL) NOPASSWD: ALL' | tee -a /etc/sudoers"
# install compilers
sudo apk add build-base
# install pip3
sudo apk add py3-pip
# upgrade pip3
sudo pip3 install pip -U
# install docker
sudo apk add docker
# mount cgroup
echo "cgroup /sys/fs/cgroup cgroup defaults 0 0" | sudo tee -a /etc/fstab
# add perm docker
sudo usermod -aG docker ${USERNAME}
# get start script docker
curl https://gist.githubusercontent.com/richard24se/c41d7edde19ccb87ef8d1083822d4e26/raw/094d8a98aee2b10ea397ec210f06c3ae83be67ef/alpine.docker.service.sh --output ${HOME}/alpine.docker.service.sh
# configure start docker when logging
echo ". $HOME/alpine.docker.service.sh" > $HOME/.profile
# start docker
. $HOME/alpine.docker.service.sh
# verify docker note: first time with sudo
sudo docker info
# install packages reqs for docker-compose
sudo apk add gcc musl-dev libressl-dev libffi-dev make cargo
# install docker-compose
sudo pip3 install docker-compose
# verify docker-compose
docker-compose version
# cgroup systemd
cat << EOT > $HOME/alpine.cgroup.systemd.sh
if [ ! -d /sys/fs/cgroup/systemd ]; then
sudo mkdir /sys/fs/cgroup/systemd
echo "creating cgroup systemd folder..."
fi
if ! grep -qs '/sys/fs/cgroup/systemd' /proc/mounts; then
sudo mount -n -t cgroup -o none,name=systemd cgroup /sys/fs/cgroup/systemd
echo "mounting cgroup systemd folder..."
fi
EOT
# configure start cgroup systemd
echo ". $HOME/alpine.cgroup.systemd.sh" >> $HOME/.profile
# start cgroup systemd
. $HOME/alpine.cgroup.systemd.sh
# -----> customs <----- #
# timeout docker compose
grep -qxF "COMPOSE_HTTP_TIMEOUT=640000" /etc/environment || echo "COMPOSE_HTTP_TIMEOUT=640000" | sudo tee -a /etc/environment
# run portainer docker
if ! sudo docker ps --format '{{.Names}}' | grep -w portainer &> /dev/null; then
sudo docker volume create portainer_data
sudo docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
fi
# custom shell
VAR_PS1='export PS1="\\[\\033[02;90m\\]\\u@\\[\\033[02;90m\\]\\h \\[\\033[02;31m\\]\\W \\[\\033[02;32m\\]# \\[\\033[0m\\]"'
sudo sed -i "/PS1/c${VAR_PS1}" /etc/profile
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment