안녕하세요!
이번 포스팅에서는 시놀로지 NAS에 Docker를 이용해 Forgejo를 설치하는 방법을 다루어보겠습니다.
GitHub나 GitLab 같은 외부 서비스도 좋지만,
개인 프로젝트나 민감한 코드는 내 서버에서 관리하고 싶을 때가 있죠.
Forgejo란?
Forgejo는 Gitea에서 포크 된 오픈소스 Git 서비스입니다.
또한 가볍고 빠르며 비영리, 중립성, 탈중앙화의 뚜렷한 철학적 가치를 지향합니다.
Docker 경로 생성

다음 경로를 생성합니다.
/docker/forgejo/data
작업 스케줄러로 Forgejo 설치

시놀로지 제어판의 작업 스케줄러에 진입하여
생성 > 예약된 작업 > 사용자 정의 스크립트를 선택합니다.

일반 탭에서 사용자를 root로 변경합니다.

스케줄 탭에서 위와 같이 설정합니다.

작업 설정 탭에서 다음 스크립트를 본인의 환경에 맞게 수정하여 붙여 넣고 저장합니다.
docker run -d --name=forgejo \
-v /volume1/docker/forgejo/data:/data \
-e TZ=Asia/Seoul \
-p 3000:3000 \
-p 2222:22 \
--restart always \
codeberg.org/forgejo/forgejo:9
3000번 포트를 이미 사용 중이라면, 외부 포트를 변경할 수 있습니다.
예를 들어 4321번 포트를 사용하려면:
-p 4321:3000
SSH 포트도 마찬가지로 변경 가능합니다:
-p 5678:22
콜론(:) 뒤의 숫자인 내부 포트는 변경하지 마세요.

저장된 스케줄러를 우클릭하여 실행합니다.
Forgejo 초기 설정

http://시놀로지 IP:외부포트
처음 접속하면 초기 설정 화면이 나타납니다.
대규모 사용자나 저장소가 많을 경우 PostgreSQL이나 MySQL을 권장하지만,
개인 사용에는 SQLite3로 충분합니다.
- Instance slogan은 부제목으로, 비워도 됩니다.
- 도메인이 없다면, 서버 도메인에 시놀로지 IP를 입력합니다.
- 기본 URL은 IP만 사용 시 http://시놀로지 IP:외부포트를 입력합니다.

사용자 등록 비활성화를 체크하는 것을 권장합니다.
이후 관리자 계정 설정을 클릭하여, 계정을 생성합니다.
“Forgejo 설치하기” 버튼을 클릭하면 설정이 완료됩니다.

만약 이 화면에서 넘어가지 않는다면, data 폴더를 삭제 후 처음부터 진행합니다.

설치가 완료되면 새로 고침 합니다.
첫 저장소 생성
OpenClaw와 같은 서드파티 SDK 툴을 사용할 경우, 모두 자동화가 가능합니다.

관리자 계정으로 로그인하고, 우측 상단에서 New repository를 클릭합니다.

초록색 네모 박스만 확인하면 됩니다.
.gitignore 부분은 프로젝트 언어에 맞게 선택합니다.
이제 Git이라는 인프라는 갖추어졌으니, 개인 프로젝트를 안전하게 관리할 수 있습니다.
필자는 OpenClaw에 연결하여 자동으로 커밋을 관리하게 하고 있습니다.
감사합니다!