docker-compose部署gitea

  1. 1. 说明
  2. 2. 代码
    1. 2.1. 网络
    2. 2.2. docker-compose.yaml 文件
    3. 2.3. .env 文件

说明

使用了一段时间 gitlab,发现 gitlab 过于占用服务器资源,找了一圈发现个人使用还是 gitea 比较合适,现在把所有代码库都迁移到 gitea 上,然后再部署一套 Drone,以后利用其对一些服务进行自动化部署

代码

网络

docker 网络采用上次创建 local-networks 网络

docker-compose.yaml 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
version: '3.6'
services:
${DOCKER_NAME}:
image: ${DOCKER_IMAGE}
container_name: ${DOCKER_NAME}
restart: always
ports:
- ${WEB_PORT_EXPOSE}:3000
- ${SSH_PORT_EXPOSE}:22
environment:
- USER_UID=1000
- USER_GID=1000
- APP_NAME=${SERVICE_NAME}
- RUN_MODE=prod
- RUN_USER=git
- DOMAIN=${SERVICE_DOMAIN}
- SSH_DOMAIN=${SERVICE_DOMAIN}
- HTTP_PORT=3000
- ROOT_URL=https://${SERVICE_DOMAIN}
- DISABLE_SSH=true
- SSH_PORT=22
- SSH_LISTEN_PORT=22
- LFS_START_SERVER=true
- DB_TYPE=${DB_TYPES}
- DB_HOST=${DB_HOSTS}
- DB_NAME=${DB_NAMES}
- DB_USER=${DB_USERS}
- DB_PASSWD=${DB_PASSWDS}
- DISABLE_REGISTRATION=true
- REQUIRE_SIGNIN_VIEW=true
- ENABLE_OPENID_SIGNUP=false
- GITEA__repository__DEFAULT_PRIVATE=private
- GITEA__repository__FORCE_PRIVATE=true
- GITEA__server__LANDING_PAGE=explore
- GITEA__service__DISABLE_USERS_PAGE=true
- GITEA__service__SHOW_MILESTONES_DASHBOARD_PAGE=false
- GITEA__openid__ENABLE_OPENID_SIGNIN=false
- GITEA__time__FORMAT=2006-01-02 15:04:05
- GITEA__time__DEFAULT_UI_LOCATION=Asia/Shanghai
- GITEA__other__SHOW_FOOTER_VERSION=false
- GITEA__other__SHOW_FOOTER_BRANDING=false
- GITEA__webhook__ALLOWED_HOST_LIST=${ALLOWED_HOST_LIST}
volumes:
# linux使用
- "/usr/share/zoneinfo/Asia/Shanghai:/etc/localtime:ro"
# macos使用
# - "/var/db/timezone/zoneinfo/Asia/Shanghai:/etc/localtime:ro"
- "./etc/gitea:/data/gitea"
- "./data/gitea-data/ssh:/data/ssh"
- "./data/gitea-data/git:/data/git"
networks:
local-networks:
ipv4_address: 172.20.0.3

networks:
local-networks:
external: true

.env 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 应用名称
SERVICE_NAME=
# 服务域名
SERVICE_DOMAIN=
# 镜像名称
DOCKER_NAME=
DOCKER_IMAGE=gitea/gitea:1.17.3

# 仅允许内部 CI ,本地机器使用 SSH 访问服务
SSH_PORT_EXPOSE=127.0.0.1:1122
# 仅允许内部 CI ,本地机器使用 web 访问服务
WEB_PORT_EXPOSE=127.0.0.1:3000
#钩子白名单
ALLOWED_HOST_LIST=

# 数据库 可选 mysql, postgres, mssql 或 sqlite3
DB_TYPES=
DB_HOSTS=
DB_NAMES=
DB_USERS=
DB_PASSWDS=