Skip to content

Commit ea5f1e8

Browse files
committed
Add deploy script.
1 parent 8c17d0f commit ea5f1e8

File tree

1 file changed

+55
-0
lines changed

1 file changed

+55
-0
lines changed

deploy.sh

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
#!/usr/bin/env bash
2+
3+
set -e
4+
5+
echo "=== Teras Deployment Script ==="
6+
echo ""
7+
8+
# Step 1: Clone repository to tmp directory
9+
TMP_DIR="/tmp/teras-deploy-$(date +%s)"
10+
REPO_URL="https://github.com/BlankOn/Teras.git"
11+
12+
echo "Step 1/3: Cloning repository to ${TMP_DIR}..."
13+
git clone --depth 1 "${REPO_URL}" "${TMP_DIR}"
14+
cd "${TMP_DIR}"
15+
echo "✓ Repository cloned successfully"
16+
echo ""
17+
18+
# Step 2: Build Docker image
19+
IMAGE_NAME="ghcr.io/blankon/teras-website"
20+
TAG=$(date +"%Y%m%d-%H%M")
21+
22+
echo "Step 2/3: Building Docker image: ${IMAGE_NAME}:${TAG}..."
23+
docker build -t "${IMAGE_NAME}:${TAG}" .
24+
docker tag "${IMAGE_NAME}:${TAG}" "${IMAGE_NAME}:latest"
25+
echo "✓ Docker image built successfully"
26+
echo ""
27+
28+
# Step 3: Update docker-compose.yaml with new tag
29+
COMPOSE_FILE=~/docker-compose.yaml
30+
31+
echo "Step 3/4: Updating docker-compose.yaml with new tag..."
32+
if [ -f "${COMPOSE_FILE}" ]; then
33+
sed -i.bak "s|image: ghcr.io/blankon/teras-website:.*|image: ${IMAGE_NAME}:${TAG}|g" "${COMPOSE_FILE}"
34+
echo "✓ Updated docker-compose.yaml with tag: ${TAG}"
35+
else
36+
echo "⚠ Warning: ${COMPOSE_FILE} not found, skipping tag update"
37+
fi
38+
echo ""
39+
40+
# Step 4: Deploy with docker-compose
41+
echo "Step 4/4: Deploying with docker-compose..."
42+
cd ~/
43+
docker compose pull || true
44+
docker compose up -d
45+
echo "✓ Deployment complete"
46+
echo ""
47+
48+
# Clean up
49+
echo "Cleaning up temporary directory..."
50+
rm -rf "${TMP_DIR}"
51+
echo "✓ Cleanup complete"
52+
echo ""
53+
54+
echo "=== Deployment Successful ==="
55+
echo "Container is now running. Check status with: docker compose ps"

0 commit comments

Comments
 (0)