58 lines
1.4 KiB
YAML
58 lines
1.4 KiB
YAML
networks:
|
|
web:
|
|
external: true
|
|
gitea:
|
|
driver: bridge
|
|
|
|
volumes:
|
|
gitea-data:
|
|
driver: local
|
|
|
|
services:
|
|
gitea:
|
|
restart: always
|
|
image: "gitea/gitea:1.22.3"
|
|
environment:
|
|
- USER_UID=1000
|
|
- USER_GID=1000
|
|
- GITEA__database__DB_TYPE=mysql
|
|
- GITEA__database__HOST=db:3306
|
|
- GITEA__database__NAME=gitea
|
|
- GITEA__database__USER=gitea
|
|
- GITEA__database__PASSWD=gitea
|
|
volumes:
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
- gitea-data:/data
|
|
labels:
|
|
- "traefik.enable=true"
|
|
|
|
- "traefik.http.services.gitea-service.loadbalancer.server.port=3000"
|
|
|
|
- "traefik.http.routers.gitea-http.entrypoints=web"
|
|
- "traefik.http.routers.gitea-http.middlewares=https-redirect@docker"
|
|
- "traefik.http.routers.gitea-http.rule=Host(`${GITEA_HOST}`)"
|
|
|
|
- "traefik.http.routers.gitea-https.entrypoints=websecure"
|
|
- "traefik.http.routers.gitea-https.tls=true"
|
|
- "traefik.http.routers.gitea-https.tls.certresolver=letsencrypt"
|
|
- "traefik.http.routers.gitea-https.rule=Host(`${GITEA_HOST}`)"
|
|
networks:
|
|
- gitea
|
|
- web
|
|
depends_on:
|
|
- db
|
|
|
|
db:
|
|
image: mysql:8
|
|
restart: always
|
|
environment:
|
|
- MYSQL_ROOT_PASSWORD=gitea
|
|
- MYSQL_USER=gitea
|
|
- MYSQL_PASSWORD=gitea
|
|
- MYSQL_DATABASE=gitea
|
|
networks:
|
|
- gitea
|
|
volumes:
|
|
- ./mysql:/var/lib/mysql
|