Gå til indhold

Trin 1 af 8 · Docker

Installationsscriptet lægger appliancen i en container på jeres Linux-server og installerer en lille host-controller ved siden af. Appliancen svarer på port 8443. Serverens styresystem og Docker holder I selv opdateret.

  • En Linux-server med 4 GB RAM og 20 GB fri disk.
  • Docker 24.0 eller nyere med Docker Compose v2, og Python 3. Mangler Docker, tilbyder scriptet at installere det.
  • root eller en bruger med sudo.
  1. Log ind på serveren som den bruger, der skal eje installationen.

  2. Kør scriptet:

    Terminal window
    bash <(curl -fsSL https://sslbrain.com/install.sh)
  3. Svar på spørgsmålene. Standardsvaret er ja. Tilføjer scriptet jeres bruger til gruppen docker, stopper det bagefter: log ud og ind igen, og kør scriptet igen.

  4. Vent, mens scriptet henter appliancen, kontrollerer signaturen og starter den. Det tager op til 5 minutter.

  5. Scriptet slutter med adressen:

    sslbrain is running.
    Open https://<host-ip>:8443/setup in your browser to continue.

Scriptet tager ingen kode eller licens. Appliancen licenseres fra sin egen webflade.

  1. Åbn https://<appliance-adresse>:8443/setup i en browser.

  2. Browseren advarer om certifikatet, fordi appliancen har lavet et selvsigneret certifikat. Fortsæt til siden.

  3. Opsætningsguiden starter med Log ind med sslbrain Cloud.

Alle adresser til appliancen skal have porten med, fx https://sslbrain.example.com:8443. Fortsæt med 2. Første opsætning.

  • Scriptet stopper med kode 2: der mangler noget på serveren. Installér det, scriptet nævner, og kør det igen.
  • Scriptet stopper med kode 4: appliancen svarede ikke inden for 5 minutter. Læs appliancens log med docker logs sslbrain og host-controllerens log i data/control/controller.log.
  • Browseren kan ikke åbne appliancen: docker ps skal vise containeren sslbrain med status healthy. Browsere og service-agenter skal kunne nå serveren på port 8443.
  • Containeren genstarter hele tiden med “Permission denied” på /data: mappen data ejes ikke af bruger 1000. Kør sudo chown -R 1000:1000 ~/sslbrain/data.
  • Appliancen kan ikke nå sslbrain Cloud: serveren skal kunne nå cloud.sslbrain.com, acme.sslbrain.com og registry.sslbrain.com på port 443. Se Netværk og firewall og Ingen forbindelse til sslbrain Cloud.

Alt, hvad appliancen gemmer, ligger i mappen data i installationsmappen, som standard ~/sslbrain/data. Containeren ser den som /data. Her ligger databasen, vault’en, appliancens nøgler og de backups, I tager i webfladen.

  • Mappen skal ejes af bruger og gruppe 1000. Scriptet sætter det selv.
  • Slet eller flyt aldrig mappen, mens appliancen kører.
  • Hent backups ud af serveren. Se Gem en backup.
  • Host-controllerens log ligger i ~/sslbrain/data/control/controller.log.

Skriv proxyens adresse eller netværk i TRUSTED_PROXIES i docker-compose.yml, fx TRUSTED_PROXIES=10.0.0.5,192.168.50.0/24. Opret derefter containeren igen med docker compose up -d. Uden linjen stoler appliancen ikke på proxyens X-Forwarded-For. Kører proxyen på samme server, kommer den fra Docker-netværkets gateway (docker network inspect), ikke fra 127.0.0.1.

  • docker-compose.yml og to offentlige nøgler til signaturkontrol i installationsmappen, som standard ~/sslbrain.
  • Host-controlleren /usr/local/bin/sslbrain-controller. Den udfører de opdateringer, genstarter og gendannelser, I starter fra webfladen, og starter appliancen igen, hvis den stopper.
  • Cron-posten * * * * * /usr/local/bin/sslbrain-controller, som kører host-controlleren hvert minut.
  • sslbrain-shutdown.service, hvis serveren bruger systemd. Den stopper appliancen pænt, når serveren lukker ned.
ValgMiljøvariabelHvad det gør
--deploy-dir <sti>DEPLOY_DIRInstallationsmappe. Standard ~/sslbrain.
--yes eller -yASSUME_YES=1Svarer ja til alle spørgsmål, fx til automatisk installation.
--skip-cronSKIP_CRON=1Opretter ingen cron-post. Scriptet skriver, hvordan controlleren køres i stedet.
DECLINE_DOCKER_INSTALL=1Installerer ikke Docker, hvis det mangler.
--helpViser valgene.
KodeBetydning
0Installationen er gennemført.
1Et nødvendigt trin blev afvist, eller et valg var ugyldigt.
2Noget mangler på serveren, fx Docker, Compose v2 eller Python 3.
3Signaturen på appliancens image kunne ikke godkendes. Appliancen er ikke startet.
4Appliancen svarede ikke inden for 5 minutter.

Download og krav i sslbrain Cloud har en compose-fil, docker-compose.yml. Den starter appliancen på port 443 med data i Docker-volumet sslbrain-data. Den installerer ikke host-controlleren.