Schritt 1 – Starten Sie den StackScript

Deploy rtSurvey on Linode →

Dadurch wird die StackScript-Seite im Linode Cloud Manager geöffnet. Klicken Sie auf Neues Linode bereitstellen.


Schritt 2 – Füllen Sie das Formular von Linode aus

Füllen Sie das Standard-Servererstellungsformular von Linode aus:

FeldEmpfohlener Wert
BildUbuntu 22.04 LTS
RegionAm nächsten an Ihren Benutzern
PlanGemeinsam genutzte CPU 4 GB oder mehr
Root-PasswortLegen Sie ein sicheres Passwort fest
FirewallKeine Firewall (empfohlen)
Zeitzone (unser einziges Feld)Ihre Server-Zeitzone (Standard: „Asia/Ho_Chi_Minh“)

Warum keine Firewall? Das Setup-Skript benötigt ausgehenden Internetzugriff (Docker zieht, Let’s Encrypt). Das Blockieren von Ports beim ersten Start kann dazu führen, dass die Bereitstellung fehlschlägt. Sie können eine Firewall hinzufügen, nachdem die Einrichtung abgeschlossen ist. Die richtigen Regeln finden Sie weiter unten unter Firewall-Regeln.

Klicken Sie abschließend auf Linode erstellen.


Schritt 3 – Warten Sie, bis die Einrichtung abgeschlossen ist

Das Skript wird beim ersten Start automatisch ausgeführt. Es installiert Docker, ruft das rtSurvey-Image ab, initialisiert die Datenbank und startet alle Dienste. Dies dauert 5–10 Minuten.

Sie können den Fortschritt direkt im Linode Cloud Manager verfolgen – kein SSH erforderlich:

  1. Go to your Linode dashboard
  2. Klicken Sie auf Ihr neu erstelltes Linode
  3. Klicken Sie auf LISH-Konsole starten (oben rechts auf der Linode-Detailseite).

Es öffnet sich ein Browser-Terminal mit dem Live-Boot-Protokoll – die Registerkarte Weblish funktioniert direkt in Ihrem Browser, kein SSH-Client erforderlich.

Warten Sie, bis Sie Folgendes sehen:

  ============================================================
 rtSurvey deployment complete!
============================================================
 Server IP : <your-server-ip>

 App URL   : http://<your-server-ip>  (HTTP only until domain is set)
 Admin     : admin / admin
============================================================
  

Das Protokoll zeigt auch Ihre Server-IP – Sie benötigen sie für den nächsten Schritt.


Schritt 4 – SSL einrichten

Open your browser at http://<server-ip>. The app will redirect you to the SSL setup screen.

Befolgen Sie die Anleitung zum Einrichten von SSL →, um HTTPS zu konfigurieren. Die kostenlose Subdomain rtsurvey.com ist die schnellste Option – es ist keine DNS-Einrichtung erforderlich.


Schritt 5 – Ändern Sie das Standardkennwort

Alle Passwörter lauten standardmäßig „admin“. Ändern Sie diese sofort nach Ihrem ersten Login:

  • App-Administratorkennwort – Kontoeinstellungen innerhalb der App
  • Keycloak admin — accessible at https://your-domain.com/auth/admin (login: admin / admin)

Firewall-Regeln (Linode Cloud Firewall)

Wenn Sie eine Linode Cloud Firewall an diesen Server anschließen, verwenden Sie die folgenden Regeln:

Eingehend

EtikettAktionProtokollHafenQuellenNotizen
accept-inbound-sshAkzeptierenTCP22Alle IPv4, Alle IPv6SSH-Zugriff
accept-inbound-httpAkzeptierenTCP80Alle IPv4, Alle IPv6Nginx (HTTP + ACME-Challenge)
accept-inbound-httpsAkzeptierenTCP443Alle IPv4, Alle IPv6Nginx (HTTPS nach SSL-Einrichtung)
accept-inbound-shinyAkzeptierenTCP3838Alle IPv4, Alle IPv6Shiny Server (R-Analyse)
accept-inbound-icmpAkzeptierenICMPAlle IPv4, Alle IPv6Ping / Diagnose
Standard-EingangsrichtlinieTropfenAlles andere blockieren

Ausgehend

EtikettAktionNotizen
Standard-AusgangsrichtlinieAkzeptierenAlle ausgehenden Daten zulassen (Docker-Pulls, Certbot, GoDaddy-API usw.)

Ports werden extern NICHT benötigt

Diese Ports sind nur an „127.0.0.1“ gebunden und niemals von außerhalb des Servers erreichbar:

HafenServiceGrund
8080App-ContainerNginx stellt intern einen Proxy her
8090Keycloak-ContainerNginx stellt intern einen Proxy her
3306MySQLNur internes Docker-Netzwerk

Fehlerbehebung

Überprüfen Sie das Setup-Protokoll

  tail -200 /var/log/stackscript.log
  

Überprüfen Sie das SSL-Protokoll

  tail -200 /var/log/rtsurvey-ssl.log
  

Containerstatus anzeigen

  docker compose -f /opt/rtsurvey/docker-compose.production.yml ps
  
War diese Seite hilfreich?