Setting up Gitea

What is Gitea?

Well this is a very stripped won version of Github that I can run with minimal resources on my VM machine. Specifically inside of a docker container on a Linux VM.

The limited functionality (via GUI) of Gitea is limited to setting up repositories, managing pull requests, tracking issues, and the basic security around those things. Like setting up SSH and GPG Keys. You are also able to import/mirror from various other git resources, like GitHub or GitLab, which makes start up very quick, and it keeps your commit history intact.

As I set this up in docker, my compose looks like this:

version: "3"

services:
  gitea:
    image: gitea/gitea:latest
    container_name: gitea
    environment:
      - GITEA__database__DB_TYPE=mysql
      - GITEA__database__HOST=database_ip:3306
      - GITEA__database__NAME=db_name
      - GITEA__database__USER=db_username
      - GITEA__database__PASSWD=db_password
    restart: unless-stopped
    volumes:
      - ./data:/data
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    ports:
      - host_gui_port:3000
      - host_ssh_port:22

After bringing the container up, I am able to create an admin user and log in.

Gitea is a great resource for local code management. I personally don't see myself using it for syncing repos externally outside my network or for things otehr than my internal services. This is mainly me trying to avoid any potential security blunders by exposing it publicly.