Zum Beispiel hängt sich beim Herunterladen von acme.sh aufgrund von Netzwerkproblemen immer wieder auf. Optimierungsvorschläge:
- Das Skript vorab integrieren (auch wenn es nicht die neueste Version ist, ist das in Ordnung)
- Den gesamten Build-Prozess nicht unterbrechen und stattdessen einen einfachen Befehl bereitstellen, der es ermöglicht, das Skript von außerhalb des Containers nachträglich einzufügen, um das Problem nach dem Build zu beheben.
Hallo, helfen die hier genannten Vorschläge?
Ja, das ist sehr hilfreich. Vielen Dank.
Es wäre noch besser, wenn eine Variable DISCOURSE_ACME_DOWNLOAD_URL hinzugefügt würde, damit man sie in app.yml überschreiben kann, ohne Angst vor Konflikten durch git pull haben zu müssen.
env:
DISCOURSE_FORCE_HTTPS: true
# DISCOURSE_ACME_DOWNLOAD_URL hinzufügen
DISCOURSE_ACME_DOWNLOAD_URL: https://raw.githubusercontent.com/acmesh-official/acme.sh/3.0.6/acme.sh
run:
- exec:
cmd:
- curl "$DISCOURSE_ACME_DOWNLOAD_URL" > /opt/acme.sh
- chmod +x /opt/acme.sh
- file:
path: "/usr/local/bin/configure-letsencrypt"
chmod: "+x"
contents: |
#!/bin/bash
touch /var/spool/cron/crontabs/root
LETSENCRYPT_DIR="/shared/letsencrypt"
install -d -m 0755 -g root -o root $LETSENCRYPT_DIR
cd /opt