Einfaches Webanwendungs-Management mit Caprover

Bei Caprover, das früher unter dem Namen CaptainDuckDuck bekannt war (IMHO war der alte Name um Klassen besser) handelt es sich um eine Web-Oberfläche zum Verwalten von Webanwendungen. Die Anwendungen werden dabei in Docker-Container gestartet. Dem Anwender werden viele Verwaltungsaufgaben abgenommen. Caprover wirbt mit dem Slogan "Build your own PaaS in a few minutes!" und tatsächlich ist es sehr einfach möglich Webanwendungen mit Caprover zu veröffentlichen. Caprover läuft selbst in einem Docker-Container was die Installation einfach macht. Für Digitalocean existiert ein fertiges Droplet wodurch für die Installation nur wenige Klicks benötigt. Die Installation ist aber auch bei anderen Providern nicht schwierig. Die einzige Anforderung ist ein installiertes Docker. Bei den meisten Server-Anbietern kann bereits eine vorgefertigtes Docker-VM-Image gestartet werden. Danach ist die Installation mit einem Befehl erledigt:

docker run -p 80:80 -p 443:443 -p 3000:3000 -v /var/run/docker.sock:/var/run/docker.sock -v /captain:/captain caprover/caprover

Ein einfacher VServer ist vollkommen ausreichend für mehrere Node.js Anwendungen sowie eine Datenbank. Bei einem VServer ist meist der Arbeitsspeicher das begrenzende Element. Das beste an Caprover ist das einfache Deployment von Webanwendungen. Vor dem ersten Deployment muss nur eine Appname über das Webinterface von Caprover gewählt werden. Die App wird dann automatisch unter einer Subdomain mit dem entsprechenden Namen gestartet. Natürlich kann die zu nutzende Domain auch manuell geändert werden. Caprover kümmert sich dabei falls gewünscht auch um das entsprechende SSL-Zertifikat von Let's encrypt. Alle Webanwendungen laufen hinter einem Nginx-Webserver der auch für das HTTPS zuständig ist. Komplexere Konfigurationen können im Webinterface über die Nginx-Config vorgenommen werden.

Webanwendungen die in NodeJS, Python, PHP, ASP.NET oder Ruby geschrieben können ohne Dockerfile über eine captain-definition-Datei deployed werden. Über die captain-definition wird dabei konfiguriert welche Runtime von der Anwendung benötigt wird, falls notwendig kann auch eine Dockerfile verwendet werden.

Von einem Development-Rechner kann über den Konsolenbefehl:

caprover deploy 

direkt deployed werden, alternativ ist das auch über das Webinterface mittels eines TAR-Archives möglich. Über sogenannte One-Click Apps können gängige Webanwendungen in wenigen Klicks deployed werden.

Hier einige Beispiele:

Datenbanken und Datenbank GUIs

  • MongoDB
  • MongoExpress
  • MsSQL
  • MySQL
  • Redis
  • PhpMyAdmin
  • PostgreSQL
  • Adminer
  • Apache CouchDB
  • Gitea
  • ElasticSearch
  • ...

Blogging und Content

  • WordPress
  • Ghost
  • Prisma 1
  • Strapi
  • Minio
  • ...

Dev Tools

  • Jenkins
  • Drone.io
  • Hasura
  • Nexus3
  • ...

Andere Apps

  • Parse
  • NextCloud
  • Rainloop
  • Thumbor
  • ...