Lincoln Gombedza commited on
Commit
8a3277e
·
unverified ·
1 Parent(s): b7e98d4

Add one-shot EC2 deploy script

Browse files
Files changed (1) hide show
  1. deploy-ec2.sh +62 -0
deploy-ec2.sh ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env bash
2
+ # PNA Assistant — EC2 deploy script
3
+ # Run once on a fresh Ubuntu 22.04 t3.small in eu-west-2
4
+ # Usage: bash deploy-ec2.sh
5
+
6
+ set -euo pipefail
7
+
8
+ DOMAIN="pna.nursingcitizendevelopment.com"
9
+ REPO="https://github.com/Clinical-Quality-Artifical-Intelligence/Professional-Nurse-Advocate-Assistant"
10
+ EMAIL="lincoln@clinyqai.com"
11
+
12
+ echo "=== 1. System packages ==="
13
+ sudo apt-get update -y
14
+ sudo apt-get install -y docker.io docker-compose-plugin curl certbot git unzip
15
+
16
+ sudo systemctl enable docker --now
17
+ sudo usermod -aG docker "$USER"
18
+
19
+ echo "=== 2. Clone repo ==="
20
+ cd /home/"$USER"
21
+ git clone "$REPO" pna-assistant
22
+ cd pna-assistant
23
+
24
+ echo "=== 3. Create .env ==="
25
+ cat > .env <<'ENV'
26
+ STRIPE_PRO_LINK=https://buy.stripe.com/14A28t0P99Qmdph8v68og00
27
+ STRIPE_INSTITUTION=https://buy.stripe.com/9B63cxfK3d2y3OHbHi8og01
28
+ STRIPE_WEBHOOK_SECRET=whsec_REPLACE_AFTER_STRIPE_WEBHOOK_SETUP
29
+ AWS_REGION=eu-west-2
30
+ SES_FROM_EMAIL=lincoln@clinyqai.com
31
+ ENV
32
+ chmod 600 .env
33
+
34
+ echo "=== 4. Copy A-EQUIP guide ==="
35
+ mkdir -p assets
36
+ # Paste your guide file here, or scp it separately:
37
+ # scp "Professional nurse advocate A-EQUIP model Guide.md" ubuntu@<EC2_IP>:/home/ubuntu/pna-assistant/assets/aequip_guide.md
38
+ echo " >> Remember to copy aequip_guide.md into assets/ before starting!"
39
+
40
+ echo "=== 5. Get SSL cert (stop port 80 first if running) ==="
41
+ sudo certbot certonly --standalone \
42
+ -d "$DOMAIN" \
43
+ --email "$EMAIL" \
44
+ --agree-tos \
45
+ --non-interactive
46
+
47
+ echo "=== 6. Start services ==="
48
+ # Run as current user (already in docker group after re-login)
49
+ # If first run, you may need: newgrp docker && docker compose up -d
50
+ docker compose up -d
51
+
52
+ echo ""
53
+ echo "======================================"
54
+ echo " PNA Assistant deployed!"
55
+ echo " App: https://$DOMAIN"
56
+ echo " Webhook: https://$DOMAIN/webhook"
57
+ echo "======================================"
58
+ echo ""
59
+ echo "Next: set up Stripe webhook endpoint:"
60
+ echo " URL: https://$DOMAIN/webhook"
61
+ echo " Event: checkout.session.completed"
62
+ echo " Copy the signing secret → update .env → docker compose restart pna-webhook"