memos/Home Server/Gitea.md

91 lines
1.9 KiB
Markdown
Raw Permalink Normal View History

2024-08-26 11:55:58 +00:00
# 1. 전제조건
2024-09-18 14:40:53 +00:00
[[Network/nginx|리버스 프록시]]가 필요함
2024-08-25 15:21:39 +00:00
2024-08-26 11:55:58 +00:00
# 2. Install using docker
## 2.1. Directory structure
2024-08-25 15:21:39 +00:00
```dirtree
- /mnt/md0/infra
- .env
- compose.yml
- /nginx
- nginx.conf
- /conf.d
- default.conf
- locations
- gitea.conf
- /gitea
```
/gitea 폴더 새로 생성
/nginx/conf.d/locations/gitea.conf 파일 새로 생성
2024-08-26 11:55:58 +00:00
## 2.2. Docker compose
2024-08-25 15:21:39 +00:00
/compose.yml 수정
```yml
name: infrastructure
service:
nginx:
# 기존 코드 생략
networks:
- infra
# 새로 추가한 코드
gitea:
image: gitea/gitea:1.22.1
container_name: gitea
restart: always
environment:
- USER_UID=1000
- USER_GID=1000
volumes:
- ${BASE_PATH}/gitea:data:rw
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- 3000:3000
networks:
- infra
# 새로 추가한 코드
networks:
infra:
driver: bridge
```
2024-08-26 11:55:58 +00:00
## 2.3. Reverse Proxy
2024-08-25 15:35:59 +00:00
2024-08-26 11:55:58 +00:00
### 2.3.1. /nginx/nginx.conf
2024-08-25 15:35:59 +00:00
size 제한으로 인해 push에 실패할 수 있는 현상을 수정하기 위해 제한을 없앰
```nginx
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
client_max_body_size 0;
...
}
```
2024-08-26 11:55:58 +00:00
### 2.3.2. /nginx/conf.d/gitea.conf
2024-08-25 15:35:59 +00:00
2024-08-25 15:21:39 +00:00
```nginx
location /git {
proxy_set_header Connection $http_connection;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://gitea:3000;
}
```
2024-08-26 11:55:58 +00:00
# 3. Init
2024-08-25 15:21:39 +00:00
수정할 설정 목록
- 데이터베이스 유형 : SQLite3
- 사이트 제목 : Home Gitea
- SSH 서버 포트 : 삭제
- Gitea 기본 URL : `http://192.168.200.10/git`
- 관리자 계정 설정
- Gitea 설치하기 버튼 클릭