generated from sambuc/tpl.docker-compose
Gitea Config
This commit is contained in:
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
*.env
|
||||
gitea/
|
||||
postgres/
|
||||
21
README.md
21
README.md
@@ -1,2 +1,21 @@
|
||||
# tpl.docker-compose
|
||||
# Gitea
|
||||
|
||||
## Requirements
|
||||
|
||||
* Docker
|
||||
* docker-compose
|
||||
|
||||
## Quick start
|
||||
|
||||
1. Copy the examples and adapt as needed their content:
|
||||
|
||||
```sh
|
||||
cp env.example .env
|
||||
cp gitea.env.example gitea.env
|
||||
```
|
||||
|
||||
2. Start Gitea:
|
||||
|
||||
```sh
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
73
docker-compose.yml
Normal file
73
docker-compose.yml
Normal file
@@ -0,0 +1,73 @@
|
||||
version: "3.8"
|
||||
|
||||
networks:
|
||||
gitea:
|
||||
internal: true
|
||||
proxy_home:
|
||||
external: true
|
||||
|
||||
services:
|
||||
db:
|
||||
image: postgres:9.6
|
||||
restart: always
|
||||
environment:
|
||||
- POSTGRES_PORT=${POSTGRES_PORT}
|
||||
- POSTGRES_DB=${POSTGRES_DB}
|
||||
- POSTGRES_USER=${POSTGRES_USER}
|
||||
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
||||
networks:
|
||||
- gitea
|
||||
volumes:
|
||||
- ./postgres:/var/lib/postgresql/data
|
||||
|
||||
gitea:
|
||||
image: gitea/gitea:1
|
||||
restart: always
|
||||
env_file:
|
||||
- gitea.env
|
||||
environment:
|
||||
# Specify here and through docker parameters which are shared between
|
||||
# Gitea and Traefik
|
||||
- DOMAIN=${FQDN}
|
||||
- SSH_DOMAIN=${FQDN}
|
||||
- SSH_LISTEN_PORT=${SSH_LISTEN_PORT}
|
||||
- GITEA__database__TYPE=postgres
|
||||
- GITEA__database__HOST=db:${POSTGRES_PORT}
|
||||
- GITEA__database__NAME=${POSTGRES_DB}
|
||||
- GITEA__database__USER=${POSTGRES_USER}
|
||||
- GITEA__database__PASSWD=${POSTGRES_PASSWORD}
|
||||
networks:
|
||||
- gitea
|
||||
- proxy_home
|
||||
volumes:
|
||||
- ./gitea:/data
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
depends_on:
|
||||
- db
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.docker.network=proxy_home"
|
||||
|
||||
- "traefik.tcp.services.ssh-git.loadbalancer.server.port=${SSH_LISTEN_PORT}"
|
||||
|
||||
- "traefik.http.services.git.loadbalancer.server.scheme=http"
|
||||
- "traefik.http.services.git.loadbalancer.server.port=3000"
|
||||
|
||||
# MIDDLEWARES
|
||||
- "traefik.http.middlewares.git-headers.headers.customframeoptionsvalue=SAMEORIGIN"
|
||||
# Priority goes from first in the list to last.
|
||||
- "traefik.http.middlewares.git.chain.middlewares=git-headers,headers-base@file,headers-sts@file,headers-policy-domain@file"
|
||||
|
||||
# SSH access
|
||||
- "traefik.tcp.routers.ssh-git.service=ssh-git"
|
||||
- "traefik.tcp.routers.ssh-git.entrypoints=ssh-git"
|
||||
- "traefik.tcp.routers.ssh-git.rule=HostSNI(`*`)"
|
||||
|
||||
# Web UI
|
||||
- "traefik.http.routers.git.service=git"
|
||||
- "traefik.http.routers.git.entrypoints=web-secure"
|
||||
- "traefik.http.routers.git.rule=Host(`${FQDN}`)"
|
||||
- "traefik.http.routers.git.tls=true"
|
||||
- "traefik.http.routers.git.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.routers.git.middlewares=git"
|
||||
6
env.example
Normal file
6
env.example
Normal file
@@ -0,0 +1,6 @@
|
||||
FQDN=git.example.net
|
||||
SSH_LISTEN_PORT=22
|
||||
POSTGRES_PORT=5432
|
||||
POSTGRES_DB=gitea
|
||||
POSTGRES_USER=gitea
|
||||
POSTGRES_PASSWORD=gitea
|
||||
4
gitea.env.example
Normal file
4
gitea.env.example
Normal file
@@ -0,0 +1,4 @@
|
||||
USER_UID=1000
|
||||
USER_GID=1000
|
||||
SSH_PORT=2201
|
||||
DISABLE_REGISTRATION=true
|
||||
Reference in New Issue
Block a user