
Anleitungen im Zusammenhang mit Local Beach
Wie du Local Beach für die Docker-basierte Neos Entwicklung auf deinem Computer einrichtest
In diesem Leitfaden wird erklärt, wie du eine lokale Docker-basierte Entwicklungsumgebung für ein beliebiges Flow- oder Neos -Projekt zum Laufen bringen kannst.
Übersicht
"Local Beach" ist eine Entwicklungsumgebung, die es einfach macht, die Beach Docker-Images (Nginx, PHP, Redis) als lokale Entwicklungsumgebung für jedes Neos oder Flow-Projekt zu nutzen. Du brauchst kein Beach Konto und musst auch kein Flownative Kunde sein, um Local Beach zu nutzen. Und klar, Local Beach ist kostenlos (wie Freibier oder Gratiskaffee).
Hinweis: Wir würden uns über dein Feedback freuen! Wie hat es bei dir geklappt? Ist irgendetwas schief gelaufen? Hast du eine Frage oder eine Idee für zusätzliche Funktionen? Schreib uns einfach eine E-Mail an team@flownative.com oder nutze den Chat auf unserer Website.
Systemvoraussetzungen
Möglicherweise kannst du Local Beach auch in anderen Umgebungen nutzen, aber diese Anleitung geht davon aus, dass du die folgende Software installiert hast:
- Ein Computer mit macOS oder Linux
- Docker Desktop, OrbStack oder ein anderes Docker (und Docker Compose) Setup
- Homebrew
Vergewissere dich, dass du keinen anderen Webserver auf Port 80 oder eine Datenbank auf Port 3307 laufen hast (das ist ein Nicht-Standard-Port).
Installation der lokalen Beach CLI
Installiere Beach CLI, indem du die folgenden Befehle (mit Homebrew) ausführst:
$ brew tap flownative/flownative
$ brew install localbeach
$ beach version
Tipp: Aktualisiere dein lokalesbeach regelmäßig, denn wir führen regelmäßig Bugfixes und neue Funktionen ein. Du kannst dies tun, indem du ausführst:
$ brew upgrade localbeach
Verwendung von Local Beach für die Entwicklung
Local Beach bietet einen Reverse Proxy und einen Datenbankserver (der in Docker läuft) für alle deine lokalen Projekte. Diese werden von allen Projekten gemeinsam genutzt.
Dann wird für jedes Projekt, das du lokal entwickelst, eine Reihe von Docker-Containern ausgeführt. Sie nutzen dieselben PHP-, Nginx- und Redis-Images, die wir für das Hosting deines Beach Projekts in der Cloud verwenden. Die Einrichtung von Local Beach für ein bestehendes Neos oder Flow Projekt besteht aus folgenden Schritten:
- erstelle das Projekt und installiere die Pakete mit dem Composer (z.B. durch Ausführen von composer install)
- initialisiere ein Local Beach Setup für dein Projekt
- starte die Container
- vorhandene Inhalte importieren
Der erste Schritt hängt davon ab, wie du normalerweise arbeitest. Erstelle ein Projekt von Grund auf oder klone ein bestehendes Repository, Hauptsache, es ist ein Composer-basiertes : Es muss ein Composer-basiertes Neos oder Flow-Projekt sein. Führe dann die Composer-Installation aus, bevor du fortfährst. Wenn du keine PHP- und/oder Composer-Binärdateien auf deinem Rechner hast oder die PHP-Version, die du hast, nicht mit der PHP-Version übereinstimmt, die du mit Local Beach verwenden (willst), dann sieh dir How to work with Composer in Local Beach an.
Projekt initialisieren
Wechsle in einem Terminalfenster in das Hauptverzeichnis deines Neos oder Flow-Projekts und initialisiere die Konfiguration von Local Beach. Beachte, dass der Projektname auf deinem lokalen Computer eindeutig sein muss und mit dem DNS kompatibel sein muss: Verwende nur Buchstaben (a-z), Zahlen (0-9) und Bindestriche (-).
$ cd ~/MyProjects/www.neos.io/
$ beach init --project-name wwwneosio
Wenn du nur die Fehlermeldung erhältst, dass du die Flow- oder Neos -Installation nicht in deinem aktuellen Pfad finden konntest, hast du noch nicht composer install ausgeführt, um dein Projekt einzurichten. Tu das und versuche es erneut.
Du kannst die erzeugte .localbeach.dist.env-Datei bearbeiten und angeben, welche PHP-Version du verwenden möchtest oder zusätzliche Hostnamen für Projekte mit mehreren Standorten einrichten.
Die beiden erzeugten Dateien (.localbeach.dist.env und .localbeach.docker-compose.yaml) können in die Versionskontrolle eingecheckt werden. Wenn du Umgebungsvariablen für jeden einzelnen Rechner benötigst, kannst du diese in einer .localbeach.env oder .env Datei für jeden einzelnen Entwickler festlegen.
Container starten
Du kannst die Container nun mit starten und die Log-Ausgaben der Container verfolgen, um zu sehen, wann sie bereit sind. Der PHP-Container wird die Dateien deines Projekts in den Container kopieren. Das kann einen Moment dauern, also mach dir keine Sorgen, wenn du die Fehlermeldung"Connection closed by remote host" erhältst, wenn du versuchst, dich mit SSH zu verbinden. Wenn du die Log-Ausgabe des PHP-Containers verfolgst, siehst du die Meldung "ready to handle connections", wenn der Container bereit ist.
$ beach start
INFO You are all set
INFO When files have been synced, you can access this instance at http://wwwneosio.localbeach.net
Versuche, über einen Browser mit der URL Local Beach auf dein Projekt zuzugreifen (http://wwwneosio.localbeach.net im obigen Beispiel). Wenn es sich bei deinem Projekt um eine Neos Website handelt, wird wahrscheinlich noch kein Inhalt zu sehen sein, vielleicht siehst du sogar einen Neos Datenbankfehler. Das ist in Ordnung - importieren wir einfach den Inhalt in den nächsten Schritten.
Du kannst auf das Projekt Local Beach zugreifen, um ./flow-Befehle auszuführen, zum Beispiel um den Cache zu leeren:
$ beach exec
Flownative Local Beach
wwwneosio
beach@714cab3ae9cd:/application$ ./flow
Neos dev ("Development/Beach/Instance" context)
usage: ./flow <command identifier>
See "./flow help" for a list of all available commands.
Vorhandene Inhalte importieren
- du kannst mit einem Tool deiner Wahl über 127.0.0.1 auf Port 3307 mit dem Benutzer"root" und dem Passwort "password" auf deine Datenbank zugreifen
- das Verzeichnis Data/Persistent auf deinem lokalen Rechner wird automatisch mit dem Verzeichnis in deinem Container verbunden; kopiere also einfach alle Daten in dieses Verzeichnis
- du kannst deine persistenten Daten auch von einer Beach Instanz importieren, indem du beach resource-download --instance <Deine-Instanz-Id> --namespace <Dein-Namensraum> verwendest
An dem Code arbeiten
Da das Stammverzeichnis deines Projekts innerhalb des Containers gemountet ist (unter /application), kannst du mit deinem Lieblingseditor oder deiner Lieblings-IDE am Code auf deinem Host arbeiten. Du musst nicht synchronisieren oder einen Kopier-Workflow im Container einrichten.
Nach Code-Änderungen werden diese von Flow & Neos wie erwartet übernommen - es sei denn, du hast den Standard-Basiskontext von Entwicklung auf Produktion geändert.
Stoppen deiner lokalen Beach Instanz
Wenn du viele Projekte gleichzeitig laufen hast, kann dein Computer etwas langsam werden. Stoppe einfach die Projekte, die du im Moment nicht brauchst, indem du diesen Befehl verwendest:
$ beach stop
Wenn du alle laufenden Instanzen sowie die gemeinsame Datenbank und den nginx-Container stoppen möchtest, kannst du
$ beach down
Weitere Befehle
Es gibt noch mehr Befehle, die in diesem Dokument nicht erwähnt werden. Du kannst sie mit Hilfe der integrierten Hilfe erkunden. Lies unbedingt den Hilfetext, damit du weißt, was dich erwartet, wenn du einen Befehl ausführst!
$ beach
beach is the tool for managing projects in Beach and Local Beach.
Usage:
beach [command]
Available Commands:
down Stop instances, reverse proxy and database server and remove containers
exec Execute a command in or enter a Local Beach container
help Help about any command
init initialize a Local Beach instance in the current directory
logs Display logs of the Local Beach instance container
pause Temporarily stop the reverse proxy and database server
resource-download Download resources (assets) from a local Flow or Neos installation to Beach
resource-upload Upload resources (assets) from a local Flow or Neos installation to Beach
restart restart the Local Beach instance in the current directory
resume Resume the temporarily paused reverse proxy and database server
setup Setup Local Beach on this computer
setup-https Setup HTTPS for Local Beach projects
start Start the Local Beach instance in the current directory
status Display the status of the Local Beach instance containers
stop Stop the Local Beach instance in the current directory
version Print the version number of Beach
Flags:
-h, --help help for beach
Use "beach [command] --help" for more information about a command.
$ beach help logs
This command allows you to either display the content of log files
found in Data/Logs/* (default) or show the console output of the
Docker containers (--containers).
Usage:
beach logs [flags]
Flags:
-c, --containers Show log of container console output
-f, --follow Follow log output
-h, --help help for logs
-t, --tail int Number of lines to show from the end of the logs (default 10)
Weitere Fragen
F: Kann ich mehrere subdomains pro Instanz verwenden?
Ja, du kannst zusätzliche virtuelle Hostnamen hinzufügen oder den bestehenden Namen umbenennen, um zum Beispiel ein Projekt mit mehreren Standorten Neos zu entwickeln. Ändere einfach die Umgebungsvariable BEACH_VIRTUAL_HOSTS in eine kommagetrennte Liste von domain Namen und füge diese zu deiner .localbeach.dist.env hinzu.
Wir hoffen, dass dir Local Beach gefällt und dir die Arbeit an Neos und Flow-Projekten noch mehr Freude bereitet.
Dein Flownative Team