fix apt confirms, heredoc vars, add if statements
This commit is contained in:
parent
5c4743db36
commit
1e6a40adee
1 changed files with 25 additions and 28 deletions
53
GCP-SETUP.md
53
GCP-SETUP.md
|
|
@ -34,57 +34,54 @@ if [[ -z "$subnet_exists" ]]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Create a firewall rule to allow TCP port 8080 for all instances in the VPC
|
# Create a firewall rule to allow TCP port 8080 for all instances in the VPC
|
||||||
gcloud compute firewall-rules create allow-tcp-8080 \
|
firewall_8080_exists=$(gcloud compute firewall-rules list --filter="name=allow-tcp-8080" --format="value(name)")
|
||||||
--network $VPC_NAME \
|
if [[ -z "$firewall_8080_exists" ]]; then
|
||||||
--allow tcp:8080 \
|
gcloud compute firewall-rules create allow-tcp-8080 --network $VPC_NAME --allow tcp:8080 --source-ranges 0.0.0.0/0 --direction INGRESS
|
||||||
--source-ranges 0.0.0.0/0 \
|
fi
|
||||||
--direction INGRESS
|
|
||||||
|
|
||||||
# Create a firewall rule to allow IAP traffic
|
# Create a firewall rule to allow IAP traffic
|
||||||
gcloud compute firewall-rules create allow-iap \
|
firewall_iap_exists=$(gcloud compute firewall-rules list --filter="name=allow-iap" --format="value(name)")
|
||||||
--network $VPC_NAME \
|
if [[ -z "$firewall_iap_exists" ]]; then
|
||||||
--allow tcp:80,tcp:443 \
|
gcloud compute firewall-rules create allow-iap --network $VPC_NAME --allow tcp:80,tcp:443 --source-ranges 35.235.240.0/20 --direction INGRESS
|
||||||
--source-ranges 35.235.240.0/20 \
|
fi
|
||||||
--direction INGRESS
|
|
||||||
|
|
||||||
# Create the Cloud Router and NAT Gateway
|
# Create the Cloud Router and NAT Gateway
|
||||||
gcloud compute routers create $CLOUD_ROUTER_NAME \
|
cloud_router_exists=$(gcloud compute routers list --filter="name=$CLOUD_ROUTER_NAME" --format="value(name)")
|
||||||
--network $VPC_NAME \
|
if [[ -z "$cloud_router_exists" ]]; then
|
||||||
--region $REGION
|
gcloud compute routers create $CLOUD_ROUTER_NAME --network $VPC_NAME --region $REGION
|
||||||
|
fi
|
||||||
|
|
||||||
gcloud compute routers nats create $NAT_GATEWAY_NAME \
|
nat_exists=$(gcloud compute routers list --filter="name=$CLOUD_ROUTER_NAME" --format="value(nats.name)")
|
||||||
--router $CLOUD_ROUTER_NAME \
|
if [[ -z "$nat_exists" ]]; then
|
||||||
--auto-allocate-nat-external-ips \
|
gcloud compute routers nats create $NAT_GATEWAY_NAME --router $CLOUD_ROUTER_NAME --auto-allocate-nat-external-ips --nat-all-subnet-ip-ranges --enable-logging --region $REGION
|
||||||
--nat-all-subnet-ip-ranges \
|
fi
|
||||||
--enable-logging \
|
|
||||||
--region $REGION
|
|
||||||
|
|
||||||
# Define the startup script as a multiline Bash here-doc
|
# Define the startup script as a multiline Bash here-doc
|
||||||
STARTUP_SCRIPT=$(cat <<'EOF'
|
STARTUP_SCRIPT=$(cat <<'EOF'
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# Update and upgrade the system
|
# Update and upgrade the system
|
||||||
apt update
|
apt -y update
|
||||||
apt upgrade
|
apt -y upgrade
|
||||||
|
|
||||||
# Install Python 3 pip, Langflow, and Nginx
|
# Install Python 3 pip, Langflow, and Nginx
|
||||||
apt install python3-pip
|
apt -y install python3-pip
|
||||||
pip install langflow
|
pip install langflow
|
||||||
apt-get install nginx
|
apt-get -y install nginx
|
||||||
|
|
||||||
# Configure Nginx for Langflow
|
# Configure Nginx for Langflow
|
||||||
touch /etc/nginx/sites-available/langflow-app
|
touch /etc/nginx/sites-available/langflow-app
|
||||||
echo "server {
|
echo "server {
|
||||||
listen 0.0.0.0:7860;
|
listen 0.0.0.0:8080;
|
||||||
|
|
||||||
location / {
|
location / {
|
||||||
proxy_pass http://127.0.0.1:7860;
|
proxy_pass http://127.0.0.1:7860;
|
||||||
proxy_set_header Host $host;
|
proxy_set_header Host "\$host";
|
||||||
proxy_set_header X-Real-IP $remote_addr;
|
proxy_set_header X-Real-IP "\$remote_addr";
|
||||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
proxy_set_header X-Forwarded-For "\$proxy_add_x_forwarded_for";
|
||||||
}
|
}
|
||||||
}" >> /etc/nginx/sites-available/langflow-app
|
}" >> /etc/nginx/sites-available/langflow-app
|
||||||
ln -s /etc/nginx/sites-available/my-app /etc/nginx/sites-enabled/
|
ln -s /etc/nginx/sites-available/langflow-app /etc/nginx/sites-enabled/
|
||||||
sudo nginx -t
|
sudo nginx -t
|
||||||
sudo systemctl restart nginx
|
sudo systemctl restart nginx
|
||||||
langflow
|
langflow
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue