@@ -19,11 +19,72 @@ $STD apt-get install -y sudo
1919$STD apt-get install -y mc
2020msg_ok " Installed Dependencies"
2121
22+ get_latest_release () {
23+ curl -sL https://api.github.com/repos/$1 /releases/latest | grep ' "tag_name":' | cut -d' "' -f4
24+ }
25+
26+ PORTAINER_LATEST_VERSION=$( get_latest_release " portainer/portainer" )
27+ PORTAINER_AGENT_LATEST_VERSION=$( get_latest_release " portainer/agent" )
28+
29+ if $STD mount | grep ' on / type zfs' > null && echo " ZFS" ; then
30+ msg_info " Enabling ZFS support."
31+ mkdir -p /etc/containers
32+ cat << 'EOF ' >/usr/local/bin/overlayzfsmount
33+ #!/bin/sh
34+ exec /bin/mount -t overlay overlay "$@"
35+ EOF
36+ chmod +x /usr/local/bin/overlayzfsmount
37+ cat << 'EOF ' >/etc/containers/storage.conf
38+ [storage]
39+ driver = "overlay"
40+ runroot = "/run/containers/storage"
41+ graphroot = "/var/lib/containers/storage"
42+
43+ [storage.options]
44+ pull_options = {enable_partial_images = "false", use_hard_links = "false", ostree_repos=""}
45+ mount_program = "/usr/local/bin/overlayzfsmount"
46+
47+ [storage.options.overlay]
48+ mountopt = "nodev"
49+ EOF
50+ fi
51+
2252msg_info " Installing Podman"
2353$STD apt-get -y install podman
2454$STD systemctl enable --now podman.socket
55+ echo -e ' unqualified-search-registries=["docker.io"]' >> /etc/containers/registries.conf
2556msg_ok " Installed Podman"
2657
58+ read -r -p " Would you like to add Portainer? <y/N> " prompt
59+ if [[ ${prompt,,} =~ ^(y| yes)$ ]]; then
60+ msg_info " Installing Portainer $PORTAINER_LATEST_VERSION "
61+ podman volume create portainer_data > /dev/null
62+ $STD podman run -d \
63+ -p 8000:8000 \
64+ -p 9443:9443 \
65+ --name=portainer \
66+ --restart=always \
67+ -v /run/podman/podman.sock:/var/run/docker.sock \
68+ -v portainer_data:/data \
69+ portainer/portainer-ce:latest
70+ msg_ok " Installed Portainer $PORTAINER_LATEST_VERSION "
71+ else
72+ read -r -p " Would you like to add the Portainer Agent? <y/N> " prompt
73+ if [[ ${prompt,,} =~ ^(y| yes)$ ]]; then
74+ msg_info " Installing Portainer agent $PORTAINER_AGENT_LATEST_VERSION "
75+ podman volume create temp > /dev/null
76+ podman volume remove temp > /dev/null
77+ $STD podman run -d \
78+ -p 9001:9001 \
79+ --name portainer_agent \
80+ --restart=always \
81+ -v /run/podman/podman.sock:/var/run/docker.sock \
82+ -v /var/lib/containers/storage/volumes:/var/lib/docker/volumes \
83+ portainer/agent
84+ msg_ok " Installed Portainer Agent $PORTAINER_AGENT_LATEST_VERSION "
85+ fi
86+ fi
87+
2788msg_info " Pulling Home Assistant Image"
2889$STD podman pull docker.io/homeassistant/home-assistant:stable
2990msg_ok " Pulled Home Assistant Image"
0 commit comments