Update Docker Registry URLs to HTTPS endpoint (registry.michaelschiemer.de)
- Replace git.michaelschiemer.de:5000 (HTTP) with registry.michaelschiemer.de (HTTPS) - Update all Ansible playbooks and configuration files - Update CI/CD workflows to use HTTPS registry endpoint - Update Docker Compose files with new registry URL - Update documentation and scripts Benefits: - Secure HTTPS connection (no insecure registry config needed) - Consistent use of HTTPS endpoint via Traefik - Better security practices for production deployment
This commit is contained in:
@@ -43,9 +43,9 @@ CI/CD Pipeline (Gitea Actions)
|
||||
```yaml
|
||||
- Docker Image Build (Dockerfile.production)
|
||||
- Image mit Tags pushen:
|
||||
- git.michaelschiemer.de:5000/framework:latest
|
||||
- git.michaelschiemer.de:5000/framework:<tag>
|
||||
- git.michaelschiemer.de:5000/framework:git-<short-sha>
|
||||
- registry.michaelschiemer.de/framework:latest
|
||||
- registry.michaelschiemer.de/framework:<tag>
|
||||
- registry.michaelschiemer.de/framework:git-<short-sha>
|
||||
```
|
||||
|
||||
#### Job 3: Deploy (Ansible)
|
||||
@@ -121,7 +121,7 @@ docker compose -f ~/deployment/stacks/application/docker-compose.yml \
|
||||
**2. Docker Registry Login**
|
||||
```bash
|
||||
# Login zur privaten Registry mit Credentials
|
||||
docker login git.michaelschiemer.de:5000 \
|
||||
docker login registry.michaelschiemer.de \
|
||||
-u <registry-username> \
|
||||
-p <registry-password>
|
||||
```
|
||||
@@ -129,10 +129,10 @@ docker login git.michaelschiemer.de:5000 \
|
||||
**3. Neues Image Pullen**
|
||||
```bash
|
||||
# Pullt das neue Image von der Registry
|
||||
docker pull git.michaelschiemer.de:5000/framework:<tag>
|
||||
docker pull registry.michaelschiemer.de/framework:<tag>
|
||||
|
||||
# Beispiel:
|
||||
# git.michaelschiemer.de:5000/framework:abc1234-1696234567
|
||||
# registry.michaelschiemer.de/framework:abc1234-1696234567
|
||||
```
|
||||
|
||||
**4. docker-compose.yml aktualisieren**
|
||||
@@ -143,12 +143,12 @@ docker pull git.michaelschiemer.de:5000/framework:<tag>
|
||||
# Vorher:
|
||||
services:
|
||||
app:
|
||||
image: git.michaelschiemer.de:5000/framework:latest
|
||||
image: registry.michaelschiemer.de/framework:latest
|
||||
|
||||
# Nachher (wenn image_tag != 'latest'):
|
||||
services:
|
||||
app:
|
||||
image: git.michaelschiemer.de:5000/framework:<tag>
|
||||
image: registry.michaelschiemer.de/framework:<tag>
|
||||
```
|
||||
|
||||
**Regex-Replace:**
|
||||
@@ -158,13 +158,13 @@ replace: '\1{{ app_image }}:{{ image_tag }}'
|
||||
```
|
||||
|
||||
**Betroffene Services (werden alle aktualisiert):**
|
||||
- `app` (PHP-FPM) - Zeile 6: `image: git.michaelschiemer.de:5000/framework:latest`
|
||||
- `queue-worker` (Queue Worker) - Zeile 120: `image: git.michaelschiemer.de:5000/framework:latest`
|
||||
- `scheduler` (Scheduler) - Zeile 165: `image: git.michaelschiemer.de:5000/framework:latest`
|
||||
- `app` (PHP-FPM) - Zeile 6: `image: registry.michaelschiemer.de/framework:latest`
|
||||
- `queue-worker` (Queue Worker) - Zeile 120: `image: registry.michaelschiemer.de/framework:latest`
|
||||
- `scheduler` (Scheduler) - Zeile 165: `image: registry.michaelschiemer.de/framework:latest`
|
||||
|
||||
**Hinweis:**
|
||||
- Alle drei Services verwenden das gleiche Image, daher werden alle mit dem neuen Tag aktualisiert
|
||||
- Der Regex matched **alle Zeilen** die mit `image: git.michaelschiemer.de:5000/framework:` beginnen
|
||||
- Der Regex matched **alle Zeilen** die mit `image: registry.michaelschiemer.de/framework:` beginnen
|
||||
- `nginx` und `redis` bleiben unverändert (verwenden andere Images)
|
||||
|
||||
**5. Application Stack neu starten**
|
||||
@@ -216,7 +216,7 @@ docker compose ps --format json | \
|
||||
Deployment Timestamp: 2025-10-31T02:35:04Z
|
||||
Git Commit: abc1234...
|
||||
Image Tag: abc1234-1696234567
|
||||
Deployed Image: git.michaelschiemer.de:5000/framework:abc1234-1696234567
|
||||
Deployed Image: registry.michaelschiemer.de/framework:abc1234-1696234567
|
||||
Image Pull: SUCCESS
|
||||
Stack Deploy: UPDATED
|
||||
Health Status: All services healthy
|
||||
@@ -238,7 +238,7 @@ Der Application Stack besteht aus mehreren Services:
|
||||
#### Services im Stack
|
||||
|
||||
**1. `app` (PHP-FPM Application)**
|
||||
- Image: `git.michaelschiemer.de:5000/framework:<tag>`
|
||||
- Image: `registry.michaelschiemer.de/framework:<tag>`
|
||||
- Container: `app`
|
||||
- Health Check: `php-fpm-healthcheck`
|
||||
- Netzwerk: `app-internal`
|
||||
@@ -259,7 +259,7 @@ Der Application Stack besteht aus mehreren Services:
|
||||
- Netzwerk: `app-internal`
|
||||
|
||||
**4. `queue-worker` (Background Jobs)**
|
||||
- Image: `git.michaelschiemer.de:5000/framework:<tag>` (gleiches wie app)
|
||||
- Image: `registry.michaelschiemer.de/framework:<tag>` (gleiches wie app)
|
||||
- Container: `queue-worker`
|
||||
- Health Check: `pgrep -f 'queue:work'`
|
||||
- Netzwerk: `app-internal`
|
||||
@@ -267,7 +267,7 @@ Der Application Stack besteht aus mehreren Services:
|
||||
- Abhängigkeiten: `app`, `redis`
|
||||
|
||||
**5. `scheduler` (Cron Jobs)**
|
||||
- Image: `git.michaelschiemer.de:5000/framework:<tag>` (gleiches wie app)
|
||||
- Image: `registry.michaelschiemer.de/framework:<tag>` (gleiches wie app)
|
||||
- Container: `scheduler`
|
||||
- Health Check: `pgrep -f 'scheduler:run'`
|
||||
- Netzwerk: `app-internal`
|
||||
@@ -307,8 +307,8 @@ Der Application Stack besteht aus mehreren Services:
|
||||
### Inventory-Variablen (`inventory/production.yml`)
|
||||
|
||||
```yaml
|
||||
app_image: "git.michaelschiemer.de:5000/framework"
|
||||
docker_registry_url: "git.michaelschiemer.de:5000"
|
||||
app_image: "registry.michaelschiemer.de/framework"
|
||||
docker_registry_url: "registry.michaelschiemer.de"
|
||||
backups_path: "~/deployment/backups"
|
||||
max_rollback_versions: 5
|
||||
deploy_user_home: "~/deployment"
|
||||
@@ -339,9 +339,9 @@ docker_registry_password: "<from-secret>"
|
||||
**2. Image wird gebaut und gepusht:**
|
||||
```bash
|
||||
docker buildx build \
|
||||
--tag git.michaelschiemer.de:5000/framework:latest \
|
||||
--tag git.michaelschiemer.de:5000/framework:abc1234-1696234567 \
|
||||
--tag git.michaelschiemer.de:5000/framework:git-abc1234 \
|
||||
--tag registry.michaelschiemer.de/framework:latest \
|
||||
--tag registry.michaelschiemer.de/framework:abc1234-1696234567 \
|
||||
--tag registry.michaelschiemer.de/framework:git-abc1234 \
|
||||
--push \
|
||||
.
|
||||
```
|
||||
@@ -361,14 +361,14 @@ ansible-playbook -i inventory/production.yml \
|
||||
mkdir -p ~/deployment/backups/2025-10-31T02-35-04Z
|
||||
|
||||
# 2. Registry Login
|
||||
docker login git.michaelschiemer.de:5000 -u admin -p <password>
|
||||
docker login registry.michaelschiemer.de -u admin -p <password>
|
||||
|
||||
# 3. Image Pullen
|
||||
docker pull git.michaelschiemer.de:5000/framework:abc1234-1696234567
|
||||
docker pull registry.michaelschiemer.de/framework:abc1234-1696234567
|
||||
|
||||
# 4. docker-compose.yml aktualisieren
|
||||
# Vorher: image: git.michaelschiemer.de:5000/framework:latest
|
||||
# Nachher: image: git.michaelschiemer.de:5000/framework:abc1234-1696234567
|
||||
# Vorher: image: registry.michaelschiemer.de/framework:latest
|
||||
# Nachher: image: registry.michaelschiemer.de/framework:abc1234-1696234567
|
||||
|
||||
# 5. Stack neu starten
|
||||
cd ~/deployment/stacks/application
|
||||
@@ -392,7 +392,7 @@ cat > ~/deployment/backups/2025-10-31T02-35-04Z/deployment_metadata.txt <<EOF
|
||||
Deployment Timestamp: 2025-10-31T02:35:04Z
|
||||
Git Commit: abc1234567890...
|
||||
Image Tag: abc1234-1696234567
|
||||
Deployed Image: git.michaelschiemer.de:5000/framework:abc1234-1696234567
|
||||
Deployed Image: registry.michaelschiemer.de/framework:abc1234-1696234567
|
||||
Image Pull: SUCCESS
|
||||
Stack Deploy: UPDATED
|
||||
Health Status: All services healthy
|
||||
@@ -408,7 +408,7 @@ EOF
|
||||
**Wichtig:** Das Playbook aktualisiert die `docker-compose.yml` Datei **direkt auf dem Server**!
|
||||
|
||||
- Die Datei wird mit `replace` Modul geändert
|
||||
- Alle Services mit dem Image `git.michaelschiemer.de:5000/framework:*` werden aktualisiert
|
||||
- Alle Services mit dem Image `registry.michaelschiemer.de/framework:*` werden aktualisiert
|
||||
- Das bedeutet: `app`, `queue-worker`, und `scheduler` bekommen alle das neue Image
|
||||
|
||||
### 2. Force-Recreate
|
||||
@@ -520,17 +520,17 @@ docker compose ps
|
||||
|
||||
```bash
|
||||
# Registry-Login testen
|
||||
docker login git.michaelschiemer.de:5000 -u admin -p <password>
|
||||
docker login registry.michaelschiemer.de -u admin -p <password>
|
||||
|
||||
# Image manuell pullen
|
||||
docker pull git.michaelschiemer.de:5000/framework:<tag>
|
||||
docker pull registry.michaelschiemer.de/framework:<tag>
|
||||
```
|
||||
|
||||
### docker-compose.yml wurde nicht aktualisiert
|
||||
|
||||
```bash
|
||||
# Prüfe ob Regex korrekt ist
|
||||
grep -E "image:\s+git.michaelschiemer.de:5000/framework" \
|
||||
grep -E "image:\s+registry.michaelschiemer.de/framework" \
|
||||
~/deployment/stacks/application/docker-compose.yml
|
||||
|
||||
# Prüfe Backup für vorherige Version
|
||||
|
||||
Reference in New Issue
Block a user