반응형
먼저 서버에는 docker와 docker-compose가 설치되어 있어야 한다.
1. docker-compose.yml을 작성하여 gitea와 mysql을 설치한다.
networks:
gitea-server-network:
external: true
services:
gitea:
container_name: gitea
image: gitea/gitea:latest
restart: always
volumes:
- /sw/gitea-data:/data
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
ports:
- "3000:3000"
- "222:22"
environment:
- USER_UID=1000
- USER_GID=1000
- DB_TYPE=mysql
- DB_HOST=192.168.10.1:3306
- DB_NAME=gitea
- DB_USER=gitea
- DB_PASSWD=gitea_mitw_jjangjjangman
- GITEA__server__ROOT_URL=https://git.mitw.co.kr/
- TZ=Asia/Seoul
networks:
- gitea-server-network
mysql:
image: mariadb:10.3
container_name: mysql
environment:
MYSQL_ROOT_PASSWORD: mitw_jjangjjangman
ports:
- "3306:3306"
volumes:
- /sw/mysql-data:/var/lib/mysql
- ./init.sql:/docker-entrypoint-initdb.d/init.sql
restart: unless-stopped
networks:
- gitea-server-network
2. init.sql을 작성한다. (docker로 컨테이너가 올라오고 나서 서버가 시작할 때, 실행된다.)
#외부 접속 허용 ROOT
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'gitea_mitw_jjangjjangman' WITH GRANT OPTION;
#Gitea에서 사용할 계정 생성 및 스키마 생성
GRANT ALL PRIVILEGES ON gitea.* TO 'gitea'@'%' IDENTIFIED BY 'gitea';
GRANT ALL PRIVILEGES ON gitea.* TO 'gitea'@localhost IDENTIFIED BY 'gitea';
create database gitea default character set utf8mb4 collate utf8mb4_general_ci;
#접속 권한 및 CRUD 권한 부여
grant select,insert,update,delete on gitea.* to gitea@localhost;
grant select,insert,update,delete on gitea.* to gitea@'%';
FLUSH PRIVILEGES;
3. 실행한다.
docker-compose up -d
* 주의할 점.
- Gitea 기본 URL을 잘못 입력했으면, /data/gitea/conf/app.ini 에서 line 20.
ROOT_URL 항목을 수정하고 docker restart gitea
- 그리고, 회원가입이 활성화되어 있다. 이를 막으려면 /data/gitea/conf/app.ini 에서 line 67.
DISABLE_REGISTRATION 항목을 true로 변경하고 docker restart gitea
- 가장 중요한 점...!!!!!
> 반드시 Gitea 서버(컨테이너)의 /data가 docker 컨테이너 외부를 바라보도록 volume을 설정할 것.
> 그렇지 않으면, 컨테이너 내리면 다 삭제됨.
> 그리고, ROOT_URL, DISABLE_REGISTRATION 이거 백날 변경해봐야 컨테이너 재기동 시 되돌아간다..
돌아갈까봐 그래 돌아갈까봐..

'Docker' 카테고리의 다른 글
| gitlab 관리자 사용 시 504 발생으로 설정이 안될 때, (nginx,gitlab timeout 해도 안될 때) (1) | 2025.07.16 |
|---|---|
| docker로 Oracle 19c SERVER 구축하기 (Oracle 19c server for docker) (0) | 2023.09.21 |
| docker로 MariaDB SERVER 구축하기 (mariadb server for docker) (0) | 2023.09.19 |
| docker로 MS-SQL SERVER 구축하기 (mssql server for docker) (0) | 2023.09.18 |
| podman - rootless, daemonless (0) | 2022.05.12 |
댓글