captainVersion: 4
services:
    $$cap_appname-db:
        image: mysql:$$cap_mysql_version
        volumes:
            - $$cap_appname-db-data:/var/lib/mysql
        restart: always
        environment:
            MYSQL_ROOT_PASSWORD: $$cap_db_pass
            MYSQL_DATABASE: gitea
            MYSQL_USER: gitea
            MYSQL_PASSWORD: $$cap_db_pass
        caproverExtra:
            notExposeAsWebApp: 'true'
    $$cap_appname:
        depends_on:
            - $$cap_appname-db
        image: gitea/gitea:$$cap_gitea_version
        volumes:
            - $$cap_appname-data:/data
        restart: always
        environment:
            RUN_MODE: prod
            DB_TYPE: mysql
            DB_HOST: srv-captain--$$cap_appname-db:3306
            DB_USER: gitea
            DB_PASSWD: $$cap_db_pass
        caproverExtra:
            containerHttpPort: '3000'
caproverOneClickApp:
    variables:
        - id: $$cap_db_pass
          label: MySQL Root password
          description: ''
          validRegex: /.{1,}/
        - id: $$cap_gitea_version
          label: Gitea Version
          defaultValue: '1.15.6'
          description: Check out their Docker page for the valid tags https://hub.docker.com/r/gitea/gitea/tags
          validRegex: /^([^\s^\/])+$/
        - id: $$cap_mysql_version
          label: MySQL Version
          defaultValue: '5.7'
          description: Check out their Docker page for the valid tags https://hub.docker.com/r/library/mysql/tags/
          validRegex: /^([^\s^\/])+$/
    instructions:
        start: >-
            A painless self-hosted Git service. Gitea is a community managed fork of Gogs.

            Enter your Gitea Configuration parameters and click on next. A MySQL (database) and a Gitea container will be created for you. The process will take about a minute to finish.
        end: >
            Gitea is deployed and available as $$cap_appname.

            Be sure to change 'Gitea Base URL' duirng initial setup otherwise you may experience issues. 

            Since Gitea is running inside a container, you can optionally map a port (not 22) of the host to port 22 of the container, if you want to use git commands over SSH. You can perform port mapping in your CapRover dashboard, in App Config section.

            IMPORTANT: It will take up to 2 minutes for Gitea to be ready. Before that, you might see 502 error page.
    displayName: ''
    isOfficial: true
    description: Gitea is a software package for hosting software development using Git as well as bug tracking, wikis and code review
    documentation: Taken from https://hub.docker.com/r/gitea/gitea/
