GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So installieren Sie Supabase mit Docker unter Debian 11

Supabase ist eine Open-Source-Firebase-Alternative, die Ihnen alle Tools zur Verfügung stellt, die Sie zum Entwickeln Ihrer Anwendungen benötigen. Supabase bietet eine PostgreSQL-Datenbank, Benutzerauthentifizierung, Speicher und eine Echtzeit-API und lässt sich in beliebte Frameworks und Tools wie Angular, Flutter, Next.js, React, Svelte und Vue integrieren.

Es gibt zwei Möglichkeiten, Supabase zu verwenden. Die erste Option besteht darin, sich für ihre in der Cloud gehostete App anzumelden, die mehr Funktionen bietet. Die zweite Option besteht darin, den Code mit Docker selbst zu hosten. Es gibt jedoch ein paar Vorbehalte beim Selbsthosten. Sie können keine Projekte erstellen oder verwalten. Außerdem befindet sich das gesamte Projekt in der Beta-Phase, und Sie sollten die selbst gehostete Version nur zum Testen und zur lokalen Entwicklung verwenden. Für alle anderen Zwecke sollten Sie ihre Cloud-Anwendung verwenden.

In diesem Tutorial erfahren Sie, wie Sie Supabase auf einem Debian 11-basierten Server installieren und über den Nginx-Server per Proxy weiterleiten.

Voraussetzungen

  • Ein Server mit Debian 11 und mindestens 2 GB RAM.

  • Ein Nicht-Root-Benutzer mit sudo-Berechtigungen.

  • Ein Domänenname (supabase.example.com ) auf den Server zeigt.

  • Alles ist aktualisiert.

    $ sudo apt update && sudo apt upgrade
    
  • Einige Pakete, die Ihr System benötigt.

    $ sudo apt install nano ufw software-properties-common dirmngr apt-transport-https gnupg2 ca-certificates lsb-release debian-archive-keyring -y
    

    Einige dieser Pakete sind möglicherweise bereits auf Ihrem System installiert.

Schritt 1 – Firewall konfigurieren

Der erste Schritt besteht darin, die Firewall zu konfigurieren. Debian kommt mit ufw (Uncomplicated Firewall).

Überprüfen Sie, ob die Firewall ausgeführt wird.

$ sudo ufw status

Sie sollten die folgende Ausgabe erhalten.

Status: inactive

SSH-Port zulassen, damit die Firewall die aktuelle Verbindung beim Aktivieren nicht unterbricht.

$ sudo ufw allow OpenSSH

Lassen Sie auch HTTP- und HTTPS-Ports zu.

$ sudo ufw allow 80/tcp
$ sudo ufw allow 443/tcp

Aktivieren Sie die Firewall

$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup

Überprüfen Sie den Status der Firewall erneut.

$ sudo ufw status

Sie sollten eine ähnliche Ausgabe sehen.

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
443/tcp                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)
443/tcp (v6)               ALLOW       Anywhere (v6)

Schritt 2 – Git installieren

Git installieren.

$ sudo apt install git

Bestätigen Sie die Installation.

$ git --version
git version 2.30.2

Schritt 3 – Docker installieren

Um die neueste Version von Docker zu installieren, fügen Sie den offiziellen GPG-Schlüssel von Docker hinzu.

$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Installieren Sie das offizielle Docker-Repository.

$ echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Aktualisieren Sie die Debian-System-Repositories.

$ sudo apt update

Installieren Sie die neueste Version von Docker.

$ sudo apt install docker-ce docker-ce-cli containerd.io

Vergewissern Sie sich, dass Docker ausgeführt wird.

$ sudo systemctl status docker
? docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2022-03-21 03:19:09 UTC; 9s ago
TriggeredBy: ? docker.socket
       Docs: https://docs.docker.com
   Main PID: 15816 (dockerd)
      Tasks: 7
     Memory: 27.9M
        CPU: 566ms
     CGroup: /system.slice/docker.service
             ??15816 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Standardmäßig benötigt Docker Root-Rechte. Wenn Sie die Verwendung von sudo vermeiden möchten jedes Mal, wenn Sie docker ausführen Befehl, fügen Sie Ihren Benutzernamen zum docker hinzu Gruppe.

