Coolify Installation: Anwendungs-Deployment mit Self-Hosted PaaS
Coolify-Installation: Docker- und Git-Integration, Deployment, Datenbanken, SSL und Umgebungsvariablen als selbst gehostete Heroku/Netlify-Alternative.
Immich mit Docker installieren: automatisches Foto- und Video-Backup, Gesichtserkennung, geteilte Alben und mobile App als Google-Fotos-Alternative.
Immich ist eine self-hosted Foto- und Video-Backup-Plattform als Open-Source-Alternative zu Google Photos. Es bietet moderne Funktionen wie automatisches Backup über mobile Apps, Gesichtserkennung, Kartenansicht und geteilte Alben.
Immich ermöglicht es Ihnen, Ihre Foto- und Videosammlung auf Ihrem eigenen Server zu hosten:
version: '3.8'
services:
immich-server:
container_name: immich_server
image: ghcr.io/immich-app/immich-server:release
volumes:
- ${UPLOAD_LOCATION}:/usr/src/app/upload
- /etc/localtime:/etc/localtime:ro
env_file:
- .env
ports:
- "2283:2283"
depends_on:
- redis
- database
restart: always
immich-machine-learning:
container_name: immich_machine_learning
image: ghcr.io/immich-app/immich-machine-learning:release
volumes:
- model-cache:/cache
env_file:
- .env
restart: always
redis:
container_name: immich_redis
image: redis:6.2-alpine
restart: always
database:
container_name: immich_postgres
image: tensorchord/pgvecto-rs:pg14-v0.2.0
environment:
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_DB: ${DB_DATABASE_NAME}
volumes:
- pgdata:/var/lib/postgresql/data
restart: always
volumes:
pgdata:
model-cache:
UPLOAD_LOCATION=/data/immich/upload
DB_PASSWORD=StarkesPasswort123!
DB_USERNAME=postgres
DB_DATABASE_NAME=immich
mkdir -p /data/immich/upload
docker compose up -d
docker logs immich_server -f
Zugriff auf die Immich-Weboberfläche unter http://SERVER_IP:2283. Beim ersten Login müssen Sie ein Admin-Konto erstellen.
server {
listen 443 ssl http2;
server_name photos.example.com;
ssl_certificate /etc/letsencrypt/live/photos.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/photos.example.com/privkey.pem;
client_max_body_size 50000M;
location / {
proxy_pass http://127.0.0.1:2283;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 600s;
}
}
https://photos.example.comservices:
immich-server:
volumes:
- ${UPLOAD_LOCATION}:/usr/src/app/upload
- /mnt/photos:/mnt/photos:ro
# Datenbank-Backup
docker exec immich_postgres pg_dumpall -U postgres | \
gzip > /backups/immich-db-$(date +%Y%m%d).sql.gz
# Upload-Verzeichnis sichern
rsync -avz /data/immich/upload/ /backups/immich-upload/
docker exec immich_postgres pg_dumpall -U postgres > immich-backup.sql
docker compose pull
docker compose up -d
Immich befindet sich noch in aktiver Entwicklung. Große Versionsupdates können Breaking Changes enthalten. Sichern Sie immer die Datenbank vor dem Update und lesen Sie die Release Notes.
Immich ist eine leistungsstarke self-hosted Alternative zu Google Photos. Mit 8 GB RAM auf REXE-Servern können Sie Tausende von Fotos nahtlos verwalten.
Der Speicherbedarf hängt vollständig von Ihrer Foto-/Videosammlung ab. Immich speichert Originaldateien und erstellt zusätzliche Thumbnails (~10-15% zusätzlicher Speicher). Für 10.000 Fotos rechnen Sie mit etwa 50-100 GB; bei Videosammlungen deutlich mehr. ML-Model-Cache benötigt zusätzlich ~2 GB.
Prüfen Sie: 1) Server-URL ist korrekt (einschließlich https://), 2) Port 2283 ist in der Firewall geöffnet, 3) Bei Nginx Reverse Proxy ist WebSocket-Unterstützung aktiviert, 4) SSL-Zertifikat ist gültig (selbstsignierte Zertifikate können auf Mobilgeräten Probleme verursachen).
Prüfen Sie, ob der ML-Container läuft (docker ps). Der erste Scan kann bei großen Sammlungen Stunden dauern. Mindestens 4 GB RAM erforderlich (8 GB empfohlen). Überprüfen Sie, ob Gesichtserkennung in Administration → Machine Learning aktiviert ist.
Zwei Methoden: 1) Externe Bibliothek — Fotoverzeichnis als Read-Only-Volume einbinden und über Administration → External Libraries scannen. 2) CLI-Tool — Massenupload mit immich-cli: npx immich upload --recursive /path/to/photos. Externe Bibliothek liest Dateien vor Ort ohne Kopieren.
Wenn Sie ein Datenbank-Backup haben, können Sie es wiederherstellen. Stoppen Sie alle Container mit docker compose down. Ziehen Sie Images erneut mit docker compose pull. Starten Sie mit docker compose up -d. Prüfen Sie Logs: docker logs immich_server.
Immich-Vorteile: Ihre Daten bleiben bei Ihnen, keine Speicherlimits, kostenlos und Open Source. Nachteile: Sie müssen Ihren eigenen Server verwalten, nicht so fortgeschritten wie Googles KI-Funktionen (verbessert sich aber schnell), hat noch keine stabile Version 1.0 erreicht. Kernfunktionen (Backup, Gesichtserkennung, Suche, Teilen) sind verfügbar.
Coolify-Installation: Docker- und Git-Integration, Deployment, Datenbanken, SSL und Umgebungsvariablen als selbst gehostete Heroku/Netlify-Alternative.
Nextcloud-Installation mit Docker, Nginx-Konfiguration, Datenbankeinrichtung, SSL-Zertifikat, Dateisynchronisierung, App-Store und Leistungsoptimierung.
Portainer CE installieren: Docker- und Kubernetes-Verwaltung, Stack-Deployment, Volumes und Netzwerke, Benutzerrechte und GitOps-Integration.