Files
stats/sh/docker-build
Carl-Gerhard Lindesvärd df05e2dab3 Self-hosting! (#49)
* added self-hosting
2024-08-28 09:28:44 +02:00

55 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
APP=$1
VERSION=$2
if [ -z "$APP" ]; then
echo "Please provide an app name as an argument."
echo "Usage: $0 <app_name> <version>"
exit 1
fi
# Check if version is provided
if [ -z "$VERSION" ]; then
echo "Please provide a version number as an argument."
echo "Usage: $0 $APP <version>"
exit 1
fi
# Ensure Docker Buildx is available and set up a builder
docker buildx create --use --name multi-arch-builder || true
# Function to build a multi-architecture image
build_image() {
local app=$1
local image_name="lindesvard/openpanel-$app"
echo "Building multi-architecture image for $image_name:$VERSION"
docker buildx build \
--platform linux/amd64,linux/arm64 \
-t "$image_name:$VERSION" \
-t "$image_name:latest" \
--build-arg DATABASE_URL="postgresql://p@p:5432/p" \
-f "apps/$app/Dockerfile" \
--push \
.
if [ $? -ne 0 ]; then
echo "Failed to build $image_name:$VERSION"
exit 1
fi
echo "Successfully built and pushed multi-architecture image for $image_name:$VERSION"
}
if [ "$APP" == "all" ]; then
build_image "dashboard"
build_image "worker"
build_image "api"
echo "All multi-architecture images have been built and pushed successfully."
else
build_image $APP
echo "Multi-architecture image for $APP has been built and pushed successfully."
fi