Använd aws-ec2.sh som User Data-skript när du startar en EC2-instans. Skriptet körs automatiskt vid första starten.

Ladda ned skript: aws-ec2.sh


Steg 1 — Fyll i konfigurationen

Öppna skriptet och redigera CONFIGURATION-blocket överst:

  # --- Obligatoriskt ---
PROJECT_ID="rtsurvey"
ADMIN_PASSWORD="admin"                       # Ändra efter första inloggningen

# --- Domän + SSL ---
DOMAIN="myapp.example.com"
LETSENCRYPT_EMAIL="admin@example.com"

# --- Inbäddad Keycloak ---
EMBED_KEYCLOAK="true"
KEYCLOAK_ADMIN_PASSWORD="${ADMIN_PASSWORD}"  # Standardvärdet är ADMIN_PASSWORD
  
FältObligatorisktBeskrivning
PROJECT_IDJaAnvänds som databasnamn och Keycloak-klient-ID. Gemener, inga mellanslag.
ADMIN_PASSWORDNejAppens adminlösenord och Keycloak-adminlösenord. Standardvärde är adminändra efter första inloggningen.
DOMAINNejDin domän för HTTPS. Lämna tomt för HTTP-only-läge.
LETSENCRYPT_EMAILJa (om DOMAIN anges)E-post för Let’s Encrypt-aviseringar.
EMBED_KEYCLOAKNejtrue för att driftsätta inbäddad Keycloak (kräver 4 GB RAM).

Säkerhet: Alla lösenord har standardvärdet admin. Ändra dem omedelbart efter din första inloggning.


Steg 2 — Starta en EC2-instans

I AWS EC2-konsolen:

  1. Klicka på Starta instans
  2. AMI: Ubuntu Server 22.04 LTS (64-bit x86)
  3. Instanstyp: t3.medium (4 GB RAM) eller större
  4. Nyckelpar: Välj eller skapa ett för SSH-åtkomst
  5. Nätverksinställningar: Skapa eller välj en säkerhetsgrupp (se nedan)
  6. Avancerade detaljerAnvändardata → klistra in hela skriptinnehållet
  7. Klicka på Starta instans

Steg 3 — Konfigurera säkerhetsgruppen

Öppna dessa portar i instansens säkerhetsgrupp:

PortProtokollKällaSyfte
22TCPDin IPSSH-åtkomst
80TCP0.0.0.0/0HTTP (omdirigeras till HTTPS av Nginx)
443TCP0.0.0.0/0HTTPS
3838TCP0.0.0.0/0Direkt Shiny-åtkomst

Öppna inte port 3306 (MySQL) — den ska aldrig vara offentligt tillgänglig.


Steg 4 — Lägg till DNS-posten

Medan instansen startar, lägg till en A-post hos din DNS-leverantör:

  Typ  : A
Namn : myapp
Värde: <instansens publika IP>
TTL  : 300
  

Steg 5 — Övervaka förloppet

  ssh ubuntu@<instans-ip>
tail -f /var/log/rtcloud-setup.log
  

Steg 6 — Öppna appen

När konfigurationen är klar visar loggen en sammanfattning med din app-URL och inloggningsuppgifter. Logga in med användarnamnet admin och lösenordet admin, och ändra sedan ditt lösenord omedelbart.


Efter driftsättning

Ändra ett lösenord

  nano /opt/rtcloud/.env
docker compose -f /opt/rtcloud/docker-compose.production.yml up -d --force-recreate rtcloud
  

Visa alla containrar

  docker compose -f /opt/rtcloud/docker-compose.production.yml ps
  

Tilldela en Elastic IP (valfritt)

Om du stoppar och startar instansen ändras den publika IP-adressen. För att behålla en stabil IP, allokera en Elastic IP och associera den med instansen i EC2-konsolen.

Var den här sidan hjälpsam?