$ sudo usermod -aG docker $(whoami)

Sie müssen sich vom Server abmelden und als derselbe Benutzer wieder anmelden, um diese Änderung zu aktivieren.

Schritt 4 – Docker Compose installieren

Die neueste verfügbare Version von Docker Compose ist 2.0.x, aber aus Kompatibilitätsgründen werden wir die ältere und stabile Version 1.29.2 installieren.

Führen Sie den folgenden Befehl aus, um die stabile Version von Docker Compose herunterzuladen.

$ sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

Wenden Sie Ausführungsberechtigungen auf die Binärdatei an.

$ sudo chmod +x /usr/local/bin/docker-compose

Laden Sie das Bash-Vervollständigungsskript von Docker Compose herunter und installieren Sie es.

$ sudo curl \
    -L https://raw.githubusercontent.com/docker/compose/1.29.2/contrib/completion/bash/docker-compose \
    -o /etc/bash_completion.d/docker-compose

Führen Sie den folgenden Befehl aus, um die Änderungen zu übernehmen.

$ source ~/.bashrc

Schritt 5 – Supabase herunterladen und konfigurieren

Klonen Sie das Supabase-Github-Repository.

$ git clone --depth 1 https://github.com/supabase/supabase.git

Der --depth 1 -Parameter erstellt einen flachen Klon des Repositorys, d. h. er zieht nur die neuesten Commits und nicht den gesamten Verlauf. Dies geschieht, um die Leistung zu verbessern.

Wechseln Sie in das Docker-Verzeichnis.

$ cd supabase/docker

Erstellen Sie die Umgebungsdatei aus der Beispieldatei.

$ cp .env.example .env

Öffnen Sie die neu erstellte Datei zum Bearbeiten.

$ nano .env

Ändern Sie den Wert der Variable POSTGRES_PASSWORD mit einem stark generierten eindeutigen Passwort.

$ POSTGRES_PASSWORD=<yourpostgresqlpwd>

Generieren Sie ein weiteres eindeutiges Passwort mit mehr als 32 Zeichen ohne Sonderzeichen. Ersetzen Sie den Wert von JWT_SECRET mit diesem Passwort.

JWT_SECRET=<your32pluscharacterspwd>

Sie können einen Online-Passwortgenerator wie Bitwarden oder 1password verwenden, um die oben genannten Passwörter zu erstellen.

Öffnen Sie die Supabase-Website und geben Sie Ihren JWT_SECRET ein um einen ANON_KEY zu generieren . Fügen Sie Ihr JWT_SECRET ein Wählen Sie im angegebenen Feld ANON_KEY aus aus der vorkonfigurierten Payload Dropdown-Menü und klicken Sie auf JWT generieren Schaltfläche zum Generieren des Tokens.

Kopieren Sie dieses Token und fügen Sie es als Wert für ANON_KEY ein in der .env Datei.

Wiederholen Sie die gleichen Schritte zum Generieren des SERVICE_KEY durch Wechseln der vorkonfigurierten Payload und drücken Sie auf JWT generieren Schaltfläche.

Kopieren Sie das generierte Token und fügen Sie es als Wert für SERVICE_KEY ein in der .env Datei.

Konfigurieren Sie die E-Mail-SMTP-Einstellungen, indem Sie die folgenden Variablen konfigurieren. Wir verwenden den SES-Dienst von Amazon für unser Tutorial.

[email protected]
SMTP_HOST=email-smtp.us-west-2.amazonaws.com
SMTP_PORT=587
SMTP_USER=<your_amazon_ses_user>
SMTP_PASS=<your_amazon_ses_password>
SMTP_SENDER_NAME=SupabaseAdmin

Konfigurieren Sie die Website-URL.

SITE_URL=https://supabase.example.com

Konfigurieren Sie die öffentliche REST-URL.

PUBLIC_REST_URL=https://supabase.example.com/rest/v1/

Speichern Sie die Datei, indem Sie Strg + X drücken und geben Sie Y ein wenn Sie dazu aufgefordert werden.

