version: "3"

networks:
  gitea:
    external: false

services:
  server:
    image: gitea/gitea:1.20.2
    container_name: gitea
    environment:
      - USER_UID=1000
      - USER_GID=1000
    restart: always
    networks:
      - gitea
    volumes:
      - /etc/docker-configs/gitea:/data
#      - /etc/timezone:/etc/timezone:ro
#      - /etc/localtime:/etc/localtime:ro
    ports:
      - "4000:3000"
      - "222:22"

  runner:
    image: gitea/act_runner
    restart: always
    depends_on:
      - server
    volumes:
      - ./data/act_runner:/data
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - GITEA_INSTANCE_URL=<server>        
      # When using Docker Secrets, it's also possible to use
      # GITEA_RUNNER_REGISTRATION_TOKEN_FILE to pass the location.
      # The env var takes precedence.
      # Needed only for the first start.
      - GITEA_RUNNER_REGISTRATION_TOKEN=<tone>

gitea on kubernetes

https://ralph.blog.imixs.com/2021/02/25/running-gitea-on-kubernetes/