#!/bin/bash # Build script for next-orly v0.48.10 Docker image set -e # Check for Docker DOCKER_CMD="" if command -v docker >/dev/null 2>&1; then DOCKER_CMD="docker" elif command -v podman >/dev/null 2>&1; then DOCKER_CMD="podman" elif command -v docker.io >/dev/null 2>&1; then DOCKER_CMD="docker.io" else echo "Error: Docker is not installed or not in PATH." echo "" echo "To install Docker on Ubuntu/Debian:" echo " sudo apt install docker.io" echo " sudo systemctl enable --now docker" echo " sudo usermod -aG docker $USER" echo " # Then log out and back in" echo "" echo "Or install Podman (Docker alternative):" echo " sudo apt install podman" echo "" exit 1 fi # Check if we're on the correct tag CURRENT_TAG=$(git describe --tags --exact-match HEAD 2>/dev/null || echo "") if [ "$CURRENT_TAG" != "v0.48.10" ]; then echo "Checking out v0.48.10..." git checkout v0.48.10 fi # Check if app/web/dist exists (web UI already built) if [ -d "app/web/dist" ]; then echo "Web UI already built, using existing Dockerfile..." DOCKERFILE="Dockerfile" else echo "Web UI not found, using Dockerfile.with-web (will build web UI in Docker)..." DOCKERFILE="Dockerfile.with-web" fi # Build the Docker image with both version and latest tags echo "Building Docker image silberengel/next-orly:v0.48.10 using $DOCKER_CMD..." $DOCKER_CMD build -t silberengel/next-orly:v0.48.10 -t silberengel/next-orly:latest -f "$DOCKERFILE" . echo "" echo "Build complete! Image tags:" echo " - silberengel/next-orly:v0.48.10" echo " - silberengel/next-orly:latest" echo "" echo "To push to Docker Hub:" echo " $DOCKER_CMD push silberengel/next-orly:v0.48.10" echo " $DOCKER_CMD push silberengel/next-orly:latest" echo "" echo "To run with Docker Compose:" echo " docker compose -f docker-compose-orly.yml up -d" echo " docker compose -f docker-compose-orly.yml logs -f" echo " docker compose -f docker-compose-orly.yml down"