Support docker installation via snap, e.g. Ubuntu 22.04
This commit is contained in:
		@@ -11,6 +11,22 @@ detectCompose() {
 | 
			
		||||
	fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# https://unix.stackexchange.com/questions/539147
 | 
			
		||||
systemctl-exists() {
 | 
			
		||||
	[ $(systemctl list-unit-files "${1}*" | wc -l) -gt 3 ]
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
dockerUnitName() {
 | 
			
		||||
	if systemctl-exists docker.service; then
 | 
			
		||||
		echo "docker.service"
 | 
			
		||||
	elif systemctl-exists snap.docker.dockerd.service; then
 | 
			
		||||
		echo "snap.docker.dockerd.service"
 | 
			
		||||
	else
 | 
			
		||||
		log ERROR "Unable to detect docker systemd unit."
 | 
			
		||||
		fail_and_report 1 "Unable to detect docker systemd unit."
 | 
			
		||||
	fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
exitIfNotRoot() {
 | 
			
		||||
  if [ "$EUID" -ne 0 ]; then
 | 
			
		||||
    log "ERROR" "Please run as root"
 | 
			
		||||
 
 | 
			
		||||
@@ -40,6 +40,12 @@ cp -v \
 | 
			
		||||
    lib/systemd/bridgehead-update\@.timer \
 | 
			
		||||
    /etc/systemd/system/
 | 
			
		||||
 | 
			
		||||
log INFO "Setting Docker unit ..."
 | 
			
		||||
 | 
			
		||||
for file in $(find /etc/systemd/system -mindepth 1 -maxdepth 1 -type f -name "bridgehead*"); do
 | 
			
		||||
	sed -i "s/DOCKER_UNIT_NAME/$(dockerUnitName)/g" $file
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
systemctl daemon-reload
 | 
			
		||||
 | 
			
		||||
log INFO "Trying to update your bridgehead ..."
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
[Unit]
 | 
			
		||||
Description=Bridgehead (%i)
 | 
			
		||||
Requires=docker.service
 | 
			
		||||
Requires=DOCKER_UNIT_NAME
 | 
			
		||||
 | 
			
		||||
[Service]
 | 
			
		||||
User=bridgehead
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user