diff --git a/helpers/surfer/Dockerfile b/helpers/surfer/Dockerfile index e02afb2..d270666 100644 --- a/helpers/surfer/Dockerfile +++ b/helpers/surfer/Dockerfile @@ -1,4 +1,4 @@ -FROM node:lts-alpine3.12 +FROM node:lts-alpine RUN apk add --no-cache make python3 zip # use --unsafe to not execute post actions as user nobody -RUN npm -g install cloudron-surfer@5.17.5 --unsafe && npm cache clean --force && surfer --version +RUN npm -g install cloudron-surfer@6.0.0 --unsafe && npm cache clean --force && surfer --version diff --git a/helpers/surfer/Makefile b/helpers/surfer/Makefile index dec181b..22b7364 100644 --- a/helpers/surfer/Makefile +++ b/helpers/surfer/Makefile @@ -2,20 +2,26 @@ DOCKER_REPO ?= fbartels DOCKER_IMAGE := cloudron-surfer VERSION := $(shell grep cloudron-surfer Dockerfile | cut -d' ' -f 5 | cut -d@ -f 2) +ifeq ($(shell command -v podman 2> /dev/null),) + CMD=docker +else + CMD=podman +endif + .PHONY: default default: build .PHONY: build build: - docker build . -t $(DOCKER_IMAGE) + $(CMD) build . -t $(DOCKER_IMAGE) .PHONY: tag tag: build - docker tag $(DOCKER_IMAGE) $(DOCKER_REPO)/$(DOCKER_IMAGE):latest - docker tag $(DOCKER_IMAGE) $(DOCKER_REPO)/$(DOCKER_IMAGE):$(VERSION) + $(CMD) tag $(DOCKER_IMAGE) $(DOCKER_REPO)/$(DOCKER_IMAGE):latest + $(CMD) tag $(DOCKER_IMAGE) $(DOCKER_REPO)/$(DOCKER_IMAGE):$(VERSION) .PHONY: push push: tag - docker push $(DOCKER_REPO)/$(DOCKER_IMAGE):latest - docker push $(DOCKER_REPO)/$(DOCKER_IMAGE):$(VERSION) + $(CMD) push $(DOCKER_REPO)/$(DOCKER_IMAGE):latest + $(CMD) push $(DOCKER_REPO)/$(DOCKER_IMAGE):$(VERSION) diff --git a/helpers/surfer/build.sh b/helpers/surfer/build.sh new file mode 100755 index 0000000..ff106c8 --- /dev/null +++ b/helpers/surfer/build.sh @@ -0,0 +1,24 @@ +#!/bin/bash +set -Eeuo pipefail + +DOCKER_IMAGE=${DOCKER_IMAGE:-git.9wd.eu/felix/cloudron-surfer} +VERSION=$(grep cloudron-surfer Dockerfile | cut -d' ' -f 5 | cut -d@ -f 2) + +# Function to check if a command is available +command_exists() { + command -v "$1" >/dev/null 2>&1 +} + +if command_exists podman; then + CMD="podman" +elif command_exists docker; then + CMD="docker" +else + echo "Error: Neither podman nor docker is installed." + exit 1 +fi + +$CMD build . -t "$DOCKER_IMAGE:latest" +$CMD tag "$DOCKER_IMAGE:latest" "$DOCKER_IMAGE:$VERSION" +$CMD push "$DOCKER_IMAGE:latest" +$CMD push "$DOCKER_IMAGE:$VERSION"