Haben Sie eine Idee, wie ich das beheben kann? Ich habe überall danach gesucht, aber keine Lösungen gefunden.
Edit: Ich habe es behoben, indem ich chmod -R 777 ~/discourse ausgeführt habe. Jetzt erhalte ich jedoch diesen Fehler:
gifsicle worker: gifsicle not found; please provide proper binary or disable this worker (--no-gifsicle argument or :gifsicle => false through options)
Wie verwendet man Plugins in einer solchen Einrichtung?
Ich versuche, Install plugins on a self-hosted site zu befolgen, aber dort wird die Datei /var/discourse/containers/app.yml erwähnt, die in meinem discourse-Verzeichnis nicht existiert.
Ich habe eine Discourse-Entwicklungsumgebung erfolgreich aufgebaut und kann meinen Patch testen, aber wie bekomme ich meinen Patch in meine Produktionsinstanz? Ich habe versucht, base zu bauen und dann ./launcher rebuild app --run-image discourse/base:build auszuführen, aber es scheint nicht zu einer laufenden Discourse-Instanz zu führen.
Normalerweise erhalte ich einen Fehler über die fehlende syslog-Gruppe, aber ich habe diesen Kommentar entfernt, und es kam trotzdem keine laufende Website zustande. In den Docker-Logs ist ebenfalls nichts Bemerkenswertes zu finden.
Wir dokumentieren solche Dinge eigentlich nicht, aber Sie würden eine „Diff“-Datei generieren und diese nach dem Klonen des Repositories in einem Hook mit git apply anwenden. app.yml unterstützt Hooks.
Eine schnelle und einfache Lösung für selbst gehostete Einzel-Container-Umgebungen besteht darin, den Code direkt zu bearbeiten und sv restart unicorn auszuführen.
Ich bin mir nicht sicher, ob dies der beste Ort ist, um nach diesem Problem zu fragen, aber ich konnte die Discourse-Installation mit Docker auf einem Apple M1-Computer nicht abschließen.
Nachdem ich d/boot_dev --init ausgeführt habe, werden alle Abhängigkeiten ohne ersichtliche Probleme installiert. Sobald ich jedoch den Schritt „Migrating database
Falls jemand Discourse mit Docker auf einem M1-Mac ausführen kann, lass es mich bitte wissen. In der Zwischenzeit werde ich versuchen, die andere Anleitung zu befolgen! Danke!
Ich habe es heute kurz versucht und bin an derselben Stelle wie du hängen geblieben, allerdings mit einem Fehler:
Invalid gemspec in [/usr/local/lib/ruby/gems/2.7.0/specifications/default/zlib-1.1.0.gemspec]: Malformed version number string specification_version
bundler: failed to load command: rake (/usr/local/bin/rake)
Ja, bitte tu das. Es gibt mehrere Teammitglieder, die täglich Discourse auf M1 verwenden (ich eingeschlossen), also funktioniert es ziemlich gut!
Hallo, ich denke, wir sollten hier eine Beschreibung für Ember-CLI hinzufügen und eine Abkürzung für den folgenden Befehl erstellen, ohne dass man in den Docker-Container eintauchen muss.
Außerdem bekomme ich es nicht hin, die oben genannten Befehle im Container auszuführen; es scheint, als ob der Container den Port 4200 nicht freigegeben hat.
Manuelles Freigeben von Port 4200 durch Bearbeiten von d/boot_dev:
Ich habe es heute ebenfalls versucht und bin dabei auf Probleme gestoßen. Der Fehler trat auf, weil die Architektur-Emulation von Docker inotify nicht unterstützt (was wir in der Discourse-Entwicklung häufig verwenden). Derzeit habe ich eine Warnung in d/boot_dev hinzugefügt, die ausgegeben wird, wenn eine nicht-x86_64-Architektur erkannt wird:
❯ d/boot_dev
WARNUNG: Die Docker-Architektur ist nicht x86_64.
Die Discourse-Entwicklung wird unter der Architektur-Emulation von Docker wahrscheinlich nicht funktionieren.
Bitte versuchen Sie eine native Entwicklungsumgebung.
Ich habe nun einen d/ember-cli-Helper hinzugefügt und standardmäßig den Port 4200 weitergeleitet. Die Informationen oben in diesem Thema wurden ebenfalls aktualisiert. Nach dem Update führen Sie in einem Terminal d/rails s und in einem anderen d/ember-cli aus. Außerdem habe ich NO_EMBER_CLI als eine der Variablen festgelegt, die an Docker übergeben werden, sodass sie bei Bedarf verfügbar ist.
@david Wahrscheinlich unbedeutend, aber nur zur Info: Das boot_dev-Skript gibt einen falschen Fehler bei der x86_64-Prüfung aus, wenn ich es versehentlich ohne Docker ausgeführt habe (aber der Teil „Ist der Docker-Daemon aktiv?
Danke für dieses Bild und die superklaren Anweisungen!
Beim Ausführen von d/boot_dev --init erhielt ich die Fehlermeldung psql: error: FATAL: Peer authentication failed for user "postgres".
Obwohl in der pg_hba.conf unter data/postgres/ alle Authentifizierungsmethoden auf “trust” eingestellt waren, gab es eine weitere unter /etc/postgresql/13/main/, die die Standardeinstellungen (“peer” / “md5”) enthielt.
Ich habe /etc/postgresql/13/main/pg_hba.conf bearbeitet, alle Methoden auf trust geändert, d/shell ausgeführt und sv restart postgres gestartet, um die Änderungen zu übernehmen. Anschließend konnte ich fortfahren, indem ich d/bundle install; d/rake db:migrate RAILS_ENV=development; d/rake admin:create manuell ausführte.
Ich hinterlasse dies hier, falls es für andere hilfreich sein sollte!