Apache Answer mit einem Klick auf Pethost deployen
Fragen und Antworten für eine Community, ein Help Center oder ein Team, ein eigenes Stack Overflow
Was passiert
- Du meldest dich bei Pethost an oder legst ein Konto an, mit Passkey, GitHub oder Google.
- Noch keine Maschine? Du wählst einen Tarif, und wir bereiten eine für dich vor. Der Link wartet in deinem Browser, bis sie bereit ist.
- „Neues Projekt“ öffnet sich bei der App. Du füllst aus, was sie braucht, und klickst auf „Projekt erstellen“: E-Mail, Admin-Passwort.
- In ein, zwei Minuten läuft die App unter eigener Adresse mit HTTPS. Ihre Secrets werden zufällig für sie erzeugt, und ihre Daten sind im nächtlichen Backup.
- Sie ist ein Projekt wie jedes andere: compose.yaml, .env, Logs und ein Terminal findest du im Panel, und dein Agent kann sie ändern, zurückrollen oder wiederherstellen.
Erste Schritte
Melde dich mit der angegebenen E-Mail und dem Admin-Passwort an (8 bis 32 Zeichen); der Benutzername des Admins ist admin. Registrierungen werden per E-Mail bestätigt: Trag unter Admin → Settings → SMTP einen SMTP-Server ein, bevor du Leute einlädst.
Was läuft
Die Vorlage ist diese compose.yaml und die Variablen, die sie in die .env des Projekts schreibt. Pethost führt die Datei so aus, wie sie geschrieben ist.
services:
answer:
image: apache/answer:2.0.3
restart: unless-stopped
# Installed from these on the first start, with SQLite in /data: the admin is made from the
# fields, so the install page is never open to a visitor. A password Answer would refuse stops
# the start instead, since a refused one leaves that page open.
entrypoint:
- bash
- -c
- |
if [ $${#ADMIN_PASSWORD} -lt 8 ] || [ $${#ADMIN_PASSWORD} -gt 32 ]; then
echo "The admin password must be 8 to 32 characters." >&2
exit 1
fi
exec /entrypoint.sh
environment:
AUTO_INSTALL: "true"
DB_TYPE: sqlite3
DB_FILE: /data/answer.db
LANGUAGE: en-US
SITE_NAME: Apache Answer
SITE_URL: ${URL}
CONTACT_EMAIL: ${ADMIN_EMAIL}
ADMIN_NAME: admin
ADMIN_EMAIL: ${ADMIN_EMAIL}
ADMIN_PASSWORD: ${ADMIN_PASSWORD}
EXTERNAL_CONTENT_DISPLAY: ask_before_display
volumes:
- data:/data
volumes:
data: