-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdeploy.sh
More file actions
executable file
Β·38 lines (30 loc) Β· 1.07 KB
/
deploy.sh
File metadata and controls
executable file
Β·38 lines (30 loc) Β· 1.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/bin/bash
# FastAPI Deployment Script
# Usage: ./deploy.sh [environment]
set -e # Exit on error
ENVIRONMENT=${1:-production}
echo "π Deploying FastAPI application ($ENVIRONMENT environment)..."
# Check if Docker is running
if ! docker info >/dev/null 2>&1; then
echo "β Docker is not running. Please start Docker and try again."
exit 1
fi
# Build and deploy based on environment
if [ "$ENVIRONMENT" = "production" ]; then
echo "π§ Building production Docker image..."
docker build -t ${PROJECT_NAME}-prod .
echo "π Starting production container..."
docker run -d --name ${PROJECT_NAME}-prod \
-p 8000:8000 \
-e DEBUG=False \
${PROJECT_NAME}-prod
echo "β
Production deployment complete!"
echo "π Application running at http://localhost:8000"
elif [ "$ENVIRONMENT" = "development" ]; then
echo "π§ Starting development environment with docker-compose..."
docker-compose up --build
else
echo "β Unknown environment: $ENVIRONMENT"
echo "Usage: ./deploy.sh [production|development]"
exit 1
fi