networks:
  gitea:
    external: false

services:
  server:
    image: gitea/gitea:latest
    container_name: gitea
    environment:
      - USER_UID=1001
      - USER_GID=1001
      - GITEA__database__DB_TYPE=postgres
      - GITEA__database__HOST=db:5432
      - GITEA__database__NAME=gitea
      - GITEA__database__USER=gitea
      - GITEA__database__PASSWD=<DB_PASSWORD>
    restart: always
    networks:
      - gitea
    volumes:
      - /data/git/gitea:/data
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
      - /home/git/.ssh:/data/git/.ssh
    ports:
      - "3010:3000"
      - "222:22"
    depends_on:
      - db

  db:
    image: postgres:14
    restart: always
    environment:
      - POSTGRES_USER=gitea
      - POSTGRES_PASSWORD=<DB_PASSWORD>
      - POSTGRES_DB=gitea
    networks:
      - gitea
    volumes:
      - /data/git/postgres:/var/lib/postgresql/data
  
  runner:
    image: gitea/act_runner
    restart: always
    depends_on:
      - server
    volumes:
      - /data/git/act_runner:/data
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - GITEA_INSTANCE_URL=https://git.plobos.xyz
      - GITEA_RUNNER_REGISTRATION_TOKEN=<RUNNER_TOKEN>