45 lines
1.6 KiB
YAML
45 lines
1.6 KiB
YAML
services:
|
|
gitea:
|
|
image: gitea/gitea:latest
|
|
container_name: ${INFRASTRUCTURE_LABEL:-mindboost}-gitea
|
|
profiles: ["all", "gitea","develop"]
|
|
restart: always
|
|
volumes:
|
|
- ${GITEA_VOLUME_PATH}:/data
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
depends_on:
|
|
- gitea_db
|
|
labels:
|
|
- "traefik.enable=${TRAEFIK_ENABLE}"
|
|
- "traefik.http.routers.gitea.entrypoints=${TRAEFIK_ENTRYPOINT}"
|
|
- "traefik.http.routers.gitea.rule=(Host(`${GITEA_DOMAIN})`)"
|
|
- "traefik.http.routers.gitea.tls=true"
|
|
- "traefik.http.routers.gitea.tls.certresolver=${TRAEFIK_CERT_RESOLVER}"
|
|
- "traefik.http.routers.gitea.service=gitea"
|
|
- 'traefik.http.services.gitea.loadbalancer.gitea.port=3000'
|
|
- "traefik.http.routers.gitea.tls.domains[0].main=`${GITEA_TLS_DOMAIN_MAIN}`"
|
|
|
|
# SSH routing, can't route based on host so anything to port 222 will come to this container
|
|
- "traefik.tcp.routers.gitea-ssh.rule=HostSNI(`*`)"
|
|
- "traefik.tcp.routers.gitea-ssh.entrypoints=ssh"
|
|
- "traefik.tcp.routers.gitea-ssh.service=gitea-ssh-svc"
|
|
- "traefik.tcp.services.gitea-ssh-svc.loadbalancer.gitea.port=22"
|
|
|
|
gitea_db:
|
|
image: mysql:latest
|
|
container_name: ${INFRASTRUCTURE_LABEL:-mindboost}-gitea_db
|
|
profiles: ["all", "gitea","develop"]
|
|
restart: always
|
|
environment:
|
|
- MYSQL_ROOT_PASSWORD=${GITEA_MYSQL_ROOT_PASSWORD}
|
|
- MYSQL_DATABASE=${GITEA_MYSQL_DATABASE}
|
|
- MYSQL_USER=${GITEA_MYSQL_USER}
|
|
- MYSQL_PASSWORD=${GITEA_MYSQL_PASSWORD}
|
|
volumes:
|
|
- ${GITEA_DATABASE_VOLUME_PATH}:/var/lib/mysql
|
|
|
|
networks:
|
|
gitea:
|
|
|