Schreibe eine docker-compose.yaml, um eine Gitea Instanz mit einer MariaDB als Datenbank zu hosten.
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.
Below is an instruction that describes a task. Write a response that appropriately completes the request.

### Instruction:

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

### Response:

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.
