18. Januar 2026

Vor einem grösseren Juntagrico Update, lohnt es sich, dieses zuerst in einer sicheren Umgebung auszuprobieren. Idealerweise mit dem gleichen Setup und den gleichen Daten wie auf dem Server.

Neu kann dafür im Juntagrico Hosting eine Staging-App erstellt werden. Dies ist eine eigenständige Kopie eurer Juntagrico-Instanz.

Staging-App Erstellen

Vor der ersten Verwendung muss die Staging-App einmalig eingerichtet werden. Klicke dazu auf diese Funktion im Juntagrico Hosting und folge den Anweisungen auf dem Bildschirm.

Nach abgeschlossener Einrichtung, siehst du eine Übersicht. Ähnlich wie in der Haupt-App aber mit zusätzlichen Hinweisen und Funktionen.

Die Staging-App wird 24h nach dem letzten Start automatisch gestoppt. Du kannst sie auch jederzeit vorher stoppen oder die Frist verlängern.

Es wird automatisch eine URL für die Staging-App erstellt. Mit „Seite öffnen“ gelangst du dahin.

Hier wirst du wahrscheinlich erstmal mit einer Fehlermeldung begrüsst.

App fürs Staging vorbereiten

Um deine Instanz im Staging zu nutzen, musst du ein paar kleine Anpassungen in deiner App machen. Dies geschieht über die settings.py mithilfe einer Umgebungs-Variable, die nur im Staging gesetzt ist:

# Staging
if os.environ.get('JUNTAGRICO_STAGING') == '1':
    # staging URL erlauben
    ALLOWED_HOSTS.append('<dein_org_name>-staging.juntagrico.science')
    # E-Mails Deaktivieren
    EMAIL_BACKEND = "django.core.mail.backends.dummy.EmailBackend"

E-Mail-Versand

Beim erstellen der Staging-App, werden die Zugangsdaten für den E-Mail-Versand nicht von der Haupt-App übernommen, um zu verhindern, dass die Staging-App E-Mails verschickt.

Damit die App nicht beim Versuch ein E-Mail zu senden abstürzt, sollte das EMAIL_BACKEND fürs Staging wie oben beschreiben angepasst werden.

Staging visuell hervorheben

Wenn du parallel mit der Staging-App und der Haupt-App hantierst, ist Vorsicht geboten, um nicht in der falschen App „etwas auszuprobieren“.

Im Django-Admin kann z.B. der Dark-Mode in der Staging-App aktiviert bzw. deaktiviert werden um die beiden Apps zu unterscheiden.

Für die Front-Seite empfiehlt es sich, das css anzupassen. So kann z.B. die Hintergrundfarbe etwas angepasst werden:

html, body {
    background: #ffe6fb;
}
# Staging
if os.environ.get('JUNTAGRICO_STAGING') == '1':
    STYLES['static'].append('css/staging.css')

Staging Daten

Die Staging Daten, werden bei der erstellung automatisch von der Haupt-App kopiert. Das heisst du kannst dich gleich Einloggen wie in der Haupt-App.

Du kannst die Daten jederzeit erneut kopieren mit der entsprechenden Funktion bei der Staging-App Juntagrico Hosting:

Nach dem Kopieren werden die Migrations automatisch erneut angewendet.

Upgrade im Staging testen

Die Staging-App kann unabhängig von der Haupt-App eingestellt werden. So können die Einstellungen, Python version und der Branch vom git beliebig getestet werden.

Um ein Upgrade zu testen empfiehlt sich folgender Workflow:

  • Stelle sicher, dass die Staging auf der gleichen Version läuft (Python version, git branch) wie die Haupt-App
  • Kopiere die Daten von der Haupt-App neu mit „Datenbank neu kopieren“
  • Erstelle einen Branch mit den Anpassungen für das Upgrade
  • Wechsle die Staging App auf diesen neuen Branch
  • Stelle wenn nötig die Python-Version um
  • Mache einen Redeploy der Staging-App
  • Öffne die Staging-Instanz und probiere sie aus

Läuft alles? Dann merge deinen Branch und mache einen Redeploy im Haupt-App.