52 lines
1.5 KiB
Bash
Executable File
52 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
# Build script for PISCAL Docker image with automatic versioning
|
|
|
|
set -e
|
|
|
|
# Load password from .piscal-build.env if it exists (gitignored)
|
|
if [ -f .piscal-build.env ]; then
|
|
set -a
|
|
source .piscal-build.env
|
|
set +a
|
|
fi
|
|
|
|
# Generate version tag: YYYYMMDD-gitsha
|
|
DATE_TAG=$(date +%Y%m%d)
|
|
GIT_SHA=$(git rev-parse --short HEAD)
|
|
VERSION="${DATE_TAG}-${GIT_SHA}"
|
|
|
|
echo "Building PISCAL Docker image..."
|
|
echo "Version: ${VERSION}"
|
|
echo ""
|
|
|
|
# Build args: use PISCAL_SSH_PASSWORD if set (from env or .piscal-build.env)
|
|
BUILD_ARGS=(-t "piscal:${VERSION}" -t piscal:latest -t piscal:dev)
|
|
if [ -n "${PISCAL_SSH_PASSWORD:-}" ]; then
|
|
BUILD_ARGS+=(--build-arg "SSH_PASSWORD=${PISCAL_SSH_PASSWORD}")
|
|
fi
|
|
[ -n "${PISCAL_BUILD_NO_CACHE:-}" ] && BUILD_ARGS+=(--no-cache)
|
|
|
|
docker build "${BUILD_ARGS[@]}" .
|
|
|
|
echo ""
|
|
echo "Successfully built:"
|
|
echo " - piscal:${VERSION}"
|
|
echo " - piscal:latest"
|
|
echo " - piscal:dev"
|
|
echo ""
|
|
if [ -n "${PISCAL_SSH_PASSWORD:-}" ]; then
|
|
echo "Credentials (from PISCAL_SSH_PASSWORD / .piscal-build.env):"
|
|
echo " Username: piscaladmin"
|
|
echo " Password: (custom)"
|
|
else
|
|
echo "Default credentials (v1 layout):"
|
|
echo " Username: piscaladmin"
|
|
echo " Password: piscaladmin"
|
|
fi
|
|
echo " LeafWeb: /home/piscaladmin/LeafWeb (scripts + project dirs)"
|
|
echo " Storage: /home/piscaladmin/LeafWeb_storage"
|
|
echo " Executable: /home/piscaladmin/piscal_executable/piscal"
|
|
echo ""
|
|
echo "To run: docker run -d -p 2222:22 --name piscal-server piscal:latest"
|
|
echo "To SSH: ssh -p 2222 piscaladmin@localhost"
|