aboutsummaryrefslogtreecommitdiff

My cgit docker container

Usage

Docker compose

Bind mount your git repos to /repos.

The SITE_ADDRESS environment variable is passed directly to Caddy as the site address. If unset, defaults to :80 (plain HTTP, no TLS).

Standalone (Caddy handles TLS)

Mount a data folder to /root/.local/share/caddy to persist certificates.

services:
  cgit:
    build: ./cgit
    ports:
      - "443:443"
      - "80:80"
    volumes:
      - ~/repos:/repos
      - ./data:/root/.local/share/caddy
    environment:
      SITE_ADDRESS: git.example.com

Behind a reverse proxy

Leave SITE_ADDRESS unset (defaults to :80). Bind the port to localhost only and let the external proxy handle TLS.

services:
  cgit:
    build: ./cgit
    ports:
      - "127.0.0.1:8080:80"
    volumes:
      - ~/repos:/repos

Then in your external Caddyfile:

git.example.com {
    reverse_proxy localhost:8080
}