ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Docker] Gitea로 나만의 Git 구축하기
    ETC/Git 2022. 3. 3. 00:59

    시놀로지 DS116+을 사용하다가 성능과 1베이 용량에 아쉬움을 느껴 DS718+를 구매했다.

     

    전에 작성해두었던 게시글을 토대로 Gogs를 다시 설치하려다가

    718+는 Docker 사용이 가능해서 추후 복구가 편하도록 Docker 위에 올리기로 했....는데

    한글로 쓰인 자료가 거의 없다...ㅜㅜ 그냥 되는대로 설치해 보기로 한다.

     

    나중에 EC2나 회사 코로케이션 서버에 구축할 수도 있으니 최대한 시놀로지의 GUI없이 CLI에서만 구축해 보았다. 

    1. Docker 네트워크 구성

    $ sudo docker network create web-server-network

    2. Docker에 MySQL 및 Gitea 설치

    $ sudo docker pull mysql
    $ sudo docker pull gitea/gitea
    
    $ sudo docker run --name mysql-server -e MYSQL_ROOT_PASSWORD=<password> -d -p 3306:3306 --network web-server-network mysql:latest
    $ sudo docker run --name gitea -d -p 3000:3000 --network web-server-network gitea/gitea:latest

    * 시놀로지 기본 계정으로 들어가면 docker 사용 시 관리자 권한이 필요하다.

     

    이미 컨테이너가 만들어져 있는 상태라면 아래와 같이 네트워크를 연결해준다.

    $ sudo docker network connect web-server-network mysql-server
    $ sudo docker network connect web-server-network gitea
    $ sudo docker network disconnect bridge mysql-server
    $ sudo docker network disconnect bridge gitea

    * 네트워크를 연결해줘야 컨테이너명으로 접근이 가능하다.

    3. MySQL 접속

    $ sudo docker exec -it mysql-server bash
    # mysql -u root -p

    4. gitea 데이터베이스 생성

    mysql> CREATE DATABASE `gitea`;
    Query OK, 1 row affected (0.35sec)

    5. Gitea 설치

    http://synology-ip:3000/ 으로 접속하면 초기설정란이 나온다.

    호스트에는 mysql 컨테이너명을 작성해주고

    나머지는 입맛에 맞게 수정하면 된다.

     

    잘못 입력했다면 컨테이너 내부에서 수정 가능하다.

    $ sudo docker exec -it gitea bash 
    # vi /data/gitea/conf/app.ini

    6. Gitea HTTPS 설정

    찾아보니 여기에서는 SSL 인증서의 pem파일을 넣고 app.ini를 수정하라고 하는데,

    그럴 필요 없다.

     

    시놀로지의 역방향프록시 기능을 이용해 아래와 같이 설정해 주었다.

     

    nginx나 Apache도 똑같이 역방향 프록시 설정해주면 된다.

     

    인증서는 와일드카드로 미리 받아놓아서 문제없이 동작한다.

     

     

     

     

    끝!

    댓글 0

Designed by Tistory.