Files
docker-compose/version-control/docker-compose.yml
T
2026-07-06 23:10:10 +02:00

100 lines
3.9 KiB
YAML

services:
gitea:
image: docker.gitea.com/gitea:1.26
container_name: gitea
networks:
- default
- pangolin
environment:
- USER_UID=1000
- USER_GID=1000
- GITEA__server__DOMAIN=${DOMAIN}
- GITEA__server__SSH_DOMAIN=${DOMAIN}
- GITEA__server__ROOT_URL="https://${DOMAIN}/"
- GITEA__server__SSH_PORT=222 # external port users connect to
- GITEA__server__SSH_LISTEN_PORT=22 # internal container port
- GITEA__server__START_SSH_SERVER=false
- GITEA__server__DISABLE_SSH=false
- GITEA__mailer__ENABLED=true
- GITEA__mailer__PROTOCOL=smtps
- GITEA__mailer__FROM=${GITEA__mailer__FROM}
- GITEA__mailer__SMTP_ADDR=${GITEA__mailer__SMTP_ADDR}
- GITEA__mailer__SMTP_PORT=${GITEA__mailer__SMTP_PORT}
- GITEA__mailer__USER=${GITEA__mailer__USER}
- GITEA__mailer__PASSWD="""${GITEA__mailer__PASSWD}"""
volumes:
- /mnt/user/appdata/gitea:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "6734:3000"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:3000/api/healthz"]
interval: 30s
timeout: 10s
retries: 3
start_period: 20s
labels:
net.unraid.docker.icon: "https://cdn.jsdelivr.net/gh/selfhst/icons@main/png/gitea.png"
net.unraid.docker.webui: "https://${DOMAIN}"
folder.view3: "Services"
pangolin.public-resources.gitea-version-control.name: "${RESOURCE_NAME}"
pangolin.public-resources.gitea-version-control.full-domain: "${DOMAIN}"
pangolin.public-resources.gitea-version-control.protocol: "http"
pangolin.public-resources.gitea-version-control.auth.sso-enabled: false
pangolin.public-resources.gitea-version-control.targets[0].method: "http"
pangolin.public-resources.gitea-version-control.targets[0].port: 3000
pangolin.public-resources.gitea-version-control.targets[0].healthcheck.enabled: true
pangolin.public-resources.gitea-version-control.targets[0].healthcheck.hostname: "gitea"
pangolin.public-resources.gitea-version-control.targets[0].healthcheck.port: 3000
pangolin.public-resources.gitea-version-control.targets[0].healthcheck.path: "/api/healthz"
pangolin.public-resources.gitea-version-control.targets[0].healthcheck.method: "GET"
pangolin.public-resources.gitea-version-control.targets[0].healthcheck.status: 200
pangolin.public-resources.gitea-version-control.targets[0].healthcheck.interval: 30
pangolin.public-resources.gitea-version-control.targets[0].healthcheck.timeout: 5
pangolin.public-resources.gitea-version-control-ssh.name: "${RESOURCE_NAME} SSH"
pangolin.public-resources.gitea-version-control-ssh.protocol: "tcp"
pangolin.public-resources.gitea-version-control-ssh.proxy-port: 222
pangolin.public-resources.gitea-version-control-ssh.targets[0].hostname: "gitea"
pangolin.public-resources.gitea-version-control-ssh.targets[0].port: 22
# HOMEPAGE
homepage.group: Development
homepage.name: Gitea
homepage.icon: gitea.png
homepage.href: "https://${DOMAIN}"
homepage.description: Git server
runner:
image: docker.io/gitea/act_runner:latest
container_name: gitea-runner
ports:
- "8012:8012"
depends_on:
gitea:
condition: service_healthy
environment:
CONFIG_FILE: /config.yaml
GITEA_INSTANCE_URL: "http://10.0.0.1:6734/"
GITEA_RUNNER_REGISTRATION_TOKEN: "${REGISTRATION_TOKEN}"
GITEA_RUNNER_NAME: "${RUNNER_NAME}"
volumes:
- /mnt/user/appdata/gitea-runner/config.yaml:/config.yaml
- /mnt/user/appdata/gitea-runner/data:/data
- /var/run/docker.sock:/var/run/docker.sock
labels:
net.unraid.docker.icon: "https://cdn.jsdelivr.net/gh/selfhst/icons@main/png/gitea.png"
folder.view3: "Runners"
networks:
pangolin:
name: pangolin_net
external: true