Github – Dockerdeployment

Auf Github unter Profile > Packages sind die Container zu finden.

Unter Profile > Settings > Access > Credentials > Personal Access Tokens (classic) einen Token generieren mit write_packages und read_packages Berechtigungen.

Im Terminal mit folgendem einloggen

Bash
docker login ghcr.io
Username: [GITHUB_USERNAME]
Password: [GITHUB_ACCESS_TOKEN]
Bash

Dann das Docker-Image pushen mit dem Namen des Images. In den Image-Details oben zu finden.

Bash
docker push ghcr.io/[GITHUB_USERNAME]/[IMAGENAME]:latest
Bash

Variante 1: per shell

Auf dem Zielserver per SSH einloggen und docker login wie oben und das Image ziehen.

Bash
docker pull [IMAGE_NAME]:latest
Bash

Variante 2: per Coolify

Das Repo mit einer docker-compose.yaml als normales Repository pushen. In Coolify auf Neues Projekt > Neues Repo > From Docker Image und dort die URL zum docker-compose.yaml angeben.

Quelle

MySQL Events (Crons) einrichten

Man kann bei MySQL, sofern aktiviert, serverseitige Events einrichten. Das kann man bspw. nutzen, um Tabellenbereinigungen automatisiert durchzuführen.

Prüfen, ob der Event Scheduler aktiv ist

SQL
SHOW VARIABLES LIKE 'event_scheduler'; -- Ausgabe event_scheduler ON
SQL

Manuell aktivieren

SQL
SET GLOBAL event_scheduler = ON;
SQL

Event anlegen

SQL
CREATE EVENT [EVENT_NAME]
ON SCHEDULE EVERY 1 DAY
STARTS TIMESTAMP(CURRENT_DATE, '03:15:00')
DO
  DELETE FROM [TABLENAME]
  WHERE created < DATE_SUB(NOW(), INTERVAL 1 YEAR);
SQL

Alle Events anzeigen

SQL
SHOW EVENTS;
SQL

Details zu einem Event anzeigen

SQL
SHOW CREATE EVENT [EVENT_NAME];
SQL

Prüfen, ob und wann Events gelaufen sind

SQL
SELECT 
    EVENT_NAME,
    LAST_EXECUTED,
    STATUS
FROM information_schema.EVENTS
WHERE EVENT_SCHEMA = '[DATENBANK_NAME]';
SQL