41 lines
905 B
Bash
Executable file
41 lines
905 B
Bash
Executable file
#!/usr/bin/env bash
|
|
# NAME: Install and configure Docker
|
|
|
|
set -euo pipefail
|
|
|
|
# Source common functions
|
|
source "$(dirname "$0")/../common.sh" || {
|
|
echo "[ERROR] Could not source common.sh" >&2
|
|
exit 1
|
|
}
|
|
|
|
install_docker() {
|
|
log_info "Installing Docker packages"
|
|
sudo pacman -S --needed --noconfirm docker docker-compose docker-buildx
|
|
}
|
|
|
|
configure_docker() {
|
|
log_info "Adding current user to docker group"
|
|
sudo usermod -aG docker "$USER"
|
|
|
|
log_info "Enabling Docker services"
|
|
sudo systemctl enable docker.service
|
|
sudo systemctl start docker.service
|
|
sudo systemctl enable containerd.service
|
|
sudo systemctl start containerd.service
|
|
}
|
|
|
|
main() {
|
|
init_script
|
|
|
|
install_docker
|
|
configure_docker
|
|
|
|
log_info "Docker installed successfully"
|
|
log_warn "You need to log out and back in (or reboot) for group changes to take effect"
|
|
log_info "Test with: docker run hello-world"
|
|
|
|
finish_script 0
|
|
}
|
|
|
|
main "$@"
|