Die über SMTP gesendeten Authentifizierungs-Mails weisen aufgrund eines in Supabase weit verbreiteten Fehlers fehlerhafte Links auf. Um dieses Problem zu beheben, öffnen Sie docker-compose.yml Datei.

$ nano docker-compose.yml

Fügen Sie die Variable API_EXTERNAL_URL hinzu direkt unter der GOTRUE_SITE_URL Variable wie folgt aussehen.

 GOTRUE_SITE_URL: ${SITE_URL}
 API_EXTERNAL_URL: ${SITE_URL}

Speichern Sie die Datei, indem Sie Strg + X drücken und geben Sie Y ein wenn Sie dazu aufgefordert werden. Diese Datei wird jedes Mal überschrieben, wenn Sie Ihre Supabase-Installation aktualisieren. Hoffentlich wird der Fehler beim nächsten Mal behoben. Sie müssen diese Variable manuell hinzufügen, um sicherzustellen, dass sich der E-Mail-Fehler nicht wiederholt.

Öffnen Sie die volumes/api/kong.yml Datei zum Bearbeiten.

$ nano volumes/api/kong.yml

Unter consumers Ersetzen Sie im Abschnitt anon Benutzerschlüssel mit dem ANON_KEY zuvor generiert.

consumers:
  - username: anon
    keyauth_credentials:
      - key: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyAgCiAgICAicm9sZSI6ICJhbm9uIiwKICAgICJpc3MiOiAic3VwYWJhc2UtZGVtbyIsCiAgICAiaWF0IjogMTY0MTc2OTIwMCwKICAgICJleHAiOiAxNzk5NTM1NjAwCn0.dc_X5iR_VP_qT0zsiyj_I_OZ2T9FtRU2BBNWN8Bu4GE

Ersetzen Sie außerdem service_role 's Schlüssel mit dem SERVICE_KEY oben generiert.

- username: service_role
    keyauth_credentials:
      - key: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyAgCiAgICAicm9sZSI6ICJzZXJ2aWNlX3JvbGUiLAogICAgImlzcyI6ICJzdXBhYmFzZS1kZW1vIiwKICAgICJpYXQiOiAxNjQxNzY5MjAwLAogICAgImV4cCI6IDE3OTk1MzU2MDAKfQ.DaYlNEoUrrEn2Ig7tqibS-PHK5vgusbcbo7X36XVt4Q

Speichern Sie die Datei, indem Sie Strg + X drücken und geben Sie Y ein wenn Sie dazu aufgefordert werden.

Schritt 6 – Supabase installieren

Führen Sie Supabase mit dem folgenden Befehl aus. Dieser Vorgang wird einige Zeit in Anspruch nehmen.

$ docker-compose -f docker-compose.yml -f ./dev/docker-compose.dev.yml up -d

Überprüfen Sie den Status der laufenden Container.

$ docker ps
CONTAINER ID   IMAGE                            COMMAND                   CREATED              STATUS                        PORTS                                                                                                                             NAMES
d25393873731   supabase/storage-api:v0.10.0     "/bin/sh -c \"./stora…"   About a minute ago   Up About a minute             5000/tcp                                                                                                                          supabase-storage
e6df7dcdd45b   supabase/gotrue:v2.5.21          "gotrue"                  About a minute ago   Up About a minute                                                                                                                                               supabase-auth
b3a758592d10   supabase/postgres-meta:v0.29.0   "postgres-meta"           About a minute ago   Up About a minute             0.0.0.0:5555->8080/tcp, :::5555->8080/tcp                                                                                         supabase-meta
cdb18c248f79   supabase/realtime:v0.21.0        "bash -c './prod/rel…"    About a minute ago   Up About a minute                                                                                                                                               supabase-realtime
71417337efae   postgrest/postgrest:v9.0.0       "/bin/postgrest"          About a minute ago   Up About a minute             3000/tcp                                                                                                                          supabase-rest
2d51af16bd1f   kong:2.1                         "/docker-entrypoint.…"    2 minutes ago        Up About a minute             0.0.0.0:8000->8000/tcp, :::8000->8000/tcp, 8001/tcp, 0.0.0.0:8443->8443/tcp, :::8443->8443/tcp, 8444/tcp                          supabase-kong
d6490380e4e8   supabase/postgres:14.1.0         "docker-entrypoint.s…"    2 minutes ago        Up About a minute             0.0.0.0:5432->5432/tcp, :::5432->5432/tcp
                                              supabase-db
