项目作者: madharjan

项目描述 :
Docker Container for Gitea
高级语言: Shell
项目地址: git://github.com/madharjan/docker-gitea.git
创建时间: 2019-06-01T21:46:33Z
项目社区:https://github.com/madharjan/docker-gitea

开源协议:MIT License

下载


docker-gitea

Build Status
Layers

Docker container for Gitea Server based on madharjan/docker-base

Features

  • Environment variables to set database setting or link to postgresql container
  • Environment variables to configure Gitea
  • Bats bats-core/bats-core based test cases

Gitea 1.8.2 (docker-gitea)

Environment

Variable Default Example
DISABLE_GITEA 0 1 (to disable)
GITEA_PROTOCOL http https
GITEA_DOMAIN localhost
GITEA_SMTP_HOST localhost
GITEA_SMTP_PORT 25
GITEA_SMTP_FROM gitea@localhost
GITEA_SMTP_USER pass
GITEA_SMTP_PASS pass
GITEA_REGISTRATION_DISABLE false
GITEA_RECAPTCHA_SECRET
GITEA_RECAPTCHA_KEY
GITEA_INSTALL_LOCK false
GITEA_SECRET_KEY
GITEA_JWT_SECRET
GITEA_ROOT_EMAIL root@localhost
GITEA_ROOT_PASSWORD Git3aPa55
GITEA_DB_TYPE postgres
GITEA_DB_HOST linked to ‘postgresql’ 172.17.0.1
GITEA_DB_PORT linked to ‘postgresql’ 5432
GITEA_DB_USER linked to ‘postgresql’ gitea
GITEA_DB_PASS linked to ‘postgresql’ gitea

Build

  1. # clone project
  2. git clone https://github.com/madharjan/docker-gitea
  3. cd docker-gitea
  4. # build
  5. make
  6. # tests
  7. make run
  8. make test
  9. # clean
  10. make clean

Run

Note: update environment variables below as necessary

  1. # prepare foldor on host for container volumes
  2. sudo mkdir -p /opt/docker/gitea/postgresql/etc/
  3. sudo mkdir -p /opt/docker/gitea/postgresql/lib/
  4. sudo mkdir -p /opt/docker/gitea/postgresql/log/
  5. # stop & remove previous instances
  6. docker stop gitea-postgresql
  7. docker rm gitea-postgresql
  8. # run container
  9. docker run -d \
  10. -e POSTGRESQL_DATABASE=gitea \
  11. -e POSTGRESQL_USERNAME=gitea \
  12. -e POSTGRESQL_PASSWORD=Pa55w0rd \
  13. -v /opt/docker/gitea/postgresql/etc:/etc/postgresql/9.5/main \
  14. -v /opt/docker/gitea/postgresql/lib:/var/lib/postgresql/9.5/main \
  15. -v /opt/docker/gitea/postgresql/log:/var/log/postgresql \
  16. --name gitea-postgresql \
  17. madharjan/docker-postgresql:9.5
  18. # prepare foldor on host for container volumes
  19. sudo mkdir -p /opt/docker/gitea/etc/
  20. sudo mkdir -p /opt/docker/gitea/lib/
  21. sudo mkdir -p /opt/docker/gitea/log/
  22. # stop & remove previous instances
  23. docker stop gitea
  24. docker rm gitea
  25. # run container linked with gitea-postgresql
  26. docker run -d \
  27. --link gitea-postgresql:postgresql \
  28. -e GITEA_INSTALL_LOCK=true \
  29. -e GITEA_SECRET_KEY=1234567890 \
  30. -e GITEA_JWT_SECRET=6Lfjq6YUAAAAAFwDmDtfHyHmL1234567890 \
  31. -e GITEA_ROOT_PASSWORD=Pa55w0rd \
  32. -p 3000:3000 \
  33. -v /opt/docker/gitea/etc:/etc/gitea \
  34. -v /opt/docker/gitea/lib:/var/lib/gitea \
  35. -v /opt/docker/gitea/log:/var/log/gitea \
  36. --name gitea \
  37. madharjan/docker-gitea:1.8.2

