Použijte aws-ec2.sh jako skript User Data při spouštění instance EC2. Skript se automaticky spustí při prvním spuštění.

Stáhnout skript: aws-ec2.sh


Krok 1 — Vyplňte konfiguraci

Otevřete skript a upravte blok CONFIGURATION v horní části:

  # --- Povinné ---
PROJECT_ID="rtsurvey"
ADMIN_PASSWORD="admin"                       # Změňte po prvním přihlášení

# --- Doména + SSL ---
DOMAIN="myapp.example.com"
LETSENCRYPT_EMAIL="admin@example.com"

# --- Vložený Keycloak ---
EMBED_KEYCLOAK="true"
KEYCLOAK_ADMIN_PASSWORD="${ADMIN_PASSWORD}"  # Výchozí je ADMIN_PASSWORD
  
PolePovinnéPopis
PROJECT_IDAnoPoužívá se jako název databáze a ID klienta Keycloak. Malá písmena, bez mezer.
ADMIN_PASSWORDNeHeslo admin aplikace a heslo admin Keycloak. Výchozí je adminzměňte po prvním přihlášení.
DOMAINNeVaše doména pro HTTPS. Ponechte prázdné pro pouze HTTP režim.
LETSENCRYPT_EMAILAno (pokud je nastavena DOMAIN)E-mail pro oznámení Let’s Encrypt.
EMBED_KEYCLOAKNetrue pro nasazení vloženého Keycloak (vyžaduje 4 GB RAM).

Bezpečnost: Všechna hesla mají výchozí hodnotu admin. Změňte je ihned po prvním přihlášení.


Krok 2 — Spusťte instanci EC2

V konzoli AWS EC2:

  1. Klikněte na Spustit instanci
  2. AMI: Ubuntu Server 22.04 LTS (64-bit x86)
  3. Typ instance: t3.medium (4 GB RAM) nebo větší
  4. Pár klíčů: Vyberte nebo vytvořte pro přístup SSH
  5. Nastavení sítě: Vytvořte nebo vyberte Security Group (viz níže)
  6. Pokročilé podrobnostiUser data → vložte celý obsah skriptu
  7. Klikněte na Spustit instanci

Krok 3 — Nakonfigurujte Security Group

Otevřete tyto porty v Security Group instance:

PortProtokolZdrojÚčel
22TCPVaše IPPřístup SSH
80TCP0.0.0.0/0HTTP (přesměrován na HTTPS pomocí Nginx)
443TCP0.0.0.0/0HTTPS
3838TCP0.0.0.0/0Přímý přístup Shiny

Neotevírejte port 3306 (MySQL) — nikdy by neměl být veřejně přístupný.


Krok 4 — Přidejte DNS záznam

Zatímco instance startuje, přidejte A záznam u vašeho poskytovatele DNS:

  Typ  : A
Název: myapp
Hodnota: <instance-public-ip>
TTL  : 300
  

Krok 5 — Sledujte průběh

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

Krok 6 — Přístup k aplikaci

Po dokončení nastavení protokol zobrazí souhrn s URL aplikace a přihlašovacími údaji. Přihlaste se uživatelským jménem admin a heslem admin, poté ihned změňte heslo.


Po nasazení

Změna hesla

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

Zobrazení všech kontejnerů

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

Přiřazení Elastic IP (volitelné)

Pokud instanci zastavíte a spustíte, veřejná IP adresa se změní. Pro zachování stabilní IP přidělte Elastic IP a přiřaďte ji instanci v konzoli EC2.

Byla tato stránka užitečná?