init
This commit is contained in:
@@ -0,0 +1,111 @@
|
||||
services:
|
||||
gitea:
|
||||
image: gitea/gitea:latest
|
||||
container_name: gitea
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- USER_UID=1000
|
||||
- USER_GID=1000
|
||||
|
||||
# Подключаемся к существующему PostgreSQL
|
||||
- GITEA__database__DB_TYPE=postgres
|
||||
- GITEA__database__HOST=postgres:5432 # Имя контейнера PostgreSQL
|
||||
- GITEA__database__NAME=gitea # Будет создана автоматически
|
||||
- GITEA__database__USER=labuser
|
||||
- GITEA__database__PASSWD=${POSTGRES_PASSWORD} # Из .env файла (ВАЖНО!)
|
||||
- GITEA__database__SCHEMA=public
|
||||
# Настройки сервера
|
||||
# - GITEA__server__DOMAIN=192.168.1.200
|
||||
# - GITEA__server__ROOT_URL=http://192.168.1.200:3000
|
||||
# - GITEA__server__SSH_DOMAIN=192.168.1.200
|
||||
# - GITEA__server__SSH_PORT=22
|
||||
- GITEA__server__HTTP_ADDR=0.0.0.0
|
||||
- GITEA__server__HTTP_PORT=3000
|
||||
|
||||
# Redis
|
||||
# 1. Для хранения сессий пользователей
|
||||
- GITEA__session__PROVIDER=redis
|
||||
- GITEA__session__PROVIDER_CONFIG=redis://redis:6379/0?pool_size=100&idle_timeout=180s
|
||||
|
||||
# 2. Для кэширования (ускоряет работу интерфейса)
|
||||
- GITEA__cache__ENABLED=true
|
||||
- GITEA__cache__ADAPTER=redis
|
||||
- GITEA__cache__HOST=redis://redis:6379/1?pool_size=100&idle_timeout=180s
|
||||
|
||||
# 3. Для очередей задач (асинхронные операции)
|
||||
- GITEA__queue__TYPE=redis
|
||||
- GITEA__queue__CONN_STR=redis://redis:6379/2?pool_size=100&idle_timeout=180s
|
||||
|
||||
# Minio
|
||||
- GITEA__attachment__STORAGE_TYPE=${GITEA__attachment__STORAGE_TYPE}
|
||||
- GITEA__attachment__MINIO_ENDPOINT=${GITEA__attachment__MINIO_ENDPOINT}
|
||||
- GITEA__attachment__MINIO_ACCESS_KEY_ID=${GITEA__attachment__MINIO_ACCESS_KEY_ID}
|
||||
- GITEA__attachment__MINIO_SECRET_ACCESS_KEY=${GITEA__attachment__MINIO_SECRET_ACCESS_KEY}
|
||||
- GITEA__attachment__MINIO_BUCKET=${GITEA__attachment__MINIO_BUCKET}
|
||||
- GITEA__attachment__MINIO_BASE_PATH=${GITEA__attachment__MINIO_BASE_PATH}
|
||||
- GITEA__attachment__MINIO_USE_SSL=${GITEA__attachment__MINIO_USE_SSL}
|
||||
- GITEA__attachment__MINIO_INSECURE_SKIP_VERIFY=${GITEA__attachment__MINIO_INSECURE_SKIP_VERIFY}
|
||||
|
||||
# --- LFS (если нужно) ---
|
||||
- GITEA__lfs__STORAGE_TYPE=${GITEA__lfs__STORAGE_TYPE}
|
||||
- GITEA__lfs__MINIO_ENDPOINT=${GITEA__lfs__MINIO_ENDPOINT}
|
||||
- GITEA__lfs__MINIO_ACCESS_KEY_ID=${GITEA__lfs__MINIO_ACCESS_KEY_ID}
|
||||
- GITEA__lfs__MINIO_SECRET_ACCESS_KEY=${GITEA__lfs__MINIO_SECRET_ACCESS_KEY}
|
||||
- GITEA__lfs__MINIO_BUCKET=${GITEA__lfs__MINIO_BUCKET}
|
||||
- GITEA__lfs__MINIO_BASE_PATH=${GITEA__lfs__MINIO_BASE_PATH}
|
||||
- GITEA__lfs__MINIO_USE_SSL=${GITEA__lfs__MINIO_USE_SSL}
|
||||
- GITEA__lfs__MINIO_INSECURE_SKIP_VERIFY=${GITEA__lfs__MINIO_INSECURE_SKIP_VERIFY}
|
||||
|
||||
# Оптимизации
|
||||
- GITEA__repository__ROOT=/data/git/repositories
|
||||
- GITEA__repository__DETECTED_CHARSETS_ORDER=UTF-8,UTF-16BE,UTF-16LE
|
||||
|
||||
# Безопасность
|
||||
#- GITEA__security__INSTALL_LOCK=true
|
||||
- GITEA__service__DISABLE_REGISTRATION=true # Отключаем публичную регистрацию
|
||||
|
||||
- VIRTUAL_HOST=gitea.domain.ru
|
||||
- LETSENCRYPT_HOST=gitea.domain.ru
|
||||
- LETSENCRYPT_EMAIL=my@email.ru
|
||||
# Можно добавить, если требуется указать внутренний порт:
|
||||
- VIRTUAL_PORT=3000
|
||||
|
||||
networks:
|
||||
- "net"
|
||||
expose:
|
||||
- "3000"
|
||||
ports:
|
||||
- "3090:3000"
|
||||
# - "192.168.1.200:22:22" # Теперь SSH на стандартном порту!
|
||||
volumes:
|
||||
- gitea-data:/data
|
||||
# Добавляем конфиг для MinIO
|
||||
- /mnt/gitea/conf.d/minio-storage.ini:/etc/gitea/conf.d/minio-storage.ini:ro
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 512M
|
||||
reservations:
|
||||
cpus: '0.25'
|
||||
memory: 256M
|
||||
healthcheck:
|
||||
test: ["CMD", "/usr/bin/wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:3000"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 40s
|
||||
|
||||
volumes:
|
||||
gitea-data:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: none
|
||||
device: /mnt/gitea/data
|
||||
o: bind
|
||||
|
||||
networks:
|
||||
net:
|
||||
external: true
|
||||
Reference in New Issue
Block a user