Zum Hauptinhalt springen
Zurück zur Kategorie

Coolify Installation: Anwendungs-Deployment mit Self-Hosted PaaS

Coolify-Installation, Docker- und Git-Integration, Anwendungs-Deployment, Datenbankverwaltung, SSL-Zertifikate, Umgebungsvariablen und Self-Hosted PaaS als Alternative zu Heroku/Netlify.

Lesezeit: 15 Min Self-Hosting
coolifypaasself-hostingdeploymentdockergitssl

Inhaltsverzeichnis

Coolify Installation: Anwendungs-Deployment mit Self-Hosted PaaS

Coolify ist eine Open-Source, Self-Hosted Alternative zu Cloud-Plattformen wie Heroku, Netlify und Vercel. Mit Coolify auf Ihrem eigenen Server können Sie Anwendungen, Datenbanken und Dienste einfach verwalten. Diese Docker-basierte Plattform unterstützt automatisches Deployment, wenn Sie Code über Git-Integration pushen.

Was ist Coolify?

Coolify ist eine moderne PaaS-Lösung, mit der Sie mehrere Server und Anwendungen über eine einzige Oberfläche verwalten können. Hauptmerkmale:

  • Automatisches SSL: Kostenlose SSL-Zertifikate über Let's Encrypt
  • Git-Integration: GitHub, GitLab, Bitbucket-Unterstützung
  • Multi-Server: Mehrere Server über ein Panel verwalten
  • Datenbankdienste: PostgreSQL, MySQL, Redis, MongoDB
  • Docker Compose: Bestehende Compose-Dateien direkt deployen
  • Webhooks: Automatische Deployment-Trigger

Systemanforderungen

  • Ubuntu 20.04/22.04 oder Debian 11/12
  • Mindestens 2 GB RAM (4 GB empfohlen)
  • Mindestens 30 GB Festplattenspeicher
  • Docker sollte NICHT installiert sein (Coolify installiert sein eigenes Docker)

Installation

Die Coolify-Installation erfolgt mit einem einzigen curl-Befehl:

hljs bash
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash

Das Installationsskript führt automatisch folgende Schritte durch:

  • Installation von Docker und Docker Compose
  • Download und Start der Coolify-Container
  • Konfiguration der erforderlichen Netzwerke und Volumes
  • Firewall-Regeln (Port 8000)

Nach der Installation über den Browser zugreifen:

http://SERVER_IP:8000

Bei der Ersteinrichtung werden Sie aufgefordert, ein Admin-Konto zu erstellen. Legen Sie ein starkes Passwort fest.

Erstkonfiguration

Admin-Konto erstellen

Beim ersten Login E-Mail und Passwort festlegen. Diese Anmeldedaten werden in der Coolify-Datenbank gespeichert.

Server hinzufügen

Coolify fügt den Server, auf dem es installiert ist (localhost), automatisch hinzu. Um weitere Server hinzuzufügen:

  1. ServersAdd Server
  2. SSH-Verbindungsdetails eingeben (IP, Port, Benutzername)
  3. SSH Private Key hinzufügen
  4. Verbindung mit Validate & Save testen
hljs bash
# SSH-Key für Coolify-Verbindung zu Remote-Servern erstellen
ssh-keygen -t ed25519 -C "coolify@myserver"
# Public Key zum Remote-Server hinzufügen
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@remote-server

Git-Quellen hinzufügen

GitHub-Integration

  1. SourcesAdd SourceGitHub App
  2. OAuth App oder GitHub App auf GitHub erstellen
  3. Client ID und Client Secret eingeben
  4. Callback URL: http://SERVER_IP:8000/auth/github

GitLab-Integration

hljs bash
# Personal Access Token auf GitLab erstellen
# Erforderliche Scopes: api, read_user, read_repository
  1. SourcesAdd SourceGitLab
  2. GitLab URL und Access Token eingeben
  3. Verbindung testen

Anwendungen deployen

Neues Projekt erstellen

  1. ProjectsNew Project
  2. Projektname und Beschreibung eingeben
  3. Environment auswählen (production, staging usw.)

Anwendung hinzufügen

  1. Im Projekt New ResourceApplication
  2. Git-Quelle auswählen
  3. Repository und Branch auswählen
  4. Build Pack auswählen:
    • Nixpacks: Automatische Erkennung (Node.js, Python, PHP, Ruby usw.)
    • Dockerfile: Eigenes Dockerfile verwenden
    • Docker Compose: compose.yml-Datei
    • Static: Statisches HTML/CSS/JS