40a49d1482fa   supabase/studio:latest           "docker-entrypoint.s…"    2 minutes ago        Up About a minute             0.0.0.0:3000->3000/tcp, :::3000->3000/tcp                                                                                         supabase-studio
3cce50db9782   inbucket/inbucket:stable         "/start-inbucket.sh …"    2 minutes ago        Up About a minute (healthy)   0.0.0.0:1100->1100/tcp, :::1100->1100/tcp, 0.0.0.0:2500->2500/tcp, :::2500->2500/tcp, 0.0.0.0:9000->9000/tcp, :::9000->9000/tcp   supabase-mail

Schritt 7 – SSL installieren

Um ein SSL-Zertifikat mit Let's Encrypt zu installieren, müssen wir das Certbot-Tool installieren.

Wir werden dafür das Snapd-Paketinstallationsprogramm verwenden. Da die meisten Debian-Server nicht damit ausgeliefert werden, installieren Sie den Snapd-Installer.

$ sudo apt install snapd

Stellen Sie sicher, dass Ihre Version von Snapd auf dem neuesten Stand ist.

$ sudo snap install core && sudo snap refresh core

Certbot installieren.

$ sudo snap install --classic certbot

Verwenden Sie den folgenden Befehl, um sicherzustellen, dass der Certbot-Befehl ausgeführt werden kann, indem Sie einen symbolischen Link zu /usr/bin erstellen Verzeichnis.

$ sudo ln -s /snap/bin/certbot /usr/bin/certbot

Überprüfen Sie die Installation.

$ certbot --version
certbot 1.25.0

Generieren Sie das SSL-Zertifikat.

$ sudo certbot certonly --standalone --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d supabase.example.com

Der obige Befehl lädt ein Zertifikat in /etc/letsencrypt/live/supabase.example.com herunter Verzeichnis auf Ihrem Server.

Erstellen Sie eine Diffie-Hellman-Gruppe Zertifikat.

$ sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 4096

Erstellen Sie ein herausforderndes Webroot-Verzeichnis für die automatische Verlängerung von Let's Encrypt.

$ sudo mkdir -p /var/lib/letsencrypt

Erstellen Sie einen Cron-Job, um das SSL zu erneuern. Es wird jeden Tag ausgeführt, um das Zertifikat zu überprüfen und bei Bedarf zu erneuern. Erstellen Sie dazu zunächst die Datei /etc/cron.daily/certbot-renew und zum Bearbeiten öffnen.

$ sudo nano /etc/cron.daily/certbot-renew

Fügen Sie den folgenden Code ein.

#!/bin/sh
certbot renew --cert-name supabase.example.com --webroot -w /var/lib/letsencrypt/ --post-hook "systemctl reload nginx"

Speichern Sie die Datei, indem Sie Strg + X drücken und geben Sie Y ein wenn Sie dazu aufgefordert werden.

Ändern Sie die Berechtigungen für die Aufgabendatei, um sie ausführbar zu machen.

$ sudo chmod +x /etc/cron.daily/certbot-renew

Schritt 8 – Nginx installieren und konfigurieren

Debian wird mit einer älteren Version von Nginx ausgeliefert. Sie müssen das offizielle Nginx-Repository herunterladen, um die neueste Version zu installieren.

Importieren Sie den offiziellen Nginx-Signaturschlüssel.

$ curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
	 | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null

Fügen Sie das Repository für die stabile Version von Nginx hinzu.

$ echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg arch=amd64] \
    http://nginx.org/packages/debian `lsb_release -cs` nginx" \
    | sudo tee /etc/apt/sources.list.d/nginx.list

Aktualisieren Sie die Debian-Repositories.

$ sudo apt update

Nginx installieren.

$ sudo apt install nginx

Überprüfen Sie die Installation. Stellen Sie sicher, dass Sie sudo verwenden jedes Mal, wenn Sie den Nginx-Befehl unter Debian ausführen. Andernfalls funktioniert es nicht.

