72 lines
2.4 KiB
YAML
72 lines
2.4 KiB
YAML
version: "3.8"
|
|
|
|
services:
|
|
|
|
db:
|
|
image: postgres:14-alpine
|
|
restart: always
|
|
environment:
|
|
- POSTGRES_USER=${POSTGRES_USER}
|
|
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
|
- POSTGRES_DB=${POSTGRES_DB}
|
|
networks:
|
|
- default
|
|
volumes:
|
|
- ./data/pgsql:/var/lib/postgresql/data
|
|
|
|
gitea:
|
|
image: gitea/gitea:latest
|
|
container_name: gitea
|
|
environment:
|
|
- APP_NAME=${GITEA_NAME}
|
|
- USER_UID=${GITEA_UID}
|
|
- USER_GID=${GITEA_GID}
|
|
- GITEA__server__ROOT_URL=${GITEA__server__ROOT_URL:?GITEA__server__ROOT_URL not set}
|
|
- GITEA__server__DOMAIN=${GITEA__server__DOMAIN:?GITEA__server__DOMAIN not set}
|
|
- GITEA__service__DISABLE_REGISTRATION=true
|
|
### IF Mailer is used you can activate self registration with email confirmation, mail notifies...
|
|
- GITEA__service__REGISTER_EMAIL_CONFIRM=true
|
|
- GITEA__service__ENABLE_NOTIFY_MAIL=true
|
|
- GITEA__database__DB_TYPE=postgres
|
|
- GITEA__database__HOST=db:5432
|
|
- GITEA__database__NAME=${POSTGRES_DB}
|
|
- GITEA__database__USER=${POSTGRES_USER}
|
|
- GITEA__database__PASSWD=${POSTGRES_PASSWORD}
|
|
- GITEA__mailer__ENABLED=${GITEA__mailer__ENABLED:?GITEA__mailer__ENABLED not set}
|
|
- GITEA__mailer__SMTP_ADDR=${GITEA__mailer__SMTP_ADDR:?GITEA__mailer__SMTP_ADDR 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}
|
|
- GITEA__mailer__FROM=${GITEA__mailer__FROM:?GITEA__mailer__FROM not set}
|
|
# - GITEA__mailer__USER=${GITEA__mailer__USER:?GITEA__mailer__USER not set}
|
|
# - GITEA__mailer__PASSWD="""${GITEA__mailer__PASSWD:?GITEA__mailer__PASSWD not set}"""
|
|
restart: always
|
|
networks:
|
|
- default
|
|
- proxy
|
|
volumes:
|
|
- ./data/gitea:/data
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
# ports:
|
|
# - "3000:3000"
|
|
# - "2221:22"
|
|
depends_on:
|
|
- db
|
|
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.http.routers.gitea.rule=Host(`gitea.example.com`)
|
|
- traefik.http.routers.gitea.tls.certResolver=le
|
|
- traefik.http.routers.gitea.service=gitea
|
|
- traefik.http.services.gitea.loadbalancer.server.port=3000
|
|
- traefik.docker.network=proxy
|
|
|
|
logging:
|
|
driver: "json-file"
|
|
options:
|
|
max-size: "1m"
|
|
|
|
networks:
|
|
proxy:
|
|
external: true
|