myComix docker 설정파일 host 에 보관하기
1년에 한두시간 쓸까말까 하는 AirComics 서버가 문제가 생겨서, 이참에 myComix 로 옮겨 탔습니다.
다른 모든 앱과 마찬가지로 도커로 설치하는 것이 시스템을 건드리지 않기 때문에 도커버전으로 설치했고요.
개발자가 급하게 만들어서 그런지 모르지만, 설정파일을 따로 관리하지 않도록 되어있어서 컨테이너가 삭제되면
설정해둔 파일이 모두 날아가게 되어있습니다. (컨테이너를 Stop, start 반복하면 문제가 없겠지만, 저는
컨테이너 down 시키는 습관이 있어서... ㅠㅠ)
그래서 설정파일을 host 에 보관하는 방법을 정리해봅니다.
먼저 아래의 yml 파일을 만들어서 컨테이너를 생성후 실행합니다.
services:
myComix:
container_name: myComix
image: imueroid/mycomix
restart: unless-stopped
network_mode: "bridge"
ports:
- "20000:80"
environment:
- PUID=1026
- GUID=100
- TZ=Asia/Seoul
volumes:
- /volume1/media/manga:/data/comics
# - /volume1/docker/mycomix/config/app:/app #설정 완료후 uncomment
시놀로지 기준으로 되어있어서 PUID, GUID 값을 1026, 100 으로 했습니다만, 사실 이부분은 실행하고 상관이 없어서, 빠져도 상관없을 것 같습니다.
그리고 실행하기 전에 호스트에서 데이터 폴더와 아래 폴더/파일의 권한은 모두 rwx 로 바꾸어 주어야 합니다.
이제 http://docker-ip:20000 으로 접속해서 코드 업데이트, 사용자 생성하고, 폴더 지정등 설정을 마친다음 호스트에서 아래 명령을 실행하여 컨테이너에 진입합니다. (호스트에서 하는 방법도 있을테고, GUI로 하는 방법도 있겠지만, 저는 그런 부분은 잘 몰라서... 오직 아는게 컨테이너에 들어가는 것 뿐입니다. ㅎㅎ)
성공적으로 컨테이너에 진입했으면 아래 명령으로 설정 (설정뿐아니라 소스코드도 모두 여기에 있습니다.) 파일을 호스트와 공유하는 데이터 폴더로 옮깁니다.
bash-5.0# rsync -avh app /data/mycomix
데이터 위치를 다르게 설정하셨으면 /data/mycomix 부분은 맞게 수정해주시고요.
복사완료후 exit 으로 다시 컨테이너를 빠져나온후에 호스트에서 아래 명령을 실행합니다.
# rsync -avh app /volume1/docker/mycomix/config/
역시 소스/데이터 폴더는 사정에 맞게 변경해주시고요.
이제 위 yml 파일의 주석처리 된부분을 살려주시고.
컨테이너 삭제 (docker-compose down) 후에 다시 생성/실행 (docker-compose up -d) 하면 이후의 설정 변경사항은 호스트의 app 폴더에 저장되게 됩니다.
참. 별겻도 아닌데 글 작성하려니 오래 걸리는군요. ㅎㅎ
하루 한두개씩 가이드 작성하시는 분들 존경스럽습니다. ㅎㅎ
이미지가 변경되면 위 작업을 다시 해야 할 것 같기는 한데, 최근 업데이트가 몇년전이라 더이상 업데이트는 없을듯 보입니다. ㅋㅋ
cmt alert