hljs yaml
# Beispiel: Dockerfile für eine Node.js-Anwendung
FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
EXPOSE 3000
CMD ["node", "server.js"]

Umgebungsvariablen

Gehen Sie zum Tab Environment Variables in den Anwendungseinstellungen:

hljs bash
# Beispiel-Umgebungsvariablen
NODE_ENV=production
DATABASE_URL=postgresql://user:pass@db:5432/myapp
REDIS_URL=redis://redis:6379
SECRET_KEY=ihr-geheimer-schluessel
PORT=3000

Fügen Sie sensible Informationen (API-Keys, Passwörter) als Umgebungsvariablen hinzu. Schreiben Sie sie niemals in den Quellcode.

Domain- und SSL-Konfiguration

  1. Tab Domains in den Anwendungseinstellungen
  2. Domain-Namen eingeben: app.example.com
  3. SSL-Option aktivieren (Let's Encrypt automatisch)
  4. DNS A-Record erstellen: app.example.com → SERVER_IP
hljs bash
# DNS-Record überprüfen
nslookup app.example.com
dig app.example.com A

Datenbankdienste

PostgreSQL einrichten

  1. New ResourceDatabasePostgreSQL
  2. Version auswählen (14, 15, 16)
  3. Benutzername und Passwort festlegen
  4. Auf Deploy klicken
hljs bash
# Coolify PostgreSQL-Verbindungsdetails
# Interne URL (für Apps auf demselben Server):
postgresql://coolify:passwort@postgres:5432/mydb

# Externe URL (für externen Zugriff):
postgresql://coolify:passwort@SERVER_IP:PORT/mydb

Redis einrichten

hljs bash
# New Resource → Database → Redis
# Version: 7.x
# Interne Verbindung:
redis://default:passwort@redis:6379

Datenbank-Backups

Coolify bietet automatische Backup-Funktionalität:

  1. Tab Backups in den Datenbankeinstellungen
  2. Backup-Häufigkeit festlegen (täglich, wöchentlich)
  3. S3-kompatiblen Speicher hinzufügen (AWS S3, MinIO, Cloudflare R2)
hljs bash
# Manuelles Backup
coolify backup create --database postgres-id

# Backups auflisten
coolify backup list

Mit Docker Compose deployen

Sie können bestehende docker-compose.yml-Dateien direkt in Coolify importieren:

hljs yaml
# docker-compose.yml Beispiel
version: '3.8'
services:
  app:
    image: myapp:latest
    environment:
      - NODE_ENV=production
      - DATABASE_URL=${DATABASE_URL}
    ports:
      - "3000:3000"
    depends_on:
      - db
  db:
    image: postgres:16
    environment:
      POSTGRES_DB: myapp
      POSTGRES_USER: ${DB_USER}
      POSTGRES_PASSWORD: ${DB_PASSWORD}
    volumes:
      - postgres_data:/var/lib/postgresql/data
volumes:
  postgres_data:

Automatisches Deployment (Webhook)

Webhooks für automatisches Deployment nach Git-Push einrichten:

  1. Tab Webhooks in den Anwendungseinstellungen
  2. Webhook-URL kopieren
  3. Zu GitHub/GitLab-Repository-Einstellungen hinzufügen:
hljs bash
# GitHub Webhook-Einstellungen:
# Payload URL: https://coolify.example.com/webhooks/github
# Content type: application/json
# Secret: Von Coolify kopiertes Secret
# Events: Push events

Coolify aktualisieren

hljs bash
# Coolify auf die neueste Version aktualisieren
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash

# Oder über die Web-Oberfläche:
# Settings → Updates → Update Coolify

Fehlerbehebung

hljs bash
# Coolify-Logs anzeigen
docker logs coolify

# Alle Coolify-Container auflisten
docker ps | grep coolify

# Coolify neu starten
docker restart coolify

# Proxy (Traefik) Logs
docker logs coolify-proxy

Coolify funktioniert hervorragend auf REXE VPS-Servern. Mit 4 GB RAM und 2 vCPU können Sie kleine bis mittelgroße Projekte problemlos verwalten.