$ sudo nginx -v
nginx version: nginx/1.20.2

Erstellen und öffnen Sie die Datei /etc/nginx/conf.d/supabase.conf zum Bearbeiten.

$ sudo nano /etc/nginx/conf.d/supabase.conf

Fügen Sie den folgenden Code ein.

map $http_upgrade $connection_upgrade {
    default upgrade;
    '' close;
}
upstream supabase {
  	server localhost:3000;
}
upstream kong {
  	server localhost:8000;
}
# enforce HTTPS
server {
    listen       80; 
    listen 		[::]:80;
    server_name  supabase.example.com;
    return 301   https://$host$request_uri;
}
server {
    listen       443 ssl http2;
    listen 		[::]:443 ssl http2;
    server_name  supabase.example.com;

    access_log  /var/log/nginx/supabase.access.log;
    error_log   /var/log/nginx/supabase.error.log;
    
    gzip on;
    
    # SSL
    ssl_certificate      /etc/letsencrypt/live/supabase.example.com/fullchain.pem;
    ssl_certificate_key  /etc/letsencrypt/live/supabase.example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/supabase.example.com/chain.pem;
    ssl_session_timeout  5m;
    ssl_session_cache shared:MozSSL:10m;
    ssl_session_tickets off;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
    ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1;
    ssl_stapling on;
    ssl_stapling_verify on;
    ssl_dhparam /etc/ssl/certs/dhparam.pem;
    resolver 8.8.8.8;
    
    client_max_body_size 100m;
    
    # REST API
	location ~ ^/rest/v1/(.*)$ {
    	proxy_set_header Host $host;
	    proxy_pass http://kong;
	    proxy_redirect off;
  	}

	# Authentication
	location ~ ^/auth/v1/(.*)$ {
    	proxy_set_header Host $host;
	    proxy_pass http://kong;
	    proxy_redirect off;
  	}

	# Realtime
	location ~ ^/realtime/v1/(.*)$ {
    	proxy_redirect off;
	    proxy_pass http://kong;
	    proxy_http_version 1.1;
	    proxy_set_header Upgrade $http_upgrade;
    	proxy_set_header Connection $connection_upgrade;
	    proxy_set_header Host $host;
	}
    
    # Studio
	location / {
    	proxy_set_header Host $host;
	    proxy_pass http://supabase;
	    proxy_redirect off;
	    proxy_set_header Upgrade $http_upgrade;
  	}
}

Speichern Sie die Datei, indem Sie Strg + X drücken und geben Sie Y ein wenn Sie dazu aufgefordert werden, sobald Sie fertig sind.

Öffnen Sie die Datei /etc/nginx/nginx.conf zum Bearbeiten.

$ sudo nano /etc/nginx/nginx.conf

