services:
  forgejo-runner:
    image: code.forgejo.org/forgejo/runner:5.0.4
    user: "{{ docker_user.id }}"
    volumes:
      - /mnt/data:/data
      - ./config.yml:/data/config.yml
    environment:
      - TZ={{ timezone }}
      - DOCKER_HOST=tcp://docker_proxy:2375
    restart: unless-stopped
    command: forgejo-runner --config config.yml daemon
    networks:
      - default
      - forgejo_private
    depends_on:
      - docker_proxy
    ports:
      - "{{ ansible_default_ipv4.address }}:4000:4000"

  docker_proxy:
    image: lscr.io/linuxserver/socket-proxy:latest
    restart: unless-stopped
    environment:
      - POST=1
      - CONTAINERS=1
      - INFO=1
      - IMAGES=1
      - VOLUMES=1
      - NETWORKS=1
      - ALLOW_START=1
      - ALLOW_STOP=1
      - ALLOW_RESTARTS=1
      - EXEC=1
    tmpfs:
      - /run
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
    networks:
      - forgejo_private
    logging:
      driver: none

networks:
  forgejo_private:
    internal: true