diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..bf81c9d --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,56 @@ +services: + gitea: + image: docker.io/gitea/gitea:1.23.1 + container_name: gitea + environment: + - USER_UID=1000 + - USER_GID=1000 + - GITEA__database__DB_TYPE=postgres + - GITEA__database__HOST=db:5432 + - GITEA__database__NAME=gitea + - GITEA__database__USER=gitea + - GITEA__database__PASSWD=gitea + restart: unless-stopped + networks: + - gitea + volumes: + - ../../gitea/data:/data + - /etc/timezone:/etc/timezone:ro + - /etc/localtime:/etc/localtime:ro + labels: + - traefik.enable=true + # HTTP Router + - traefik.http.routers.gitea-http.rule=Host(`git.it.arkansasag.gov`) + - traefik.http.routers.gitea-http.entrypoints=web + - traefik.http.services.gitea.loadbalancer.server.port=3000 + # HTTPS Router + - traefik.http.routers.gitea-https.rule=Host(`git.it.arkansasag.gov`) + - traefik.http.routers.gitea-https.entrypoints=websecure + - traefik.http.routers.gitea-https.tls=true + - traefik.http.routers.gitea-https.tls.certresolver=resolver + # SSH Router + - traefik.tcp.routers.gitea-ssh.rule=HostSNI(`*`) + - traefik.tcp.routers.gitea-ssh.entrypoints=ssh + - traefik.tcp.routers.gitea-ssh.service=gitea-ssh + - traefik.tcp.services.gitea-ssh.loadbalancer.server.port=2222 + - traefik.tcp.routers.gitea-ssh.tls=true + - traefik.tcp.routers.gitea-ssh.tls.passthrough=true + depends_on: + - db + + db: + image: postgres:14 + container_name: gitea-db + restart: unless-stopped + environment: + - POSTGRES_USER=gitea + - POSTGRES_PASSWORD=gitea + - POSTGRES_DB=gitea + networks: + - gitea + volumes: + - ../../gitea/postgres:/var/lib/postgresql/data + +networks: + gitea: + external: true \ No newline at end of file