Fügen Sie die folgende Zeile vor der Zeile include /etc/nginx/conf.d/*.conf; hinzu .

server_names_hash_bucket_size  64;

Speichern Sie die Datei, indem Sie Strg + X drücken und geben Sie Y ein wenn Sie dazu aufgefordert werden.

Überprüfen Sie die Syntax der Nginx-Konfigurationsdatei.

$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Starten Sie den Nginx-Dienst, um die neue Konfiguration zu aktivieren.

$ sudo systemctl start nginx

Schritt 9 – Zugriff auf Supabase

Sie können nun über die URL https://supabase.example.com auf Supabase zugreifen in Ihrem Webbrowser.

Sie können keine neuen Projekte erstellen, aber Sie können die bestehenden verwalten und die Datenbank, den Speicher und die Authentifizierung konfigurieren.

Schritt 10 – HTTP-Authentifizierung aktivieren

Supabase bietet keine Benutzerverwaltung, daher müssen Sie Ihre Supabase-Installation sichern. Der einfachste Weg, dies zu tun, besteht darin, die HTTP-Authentifizierung über den Nginx-Server zu aktivieren.

Installieren Sie apache2-utils Paket für Nginx.

$ sudo apt install apache2-utils

Erstellen Sie eine Passwortdatei für den Benutzer supabase . Sie können einen beliebigen Benutzernamen wählen. Sie werden nach einem neuen Passwort gefragt. Geben Sie ein starkes Passwort ein, um die Einrichtung der Datei abzuschließen.

$ sudo htpasswd -c /etc/nginx/.htpasswd supabase
New password:
Re-type new password:
Adding password for user supabase

Das -c Flag weist das Dienstprogramm an, eine neue Datei zu erstellen. Wenn Sie die Datei weglassen, müssen Sie den Speicherort einer vorhandenen Datei angeben.

Öffnen Sie die /etc/nginx/conf.d/supabase.conf zum Bearbeiten.

$ sudo nano /etc/nginx/conf.d/supabase.conf

Nehmen Sie die Änderungen in den folgenden Abschnitten der Datei vor, wie unten gezeigt.

# REST API
	location ~ ^/rest/v1/(.*)$ {
	    auth_basic off;
    	proxy_set_header Host $host;
	    proxy_pass http://kong;
	    proxy_redirect off;
  	}

	# Authentication
	location ~ ^/auth/v1/(.*)$ {
	    auth_basic off;
    	proxy_set_header Host $host;
	    proxy_pass http://kong;
	    proxy_redirect off;
  	}

	# Realtime
	location ~ ^/realtime/v1/(.*)$ {
	    auth_basic off;
    	proxy_redirect off;
	    proxy_pass http://kong;
	    proxy_http_version 1.1;
	    proxy_set_header Upgrade $http_upgrade;
    	proxy_set_header Connection $connection_upgrade;
	    proxy_set_header Host $host;
	}
    
    # Studio
	location / {
	    auth_basic “Supabase Studio Login”;
	    auth_basic_user_file /etc/nginx/.htpasswd;
    
    	proxy_set_header Host $host;
	    proxy_pass http://supabase;
	    proxy_redirect off;
	    proxy_set_header Upgrade $http_upgrade;
  	}

Speichern Sie die Datei, indem Sie Strg + X drücken und geben Sie Y ein wenn Sie dazu aufgefordert werden.

Überprüfen Sie die Konfiguration.

$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Starten Sie den Nginx-Dienst neu.

$ sudo systemctl restart nginx

Wenn Sie Supabase das nächste Mal öffnen, werden Sie mit dem folgenden Anmeldebildschirm begrüßt.

Schritt 11 – Supabase aktualisieren

Supabase ist ein ständig in Arbeit befindliches Produkt und unterliegt ständigen Änderungen. Wenn Sie es als selbst gehostete Instanz verwenden, müssen Sie Ihre Supabase-Installation auf dem neuesten Stand halten.

Wechseln Sie in das Supabase-Verzeichnis.

$ cd ~/supabase

Holen Sie sich das neueste Github-Repository.

$ git pull

Suchen Sie nach Änderungen in docker/.env , docker/volumes/api/kong.yml Dateien für alles, was eine Neukonfiguration erfordert.

Fahren Sie die vorhandenen Docker-Container herunter und bereinigen Sie sie.

$ docker-compose down --remove-orphans

Holen Sie sich die neuesten Bilder.

$ docker-compose pull

Starten Sie die Container erneut.

$ docker-compose -f docker-compose.yml -f ./dev/docker-compose.dev.yml up -d

Schlussfolgerung

Damit ist unser Tutorial zur Installation von Supabase auf einem Debian 11-basierten Server mit dem Nginx-Server als Reverse-Proxy abgeschlossen. Wenn Sie Fragen haben, posten Sie diese in den Kommentaren unten.


Debian
  1. So installieren Sie Docker auf Debian 10 Buster

  2. So installieren und verwenden Sie Docker unter Debian 9

  3. So installieren Sie Tomcat 8.5 auf Debian 9

  4. So installieren Sie MongoDB unter Debian 9

  5. So installieren Sie Docker unter Debian / Ubuntu

So installieren Sie Docker unter Debian 10

So installieren Sie Docker in Debian 11 (Bullseye)

So installieren Sie Docker auf Debian 10 Buster

So installieren Sie Go unter Debian 11

So installieren Sie Joomla mit LAMP unter Debian 10

So installieren Sie Docker CE unter Debian 11