mirror of
https://github.com/router-for-me/CLIProxyAPIPlus.git
synced 2026-03-08 06:43:41 +00:00
55 lines
1.7 KiB
Bash
55 lines
1.7 KiB
Bash
#!/usr/bin/env bash
|
|
#
|
|
# build.sh - Linux/macOS Build Script
|
|
#
|
|
# This script automates the process of building and running the Docker container
|
|
# with version information dynamically injected at build time.
|
|
|
|
# Exit immediately if a command exits with a non-zero status.
|
|
set -euo pipefail
|
|
|
|
# --- Step 1: Choose Environment ---
|
|
echo "Please select your environment:"
|
|
echo "1) Local Development (Build and Run)"
|
|
echo "2) Remote Deployment (Run from Image)"
|
|
read -r -p "Enter choice [1-2]: " choice
|
|
|
|
# --- Step 2: Execute based on choice ---
|
|
case "$choice" in
|
|
1)
|
|
echo "--- Starting Local Development Environment ---"
|
|
|
|
# Get Version Information
|
|
VERSION="$(git describe --tags --always --dirty)"
|
|
COMMIT="$(git rev-parse --short HEAD)"
|
|
BUILD_DATE="$(date -u +%Y-%m-%dT%H:%M:%SZ)"
|
|
|
|
echo "Building with the following info:"
|
|
echo " Version: ${VERSION}"
|
|
echo " Commit: ${COMMIT}"
|
|
echo " Build Date: ${BUILD_DATE}"
|
|
echo "----------------------------------------"
|
|
|
|
# Build the Docker Image
|
|
docker compose build \
|
|
--build-arg VERSION="${VERSION}" \
|
|
--build-arg COMMIT="${COMMIT}" \
|
|
--build-arg BUILD_DATE="${BUILD_DATE}"
|
|
|
|
# Start the Services
|
|
docker compose up -d --remove-orphans
|
|
|
|
echo "Build complete. Services are starting."
|
|
echo "Run 'docker compose logs -f' to see the logs."
|
|
;;
|
|
2)
|
|
echo "--- Starting Remote Deployment Environment ---"
|
|
docker compose -f docker-compose.yml -f docker-compose.remote.yml up -d
|
|
echo "Services are starting from remote image."
|
|
echo "Run 'docker compose logs -f' to see the logs."
|
|
;;
|
|
*)
|
|
echo "Invalid choice. Please enter 1 or 2."
|
|
exit 1
|
|
;;
|
|
esac |