# vi: ft=yaml version: "3" networks: traefik: external: true configs: config: external: true name: "{{ config.config_name }}" volumes: forgejo: driver_opts: type: "nfs" o: "addr=192.168.30.10,nolock,soft,rw" device: ":/mnt/data/forgejo" services: forgejo: image: codeberg.org/forgejo/forgejo:1.20 environment: - USER_UID=1000 - USER_GID=1000 networks: - traefik ports: - "{{ git_ssh_port }}:22" volumes: - type: volume source: forgejo target: /data volume: nocopy: true - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro deploy: placement: constraints: - node.role == manager labels: - traefik.port=443 - traefik.enable=true - traefik.http.routers.forgejo.entrypoints=websecure - traefik.http.routers.forgejo.rule=Host(`{{ git_domain }}`) - traefik.http.routers.forgejo.tls=true - traefik.http.routers.forgejo.tls.certresolver=letsencrypt - traefik.http.routers.forgejo.service=forgejo - traefik.http.services.forgejo.loadbalancer.server.port=3000 - traefik.docker.network=traefik configs: - source: config target: /data/gitea/conf/app.ini