180bpm
synology에서 docker를 이용한 최신 redmine 설치 본문
쉽지 않았다.
패키지 매니저에서 제공하는 redmine은 3.x라서 최신 플러그인과의 충돌이 있다.
그래서 docker에서 배포되는 최신 이미지를 받아서 설치하려고 함.
근데 또 대부분 플러그인들이 업데이트가 안되서 최신에서 충돌이 남..하하..하하
정말 거지같았다.. 이 문서가 도움 많이 되었다.
http://blueline-ag.de/files/Howto%20Setup%20Redmine%20Container.pdf
1. MariaDB 5, phpmyadmin 설치
10은 mysql호환성이 없어서 관련 명령어가 오류난다. 5를 추가설치 하자.
설치가 완료되면 ssh 접속해서 my.cnf를 수정해야한다
사용자마다 경로가 다를테니 sudo find / -name my.cnf 로 어디에 위치했는지 확인 할것.
sudo vi /volume1/@appstore/MariaDB/etc/mysql/my.cnf
i 입력하고 커서를 skip-external-locking 앞으로, # 입력해서 주석처리 하고 esc > : > wq!
그리고 mariadb, phpmyadmin 재시작
그리고 나는 db에 계정이 없어서 계속 오류가 났다. 그래서 계정을 먼저 만든다.
phpmyadmin에서 루트 계정으로 mariaDB 5에 접속,
계정 생성하는 쿼리를 실행한다
CREATE USER'redmine_user'@'%' IDENTIFIED BY 'pass1234Word';
그리고 사용자 계정에서 전체적 권한으로 수정한다
2. docker 설치
그냥 패키지 센터에서 받는다
3.docker image 다운로드
두번째 것으로 받는다.
4.컨테이너 생성
고급 설정의 볼륨에서 경로 마운트
포트 설정
https적용은 다음 링크 참조
https://www.hind.pe.kr/1351
환경변수 추가
잘 안되면 DEBUG 값을 true로 넣어서 디버그 로그를 보면서 문제 파악을 해본다.
REDMINE_PORT 30003
> 필요한가? 일단 넣으라길래 넣었다
DB_ADAPTER mysql2
> MariaDB일경우 mysql2, 그 외에는 배포 사이트에서 확인할것.
DB_HOST 192.168.0.5
>localhost일경우 동작하지 않았다. 네트워크에서 나에게 할당된 IP를 입력해야 동작했다.
>안그러면 다음과 같이 오류가 계속 발생한다.
> + exec_as_redmine mysqladmin -h localhost -P 3306 -u redmine_user -ppass1234Word status
> + timeout=42
DB_NAME redmine_production
>사용할 DB명
DB_USER redmine_user
>DB_PASS는 1번에서 만들었던 유저명
DB_PASS pass1234Word
>DB_PASS는 1번에서 만들었던 유저의 pass
여기까지 했으면 정상적으로 실행될것이다.
정말 지쳤다...
플러그인과 테마는 이왕이면 연결된 볼륨을 이용하는게 관리하기 쉬운듯 하다.
마이그레이션이 필요한건 ssh에서 직접 처리할것.
redmine_ckeditor 설치시 다음과 같은 오류가 난다면
>> An error occurred while installing pg (1.2.3), and Bundler cannot continue.
다음 패키지를 설치할것
sudo apt update && apt install postgresql-contrib libpq-devlibsqlite3-dev libmariadb-dev
그외 gem 어쩌구 하는 에러가 나면 에러에 나온 패키지를 먼저 설치 할것.
플러그인 설치 후 "rake aborted!" 오류 로그와 함께 컨테이너가 죽어버린다면
ssh에서 컨테이너를 실행해본다. 그럼 실행로그가 뜬다.
docker container start -i redmine
그럼 보통 문제되는 플러그인의 오류가 보인다
NoMethodError: undefined method `to_prepare' for ActionDispatch::Callbacks:Class
Did you mean? to_param
/home/redmine/redmine/plugins/redmine_custom_reports/lib/redmine_custom_reports.rb:1:in `<top (required)>'
그럼 find -name <문제있는플러그인> 검색해서 컨테이너 안의 플러그인을 삭제 후 재기동
[!] There was an error parsing `Gemfile`: You cannot specify the same gem twice with different version requirements.
You specified: dalli (>= 0) and dalli (~> 2.7.0). Bundler cannot continue.
요런 빨간 오류가 난다면, 컨테이너 안의 redmine 폴더에 있는 GemFile을 수정.
주석처리 하면 된다.
자주 쓰던 커맨드들
ssh deb@192.168.0.5 -p 2201
docker exec -it redmine /bin/bash
bundle install --without development test --no-deployment
rake redmine:plugins:migrate RAILS_ENV=production
docker container start -i redmine
하나부터 열까지 깔끔하게 끝나지 않아서 불만족
패키지에서 redmine 설치
버전이 3.4.13이라 주의docker에서 최신 이미지 받아서 설치하려고 했는데 잘 안되었다
ckeditor 설치
시키는대로 따라하니 계속 컨테이너가 죽는다;;마이그레이션때 뜨는 오류를 찾아서 처리해야한다.이건 마이그레이션 하는 대부분의 플러그인도 마찬가지.
기타 플러그인
참고한 링크들
github.com/sameersbn/docker-gitlab/issues/1861
http://paheun.com/index.php?controller=blog&action=view&category=nas