52 lines
2.3 KiB
YAML
52 lines
2.3 KiB
YAML
version: "3"
|
||
|
||
services:
|
||
traefik:
|
||
image: traefik:v2.9
|
||
container_name: traefik
|
||
ports:
|
||
- "80:80"
|
||
- "443:443"
|
||
command:
|
||
- "--api.insecure=true" # Открытая панель управления Traefik, не рекомендуется для продакшена
|
||
- "--providers.docker=true" # Включаем динамическое определение маршрутов на основе Docker контейнеров
|
||
- "--entrypoints.web.address=:80" # HTTP (80 порт)
|
||
- "--entrypoints.websecure.address=:443" # HTTPS (443 порт)
|
||
- "--certificatesresolvers.myresolver.acme.httpchallenge=true" # Включаем HTTP challenge для Let's Encrypt
|
||
- "--certificatesresolvers.myresolver.acme.httpchallenge.entrypoint=web" # Указываем HTTP endpoint для ACME
|
||
- "--certificatesresolvers.myresolver.acme.email=gba404@gmail.com" # Ваш email для регистрации с Let's Encrypt
|
||
- "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json" # Файл для хранения сертификатов
|
||
volumes:
|
||
- ./letsencrypt:/letsencrypt # Хранение сертификатов
|
||
- /var/run/docker.sock:/var/run/docker.sock:ro # Доступ к Docker сокету
|
||
|
||
gitea:
|
||
image: gitea/gitea:latest
|
||
container_name: gitea
|
||
environment:
|
||
- USER_UID=1000
|
||
- USER_GID=1000
|
||
- DB_TYPE=mysql
|
||
- DB_HOST=db:3306
|
||
- DB_NAME=gitea
|
||
- DB_USER=gitea
|
||
- DB_PASSWD=gitea_pass
|
||
- ROOT_URL=https://git.playgba.ru
|
||
labels:
|
||
- "traefik.enable=true"
|
||
- "traefik.http.routers.gitea.rule=Host(`git.playgba.ru`)" # Определение маршрута на основе домена
|
||
- "traefik.http.routers.gitea.entrypoints=websecure" # Используем HTTPS
|
||
- "traefik.http.routers.gitea.tls.certresolver=myresolver" # Указываем резолвер для получения сертификатов
|
||
- "traefik.http.services.gitea.loadbalancer.server.port=3000" # Порт, на который проксируется запрос
|
||
|
||
db:
|
||
image: mysql:8.0
|
||
container_name: gitea_db
|
||
environment:
|
||
- MYSQL_ROOT_PASSWORD=8148
|
||
- MYSQL_DATABASE=gitea
|
||
- MYSQL_USER=gitea
|
||
- MYSQL_PASSWORD=1488
|
||
volumes:
|
||
- ./mysql:/var/lib/mysql
|