prompter: Schreibe eine docker-compose.yaml, um eine Gitea Instanz mit einer MariaDB als Datenbank zu hosten.

assistant: Gerne kann ich dir dabei helfen, eine Docker-Compose-Datei zu erstellen, um eine Gitea-Instanz mit einer MariaDB als Datenbank zu hosten. Hier ist eine Beispielkonfiguration:

```yaml
version: '3'
services:
  db:
    image: mariadb
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: example
      MYSQL_DATABASE: gitea
      MYSQL_USER: gitea
      MYSQL_PASSWORD: example
    volumes:
      - ./data/mysql:/var/lib/mysql
  gitea:
    image: gitea/gitea:latest
    restart: always
    environment:
      - USER_UID=1000
      - USER_GID=1000
      - DB_TYPE=mysql
      - DB_HOST=db:3306
      - DB_NAME=gitea
      - DB_USER=gitea
      - DB_PASSWD=example
      - ROOT_URL=http://localhost:3000
    depends_on:
      - db
    ports:
      - "3000:3000"
      - "222:22"
    volumes:
      - ./data/gitea:/data
```

In dieser Konfiguration wird eine MariaDB-Instanz als Datenbank-Service gestartet und eine Gitea-Instanz als Anwendungs-Service. Die MariaDB-Instanz wird mit einem Root-Passwort und einem Benutzer und Passwort für Gitea konfiguriert. Es wird auch ein Volume definiert, um die Datenbankdaten dauerhaft zu speichern.

Die Gitea-Instanz wird mit Umgebungsvariablen konfiguriert, um auf die Datenbank zuzugreifen und die erforderlichen Einstellungen für den Betrieb der Anwendung bereitzustellen. Es wird auch ein Volume definiert, um die Gitea-Konfiguration und andere Daten dauerhaft zu speichern.

Die Konfiguration enthält auch eine Port-Weiterleitung für den Zugriff auf die Gitea-Instanz über den Port 3000 und den SSH-Port 222. Die Ports können entsprechend angepasst werden, je nachdem, wie die Instanz in der Umgebung bereitgestellt wird.

Um diese Konfiguration auszuführen, speichere sie einfach als "docker-compose.yaml"-Datei und führe dann den Befehl "docker-compose up -d" im Verzeichnis aus, in dem sich die Datei befindet.

assistant: Gerne! Hier ist ein Beispiel-docker-compose.yaml-Datei, um eine Gitea Instanz mit einer MariaDB als Datenbank zu hosten:

´´´yaml
version: '3'
networks:
  gitea:
    external: false

services:
  db:
    image: mariadb
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: example_root_password
      MYSQL_DATABASE: gitea
      MYSQL_USER: gitea
      MYSQL_PASSWORD: example_user_password
    volumes:
      - db_data:/var/lib/mysql

  gitea:
    image: gitea/gitea:latest
    container_name: gitea
    restart: always
    environment:
      - USER_UID=1000
      - USER_GID=1000
      - GITEA__database__DB_TYPE=mysql
      - GITEA__database__DB_HOST=db:3306
      - GITEA__database__DB_NAME=gitea
      - GITEA__database__DB_USER=gitea
      - GITEA__database__DB_PASSWD=example_user_password
    ports:
      - "3000:3000"
      - "222:22"
    volumes:
      - gitea_data:/data
      - gitea_log:/var/log/gitea

volumes:
  db_data:
  gitea_data:
  gitea_log:
´´´

Diese docker-compose.yaml-Datei definiert zwei Services: einen für MariaDB und einen für Gitea. MariaDB wird mit einem Benutzer und einem Passwort konfiguriert und die Gitea-Instanz wird so konfiguriert, dass sie die MariaDB-Instanz als ihre Datenbank verwendet.

Beachten Sie, dass dies nur ein Beispiel ist und Sie möglicherweise Änderungen an der Konfiguration vornehmen müssen, um sie an Ihre spezifischen Anforderungen anzupassen. Insbesondere sollten Sie die Passwörter und andere vertrauliche Informationen anpassen, um die Sicherheit Ihrer Installation zu gewährleisten.

assistant: Dies ist eine Beispiel-Docker-Compose-Konfigurationsdatei, um Gitea und MariaDB zu hosten:

version: '3'
services:
  db:
    image: mariadb:10.5
    environment:
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: gitea
      MYSQL_USER: gitea
      MYSQL_PASSWORD: password
  gitea:
    image: gitea/gitea:latest
    ports:
      - "3000:3000"
    environment:
      DB_TYPE: mysql
      DB_HOST: db:3306
      DB_NAME: gitea
      DB_USER: gitea
      DB_PASSWD: password
    links:
      - db:db

Diese Konfiguration erstellt zwei Container: einen für MariaDB und einen für Gitea. Die MariaDB-Instanz wird mit den Umgebungsvariablen konfiguriert, die für den Zugriff auf die Datenbank erforderlich sind, während Gitea mit denselben Umgebungsvariablen konfiguriert wird, um die Verbindung zur Datenbank herzustellen. Die beiden Container sind miteinander verknüpft, so dass Gitea auf die MariaDB-Datenbank zugreifen kann.

Wenn Sie die Datei docker-compose.yaml in Ihrem Terminal ausführen, werden die beiden Container erstellt und gestartet. Gitea ist dann unter http://localhost:3000 verfügbar.