1
1
#! /bin/bash
2
2
set -e
3
3
4
+ if [ -f " $( dirname " $0 " ) /../.env" ]; then
5
+ set -a
6
+ source " $( dirname " $0 " ) /../.env"
7
+ set +a
8
+ else
9
+ echo " ERROR: .env file not found"
10
+ exit 1
11
+ fi
12
+
4
13
if [ -z " $AWS_ACCOUNT_ID " ]; then
5
14
echo " ERROR: AWS_ACCOUNT_ID environment variable is not set"
6
15
echo " Please run: export AWS_ACCOUNT_ID=your_aws_account_id"
@@ -17,21 +26,32 @@ ECR_URL="${AWS_ACCOUNT_ID}.dkr.ecr.us-east-1.amazonaws.com"
17
26
BRAINROT_IMAGE=" $ECR_URL /brainrot:latest"
18
27
RVC_IMAGE=" $ECR_URL /rvc:latest"
19
28
20
- echo " ECR URL: $ECR_URL "
21
- echo " Brainrot Image: $BRAINROT_IMAGE "
22
- echo " RVC Image: $RVC_IMAGE "
29
+ echo " Checking local images against ECR..."
23
30
24
- echo " Logging into ECR..."
25
- aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin " $ECR_URL "
31
+ check_and_pull_image () {
32
+ local image_name=$1
33
+ local local_digest
34
+ local remote_digest
35
+
36
+ echo " Checking $image_name ..."
37
+
38
+ local_digest=$( docker images --no-trunc --quiet " $image_name " 2> /dev/null)
39
+
40
+ if aws ecr describe-images --repository-name=$( echo $image_name | cut -d' /' -f2) --image-ids imageTag=latest --region us-east-1 & > /dev/null; then
41
+ echo " Found image in ECR, checking if update needed..."
42
+ if docker pull " $image_name " & > /dev/null; then
43
+ echo " Successfully pulled updated image from ECR"
44
+ else
45
+ echo " Failed to pull from ECR, using local image"
46
+ fi
47
+ else
48
+ echo " Image not found in ECR or access denied, using local image"
49
+ fi
50
+ }
26
51
27
- echo " Stopping any existing containers..."
28
- docker-compose down || true
29
-
30
- echo " Creating shared directories..."
31
- mkdir -p shared_data
32
-
33
- echo " Setting permissions on shared_data directory..."
34
- chmod -R 777 shared_data
52
+ # Check both images
53
+ check_and_pull_image " $BRAINROT_IMAGE "
54
+ check_and_pull_image " $RVC_IMAGE "
35
55
36
56
echo " Creating docker-compose.yml file..."
37
57
cat > docker-compose.yml << EOL
78
98
echo " WARNING: NVIDIA GPU not detected. RVC service may not work properly without GPU acceleration."
79
99
fi
80
100
81
- echo " Pulling latest images from ECR..."
82
- docker pull " $BRAINROT_IMAGE "
83
- docker pull " $RVC_IMAGE "
84
-
85
101
echo " Starting containers with docker-compose..."
86
102
docker-compose up -d
87
103
0 commit comments