← Back

Your Stack

App: Gitea latest
DB: MariaDB latest
Proxy: Nginx latest

Production-ready docker-compose.yml for your stack. Copy it, customize variables in .env, and deploy.

docker-compose.yml
version: '3.8'
services:
  gitea:
    image: gitea/gitea:latest
    ports:
      - "3000:3000"
    depends_on:
      - mariadb

    environment:
      GITEA__database__HOST: ${APP_DB_HOST:-mariadb}
      GITEA__database__USER: ${APP_DB_USER:-app_user}
      GITEA__database__PASSWD: ${APP_DB_PASSWORD:-change_me_app_password}
      GITEA__database__NAME: ${APP_DB_NAME:-gitea_db}
    restart: always

  mariadb:
    image: mariadb:latest
    ports:
      - "3306:3306"

    environment:
      MARIADB_ROOT_PASSWORD: ${DB_ROOT_PASSWORD:-change_me_root_password}
      MARIADB_USER: ${APP_DB_USER:-app_user}
      MARIADB_PASSWORD: ${APP_DB_PASSWORD:-change_me_app_password}
      MARIADB_DATABASE: ${APP_DB_NAME:-gitea_db}
    volumes:
      - mariadb_data:/var/lib/mysql
    restart: always

  nginx:
    image: nginx:latest
    ports:
      - "80:80"
      - "443:443"
    depends_on:
      - gitea

    restart: always

volumes:
  mariadb_data:

Customize APP_DB_* and DB_* variables in your .env file.