Bruk aws-ec2.sh som User Data-skript når du starter en EC2-instans. Skriptet kjøres automatisk ved første oppstart.

Last ned skript: aws-ec2.sh


Trinn 1 — Fyll inn konfigurasjonen

Åpne skriptet og rediger CONFIGURATION-blokken øverst:

  # --- Påkrevd ---
PROJECT_ID="rtsurvey"
ADMIN_PASSWORD="admin"                       # Endre etter første innlogging

# --- Domene + SSL ---
DOMAIN="myapp.example.com"
LETSENCRYPT_EMAIL="admin@example.com"

# --- Innebygd Keycloak ---
EMBED_KEYCLOAK="true"
KEYCLOAK_ADMIN_PASSWORD="${ADMIN_PASSWORD}"  # Standard er ADMIN_PASSWORD
  
FeltPåkrevdBeskrivelse
PROJECT_IDJaBrukes som databasenavn og Keycloak klient-ID. Kun små bokstaver, ingen mellomrom.
ADMIN_PASSWORDNeiApp-adminpassord og Keycloak-adminpassord. Standard er adminendre etter første innlogging.
DOMAINNeiDomenet ditt for HTTPS. La stå tomt for kun HTTP-modus.
LETSENCRYPT_EMAILJa (hvis DOMAIN er satt)E-post for Let’s Encrypt-varsler.
EMBED_KEYCLOAKNeitrue for å distribuere innebygd Keycloak (krever 4 GB RAM).

Sikkerhet: Alle passord er standard admin. Endre dem umiddelbart etter første innlogging.


Trinn 2 — Start en EC2-instans

I AWS EC2-konsollen:

  1. Klikk Start instans
  2. AMI: Ubuntu Server 22.04 LTS (64-bit x86)
  3. Instanstype: t3.medium (4 GB RAM) eller større
  4. Nøkkelpar: Velg eller opprett ett for SSH-tilgang
  5. Nettverksinnstillinger: Opprett eller velg en sikkerhetsgruppe (se nedenfor)
  6. Avanserte detaljerUser data → lim inn hele skriptinnholdet
  7. Klikk Start instans

Trinn 3 — Konfigurer sikkerhetsgruppen

Åpne disse portene i instansens sikkerhetsgruppe:

PortProtokollKildeFormål
22TCPDin IPSSH-tilgang
80TCP0.0.0.0/0HTTP (omdirigert til HTTPS av Nginx)
443TCP0.0.0.0/0HTTPS
3838TCP0.0.0.0/0Shiny direkte tilgang

Ikke åpne port 3306 (MySQL) — den bør aldri være offentlig tilgjengelig.


Trinn 4 — Legg til DNS-posten

Mens instansen starter opp, legg til en A-post hos DNS-leverandøren din:

  Type  : A
Navn  : myapp
Verdi : <instans-offentlig-ip>
TTL   : 300
  

Trinn 5 — Overvåk fremdriften

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

Trinn 6 — Åpne appen

Når oppsettet er ferdig, viser loggen et sammendrag med app-URL og legitimasjonsopplysninger. Logg inn med brukernavn admin og passord admin, og endre passordet umiddelbart.


Etter distribusjon

Endre et passord

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

Se alle containere

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

Tildel en Elastic IP (valgfritt)

Hvis du stopper og starter instansen, endres den offentlige IP-en. For å beholde en stabil IP, tildel en Elastic IP og knytt den til instansen i EC2-konsollen.

Var denne siden nyttig?