Openproject with Docker

2022. 12. 19. 23:47IT관련

반응형

OpenProject

프로젝트 관리를 하기 위해 MS project를 사용하고 싶었으나 가격이 너무 비싸고, 그외는 일정이나 아이템을 공유하기가 쉽지 않았다.

그러다가 open source인 OpenProject를 사용해 보았다.

 

라즈베리파이에 설치하려고 했는데, arm cpu에는 설치하기가 까다로웠다. 그래서 서버는 x86 Ubuntu를 사용하기로 결정하고 쉽게 Docker로 설치했다.

우선 docker-compose가 설치되어 있어야 한다.

Docker-compose 설치

$ sudo apt install docker-compose

OpenProject 설치

https://www.openproject.org/docs/installation-and-operations/installation/docker/#one-container-per-process-recommended

 

Install OpenProject with Docker

Open source project management software for classic, agile or hybrid project management: task management✓ Gantt charts✓ boards✓ team collaboration✓ time and cost reporting✓ FREE trial!

www.openproject.org

$ git clone https://github.com/opf/openproject-deploy --depth=1 --branch=stable/12 openproject
$ cd openproject/compose
$ sudo docker-compose pull
$ sudo OPENPROJECT_HTTPS=false OPENPROJECT_HOST__NAME=xx.xx.xx.xx:8080 docker-compose up -d

OPENPROJECT_HOST__NAME의 디폴트 값은 localhost:8080인데, 이렇게 하고 ip로 접속하면 host name 변경을 하라는 경고문구가 표시 되기 때문에 open project 구동 시 OPENPROJECT_HOST__NAME에 ip로 지정하면 해결된다.

 

이제 브라우저로 http://localhost:8080 또는 http://xx.xx.xx.xx:8080 으로 접속하면 OpenProject를 확인할 수 있다.

최초 admin의 password는 admin이다.

OpenProject 백업

당연히 예외상황을 대비하여 백업은 주기적으로 해야 한다.

OpenProject의 백업 메뉴에서 database dumping(openproject.sql)를 주기적으로 하면 된다.

https://www.openproject.org/docs/system-admin-guide/backup/#backup

 

Backup

Backing up OpenProject.

www.openproject.org

OpenProject 복원

https://www.openproject.org/docs/installation-and-operations/operation/restoring/#using-docker-compose

 

Restoring an OpenProject backup

Open source project management software for classic, agile or hybrid project management: task management✓ Gantt charts✓ boards✓ team collaboration✓ time and cost reporting✓ FREE trial!

www.openproject.org

Database dumping 파일이 openproject.sql이고, database container 이름이 compose_db_1라고 가정한다.

* database container 이름은 $ docker ps | grep postgres 으로 확인 가능하다.

$ sudo docker-compose stop web worker
$ sudo docker exec -it compose_db_1 psql -U postgres -c 'drop database openproject;'
$ sudo docker exec -it compose_db_1 psql -U postgres -c 'create user openproject;'
$ sudo docker exec -it compose_db_1 psql -U postgres -c 'create database openproject own'
$ sudo docker cp openproject.sql compose_db_1:/ 이후 database shell에서 아래 입력
  \c openproject
  \i openproject.sql
  \q
$ sudo docker exec -it compose_db_1 rm openproject.sql
$ sudo docker-compose start seeder
$ sudo docker-compose start web worker
반응형