Systemd Unit File

Note: update environment variables below as necessary

  1. [Unit]
  2. Description=Gitea Server
  3. After=docker.service
  4. [Service]
  5. TimeoutStartSec=0
  6. ExecStartPre=-/bin/mkdir -p /opt/docker/gitea/etc
  7. ExecStartPre=-/bin/mkdir -p /opt/docker/gitea/lib
  8. ExecStartPre=-/bin/mkdir -p /opt/docker/gitea/log
  9. ExecStartPre=-/usr/bin/docker stop gitea
  10. ExecStartPre=-/usr/bin/docker rm gitea
  11. ExecStartPre=-/usr/bin/docker pull madharjan/docker-gitea:9.5
  12. ExecStart=/usr/bin/docker run \
  13. --link odoo-postgresql:postgresql \
  14. -e GITEA_INSTALL_LOCK=true \
  15. -e GITEA_SECRET_KEY=1234567890 \
  16. -e GITEA_JWT_SECRET=6Lfjq6YUAAAAAFwDmDtfHyHmL1234567890 \
  17. -e GITEA_ROOT_PASSWORD=Pa55w0rd \
  18. -p 80:3000 \
  19. -v /opt/docker/gitea/etc:/etc/gitea \
  20. -v /opt/docker/gitea/lib:/var/lib/gitea \
  21. -v /opt/docker/gitea/log:/var/log/gitea \
  22. --name gitea \
  23. madharjan/docker-gitea:1.0
  24. ExecStop=/usr/bin/docker stop -t 2 gitea
  25. [Install]
  26. WantedBy=multi-user.target

Generate Systemd Unit File

Variable Default Example
NAME gitea
VOLUME_HOME /opt/docker /opt/data
PORT 8080
LINK_CONTAINERS postgresql
GITEA_PROTOCOL https
GITEA_DOMAIN git.company.com
GITEA_SMTP_HOST mail.company.com
GITEA_SMTP_PORT 25
GITEA_SMTP_FROM gitea@company.com
GITEA_SMTP_USER
GITEA_SMTP_PASS
GITEA_REGISTRATION_DISABLE true
GITEA_RECAPTCHA_SECRET 12345678900987654321
GITEA_RECAPTCHA_KEY
GITEA_INSTALL_LOCK true
GITEA_SECRET_KEY 12345678900987654321
GITEA_JWT_SECRET 12345678900987654321
GITEA_ROOT_EMAIL root@company.com
GITEA_ROOT_PASSWORD Pa55w0rd
  1. # generate postgresql.service
  2. docker run --rm \
  3. -e NAME=gitea-postgresql \
  4. -e POSTGRESQL_DATABASE=gitea \
  5. -e POSTGRESQL_USERNAME=gitea \
  6. -e POSTGRESQL_PASSWORD=Pa55w0rd \
  7. madharjan/docker-postgresql:9.5 \
  8. postgresql-systemd-unit | \
  9. sudo tee /etc/systemd/system/gitea-postgresql.service
  10. sudo systemctl enable gitea-postgresql
  11. sudo systemctl start gitea-postgresql
  12. # generate gitea.service
  13. docker run --rm \
  14. -e PORT=80 \
  15. -e LINK_CONTAINERS=gitea-postgresql:postgresql,mail:mail \
  16. -e GITEA_INSTALL_LOCK=true \
  17. -e GITEA_SECRET_KEY=1234567890 \
  18. -e GITEA_JWT_SECRET=6Lfjq6YUAAAAAFwDmDtfHyHmL1234567890 \
  19. -e GITEA_ROOT_PASSWORD=Pa55w0rd \
  20. -e GITEA_SMTP_HOST=mail \
  21. -e GITEA_SMTP_FROM=gitea@company.com \
  22. madharjan/docker-gitea:1.8.2 \
  23. gitea-systemd-unit | \
  24. sudo tee /etc/systemd/system/gitea.service
  25. sudo systemctl enable gitea
  26. sudo systemctl start gitea