11#! /bin/bash
2- # Civitas Deployment Script for Carl AI Server (20.98.70.48)
2+ # Civitas Deployment Script for Bay Tides Server
33# This script deploys the FastAPI backend and populates the database
44set -e
55
6- CARL_HOST= " 20.98.70.48 "
7- CARL_USER= " azureuser"
6+ DEPLOY_HOST= " ${DEPLOY_HOST :? Set DEPLOY_HOST to your server IP / hostname} "
7+ DEPLOY_USER= " ${DEPLOY_USER :- azureuser} "
88DEPLOY_DIR=" /opt/civitas"
99CONGRESS_API_KEY=" ${CONGRESS_API_KEY:- } "
1010
@@ -14,35 +14,35 @@ if [[ -z "${CONGRESS_API_KEY}" ]]; then
1414fi
1515
1616echo " =========================================="
17- echo " Civitas Deployment to Carl AI Server"
17+ echo " Civitas Deployment to Bay Tides Server"
1818echo " =========================================="
1919
2020# Check SSH access
21- echo " [1/8] Checking SSH access to Carl ..."
22- if ! ssh -o BatchMode=yes -o ConnectTimeout=5 ${CARL_USER } @${CARL_HOST } " echo 'SSH OK'" 2> /dev/null; then
23- echo " ERROR: Cannot SSH to ${CARL_USER } @${CARL_HOST } "
21+ echo " [1/8] Checking SSH access to server ..."
22+ if ! ssh -o BatchMode=yes -o ConnectTimeout=5 ${DEPLOY_USER } @${DEPLOY_HOST } " echo 'SSH OK'" 2> /dev/null; then
23+ echo " ERROR: Cannot SSH to ${DEPLOY_USER } @${DEPLOY_HOST } "
2424 echo " Make sure you have SSH key access configured"
2525 exit 1
2626fi
2727
28- # Create deployment directory on Carl
29- echo " [2/8] Creating deployment directory on Carl ..."
30- ssh ${CARL_USER } @${CARL_HOST } << 'REMOTE_SETUP '
28+ # Create deployment directory on server
29+ echo " [2/8] Creating deployment directory on server ..."
30+ ssh ${DEPLOY_USER } @${DEPLOY_HOST } << 'REMOTE_SETUP '
3131sudo mkdir -p /opt/civitas
3232sudo chown $USER:$USER /opt/civitas
3333mkdir -p /opt/civitas/{data,logs}
3434REMOTE_SETUP
3535
36- # Sync codebase to Carl
37- echo " [3/8] Syncing codebase to Carl ..."
36+ # Sync codebase to server
37+ echo " [3/8] Syncing codebase to server ..."
3838rsync -avz --exclude ' .git' --exclude ' .venv' --exclude ' venv' --exclude ' __pycache__' \
3939 --exclude ' node_modules' --exclude ' .next' --exclude ' out' --exclude ' *.db' \
4040 --exclude ' web' --exclude ' .pytest_cache' --exclude ' .ruff_cache' \
41- /Users/steven/Github/civitas/ ${CARL_USER } @${CARL_HOST } :${DEPLOY_DIR} /
41+ /Users/steven/Github/civitas/ ${DEPLOY_USER } @${DEPLOY_HOST } :${DEPLOY_DIR} /
4242
43- # Install dependencies and set up on Carl
44- echo " [4/8] Setting up Python environment on Carl ..."
45- ssh ${CARL_USER } @${CARL_HOST } << REMOTE_INSTALL
43+ # Install dependencies and set up on server
44+ echo " [4/8] Setting up Python environment on server ..."
45+ ssh ${DEPLOY_USER } @${DEPLOY_HOST } << REMOTE_INSTALL
4646set -e
4747cd ${DEPLOY_DIR}
4848
@@ -61,7 +61,7 @@ pip install -e ".[all]"
6161# Create .env file
6262cat > .env << 'ENV'
6363CONGRESS_API_KEY=${CONGRESS_API_KEY}
64- OLLAMA_HOST=http ://localhost:11434
64+ OLLAMA_HOST=https ://ollama.baytides.org
6565OLLAMA_MODEL=llama3.2
6666CIVITAS_AI_PROVIDER=ollama
6767DATABASE_URL=sqlite:///civitas.db
@@ -72,7 +72,7 @@ REMOTE_INSTALL
7272
7373# Initialize database and ingest data
7474echo " [5/8] Initializing database and ingesting data..."
75- ssh ${CARL_USER } @${CARL_HOST } << 'REMOTE_INGEST '
75+ ssh ${DEPLOY_USER } @${DEPLOY_HOST } << 'REMOTE_INGEST '
7676set -e
7777cd /opt/civitas
7878source .venv/bin/activate
@@ -110,7 +110,7 @@ REMOTE_INGEST
110110
111111# Set up systemd service
112112echo " [6/8] Setting up systemd service..."
113- ssh ${CARL_USER } @${CARL_HOST } << 'REMOTE_SERVICE '
113+ ssh ${DEPLOY_USER } @${DEPLOY_HOST } << 'REMOTE_SERVICE '
114114sudo tee /etc/systemd/system/civitas-api.service > /dev/null << 'SERVICE'
115115[Unit]
116116Description=Civitas FastAPI Backend
@@ -137,7 +137,7 @@ REMOTE_SERVICE
137137
138138# Set up Nginx reverse proxy
139139echo " [7/8] Configuring Nginx..."
140- ssh ${CARL_USER } @${CARL_HOST } << 'REMOTE_NGINX '
140+ ssh ${DEPLOY_USER } @${DEPLOY_HOST } << 'REMOTE_NGINX '
141141sudo tee /etc/nginx/sites-available/civitas > /dev/null << 'NGINX'
142142server {
143143 listen 80;
@@ -169,7 +169,7 @@ REMOTE_NGINX
169169
170170# Verify deployment
171171echo " [8/8] Verifying deployment..."
172- ssh ${CARL_USER } @${CARL_HOST } << 'REMOTE_VERIFY '
172+ ssh ${DEPLOY_USER } @${DEPLOY_HOST } << 'REMOTE_VERIFY '
173173echo "Checking services..."
174174sudo systemctl status civitas-api --no-pager | head -10
175175
@@ -189,8 +189,8 @@ echo "DEPLOYMENT COMPLETE!"
189189echo " =========================================="
190190echo " "
191191echo " API Endpoints:"
192- echo " Health: http://${CARL_HOST } :8000/api/health"
193- echo " Docs: http://${CARL_HOST } :8000/api/docs"
194- echo " API: http://${CARL_HOST } :8000/api/v1/"
192+ echo " Health: http://${DEPLOY_HOST } :8000/api/health"
193+ echo " Docs: http://${DEPLOY_HOST } :8000/api/docs"
194+ echo " API: http://${DEPLOY_HOST } :8000/api/v1/"
195195echo " "
196- echo " Next: Update frontend to use API at http://${CARL_HOST } :8000"
196+ echo " Next: Update frontend to use API at http://${DEPLOY_HOST } :8000"
0 commit comments