Initial commit
This commit is contained in:
commit
3c90e57ed0
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.env
|
19
README.md
Normal file
19
README.md
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
# Gitea
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
Gitea is a lightweight, self-hosted Git service written in Go. It's designed to be the easiest, fastest, and most painless way to set up a self-hosted Git service.
|
||||||
|
|
||||||
|
## Features
|
||||||
|
- Easy installation
|
||||||
|
- Cross-platform support
|
||||||
|
- Lightweight (<100MB RAM)
|
||||||
|
- Git-powered repositories
|
||||||
|
- User dashboard, activity timeline
|
||||||
|
- Repository file editor
|
||||||
|
- Branch management
|
||||||
|
- Issue tracking and pull requests
|
||||||
|
- Organization and team management
|
||||||
|
- Webhook support
|
||||||
|
- API support
|
||||||
|
- Two-factor authentication
|
||||||
|
- Email notifications
|
98
docker-compose.yaml
Normal file
98
docker-compose.yaml
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
volumes:
|
||||||
|
traefik: { driver: local }
|
||||||
|
|
||||||
|
services:
|
||||||
|
traefik:
|
||||||
|
image: docker.io/traefik:${TRAEFIK_RELEASE:-v2.9.8}
|
||||||
|
restart: always
|
||||||
|
command:
|
||||||
|
- --api.insecure=false
|
||||||
|
- --providers.docker=true
|
||||||
|
- --providers.docker.exposedbydefault=false
|
||||||
|
- --entrypoints.web.address=:80
|
||||||
|
- --entrypoints.web.http.redirections.entryPoint.to=websecure
|
||||||
|
- --entrypoints.web.http.redirections.entryPoint.scheme=https
|
||||||
|
- --entrypoints.websecure.address=:443
|
||||||
|
- --certificatesresolvers.le.acme.tlschallenge=true
|
||||||
|
- --certificatesresolvers.le.acme.email=${LETSENCRYPT_EMAIL?need email for cert expiry notifications}
|
||||||
|
- --certificatesresolvers.le.acme.storage=/letsencrypt/acme.json
|
||||||
|
ports:
|
||||||
|
- 80:80
|
||||||
|
- 443:443
|
||||||
|
volumes:
|
||||||
|
- traefik:/letsencrypt:rw
|
||||||
|
- /run/docker.sock:/var/run/docker.sock:ro
|
||||||
|
networks:
|
||||||
|
- default
|
||||||
|
|
||||||
|
gitea:
|
||||||
|
image: gitea/gitea:1.22.3-rootless
|
||||||
|
environment:
|
||||||
|
# Database
|
||||||
|
- GITEA__database__DB_TYPE=mysql
|
||||||
|
- GITEA__database__HOST=db:3306
|
||||||
|
- GITEA__database__NAME=${GITEA__database__NAME}
|
||||||
|
- GITEA__database__USER=${GITEA__database__USER}
|
||||||
|
- GITEA__database__PASSWD=${GITEA__database__PASSWD}
|
||||||
|
# Mailer
|
||||||
|
- GITEA__mailer__ENABLED=true
|
||||||
|
- GITEA__mailer__FROM=${GITEA__mailer__FROM:?GITEA__mailer__FROM not set}
|
||||||
|
- GITEA__mailer__SMTP_ADDR=${GITEA__mailer__SMTP_ADDR:?GITEA__mailer__SMTP_ADDR not set}
|
||||||
|
- GITEA__mailer__USER=${GITEA__mailer__USER:-apikey}
|
||||||
|
- GITEA__mailer__PASSWD=${GITEA__mailer__PASSWD:?GITEA__mailer__PASSWD not set}
|
||||||
|
- GITEA__mailer__SMTP_PORT=${GITEA__mailer__SMTP_PORT:?GITEA__mailer__SMTP_PORT not set}
|
||||||
|
- GITEA__mailer__PROTOCOL=${GITEA__mailer__PROTOCOL:?GITEA__mailer__PROTOCOL not set}
|
||||||
|
# Service
|
||||||
|
- GITEA__service__REGISTER_EMAIL_CONFIRM=true
|
||||||
|
- GITEA__service__ENABLE_CAPTCHA=true
|
||||||
|
- GITEA__service__REQUIRE_CAPTCHA_FOR_LOGIN=true
|
||||||
|
- GITEA__service__KEEP_EMAIL_PRIVATE=true
|
||||||
|
- GITEA__service__DEFAULT_ALLOW_CREATE_ORGANIZATION=false
|
||||||
|
# Repository
|
||||||
|
- GITEA__repository__DEFAULT_PRIVATE=true
|
||||||
|
- GITEA__repository__MAX_CREATION_LIMIT=0
|
||||||
|
- GITEA__repository__DISABLE_MIGRATIONS=false
|
||||||
|
# Default
|
||||||
|
# Fails due to special character - override in app.ini
|
||||||
|
# - GITEA__APP_NAME="moeny: git moeny with a cup of gitea"
|
||||||
|
- GITEA__RUN_MODE=prod
|
||||||
|
# Security
|
||||||
|
- GITEA__security__INSTALL_LOCK=true
|
||||||
|
- GITEA__security__MIN_PASSWORD_LENGTH=8
|
||||||
|
restart: always
|
||||||
|
volumes:
|
||||||
|
- ./data:/var/lib/gitea
|
||||||
|
- ./config:/etc/gitea
|
||||||
|
- /etc/timezone:/etc/timezone:ro
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
ports:
|
||||||
|
- "3000:3000"
|
||||||
|
- "2222:2222"
|
||||||
|
depends_on:
|
||||||
|
- db
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.gitea.rule=Host(`${DOMAIN:?DOMAIN not set}`)"
|
||||||
|
- "traefik.http.routers.gitea.entrypoints=websecure"
|
||||||
|
- "traefik.http.routers.gitea.tls=true"
|
||||||
|
- "traefik.http.routers.gitea.tls.certresolver=le"
|
||||||
|
- "traefik.http.services.gitea.loadbalancer.server.port=3000"
|
||||||
|
networks:
|
||||||
|
- default
|
||||||
|
|
||||||
|
db:
|
||||||
|
image: mysql:8
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
|
||||||
|
- MYSQL_USER=${MYSQL_USER}
|
||||||
|
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
|
||||||
|
- MYSQL_DATABASE=${MYSQL_DATABASE}
|
||||||
|
volumes:
|
||||||
|
- ./mysql:/var/lib/mysql
|
||||||
|
networks:
|
||||||
|
- default
|
||||||
|
|
||||||
|
networks:
|
||||||
|
default:
|
||||||
|
name: gitea_default
|
Loading…
Reference in New Issue
Block a user