개요
개인적인 코드 저장소로 Gitea 를 잘 활용하고 있습니다.
Docker 로 운영하고 있고 개별 컨테이너는 Diun 을 활용해서 업데이트 알림을 Slack 으로 받고 있습니다.
업데이트 알림이 오면 Gitea Release Note 를 확인한 후에 컨테이너를 업데이트 합니다.
그리고 Self Check 메뉴에 들어가서 확인하는 것으로 업데이트 후 혹시 모를 이상 여부를 확인하는 정도로 하고 있습니다.
그런데 오늘은 다음과 같은 메세지가 보여집니다.
해결 과정
컨테이너에 접속해서 gitea doctor convert 명령을 실행해 보면 다음과 같이 오류가 발생합니다.
gitea 명령어는 root 로 실행할 수 없다고 합니다.
현재 계정은 root 로 확인됩니다.
kkomzi@KKOMZI_HPN54L:/volume1/docker/gitea$ docker exec -it gitea /bin/bash
29b0a685a4b9:/# gitea doctor convert
2025/01/09 09:43:22 ...s/setting/setting.go:179:loadRunModeFrom() [F] Gitea is not supposed to be run as root. Sorry. If you need to use privileged TCP ports please instead use setcap and the `cap_net_bind_service` permission
29b0a685a4b9:/# whoami
root
그래서 계정 목록을 확인해서 git 계정으로 전환합니다.
29b0a685a4b9:/# cat /etc/passwd
root:x:0:0:root:/root:/bin/sh
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/mail:/sbin/nologin
news:x:9:13:news:/usr/lib/news:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucppublic:/sbin/nologin
cron:x:16:16:cron:/var/spool/cron:/sbin/nologin
ftp:x:21:21::/var/lib/ftp:/sbin/nologin
sshd:x:22:22:sshd:/dev/null:/sbin/nologin
games:x:35:35:games:/usr/games:/sbin/nologin
ntp:x:123:123:NTP:/var/empty:/sbin/nologin
guest:x:405:100:guest:/dev/null:/sbin/nologin
nobody:x:65534:65534:nobody:/:/sbin/nologin
catchlog:x:100:101:catchlog:/:/sbin/nologin
git:x:1000:1000:Linux User,,,:/data/git:/bin/bash
git 계정으로 전환한 다음 다시 실행하면 다음과 같이 오류 없이 잘 실행되는 것을 확인할 수 있습니다.
29b0a685a4b9:/# su git
29b0a685a4b9:/$ gitea doctor convert
2025/01/09 09:48:34 ...md/doctor_convert.go:32:runDoctorConvert() [I] AppPath: /usr/local/bin/gitea
2025/01/09 09:48:34 ...md/doctor_convert.go:33:runDoctorConvert() [I] AppWorkPath: /data/gitea
2025/01/09 09:48:34 ...md/doctor_convert.go:34:runDoctorConvert() [I] Custom path: /data/gitea
2025/01/09 09:48:34 ...md/doctor_convert.go:35:runDoctorConvert() [I] Log path: /data/gitea/%(GITEA_WORK_DIR)/log
2025/01/09 09:48:34 ...md/doctor_convert.go:36:runDoctorConvert() [I] Configuration file: /data/gitea/conf/app.ini
2025/01/09 09:50:45 ...md/doctor_convert.go:40:runDoctorConvert() [W] [Slow SQL Query] ALTER TABLE `notice` ROW_FORMAT=dynamic [] - 5.108479073s
2025/01/09 09:53:19 ...md/doctor_convert.go:40:runDoctorConvert() [W] [Slow SQL Query] ALTER TABLE `action` ROW_FORMAT=dynamic [] - 7.082555438s
2025/01/09 09:53:41 ...md/doctor_convert.go:40:runDoctorConvert() [W] [Slow SQL Query] ALTER TABLE `comment` ROW_FORMAT=dynamic [] - 6.425048652s
Converted successfully, please confirm your database's character set is now utf8mb4
참조
오류에 대한 해결 방법은 gitea 포럼에서 확인할 수 있었습니다.
0 Comments