Kallithea 서버 환경구성을 위한 명령어 및 설치 순서 입니다.
apt-get
# update & upgrade
sudo apt-get update
sudo apt-get -y upgrade
# 기본 패키기 설치
sudo apt-get install -y build-essential git libffi-dev python3-dev python3-venv npm nodejs
python3 -m venv kallithea
pip install Kallithea
# pip install psycopg2 -> 에러 발생
pip install psycopg2-binary # 정상적으로 설치 완료
kallithea-cli config-create waitress.my.ini database_engine=postgres http_server=waitress
# waitress.my.ini 파일 생성됨
[수정한 라인]
#line 66 → host = 0.0.0.0
#line 72 → threads = 3
#line 362 → sqlalchemy.url = postgresql://{ kallithea user } : { password } @localhost/kallithea
[추가한 라인]
#line 363 → ignore_alembic_revision = True (Kallithea 버전을 변경하면서 alembic 모듈에 등록된 alembic version 이 달라지면서 다음과 같은 애러가 발생할 수 있음)
kallithea-cli front-end-build
kallithea-cli repo-scan -c wiatress.my.ini --install-git-hooks
주의사항!!
EC2 인스턴스 환경구성은 ssh 명령어를 통해 진행하는데, Python venv 는 ssh 를 종료하는 동시에 같이 종료됩니다.
따라서 Linux의 Daemon 으로 등록하여 ssh 를 종료하여도 Kallithea가 계속 동작할 수 있게 설정해야 합니다.
# 1. kallithea.service 를 멈춘다.
sudo systemctl stop kallithea.service
# 2. kallithea 에 관련된 환경설정 및 서비스 등을 수정한다.
(수정)
# 3. kallithea 편집한 수정파일을 서비스에 반영
sudo systemctl daemon-reload
# 4. 서비스를 수정하고 자동으로 Kallithea가 자동으로 시작되지 않는다면 다음 코드를 실행
sudo systemctl disable kallithea.service
sudo systemctl enable kallithea.service
# 5. Kallithea 서비스를 시작하고 상태를 확인
sudo systemctl start kallithea.service
sudo systemctl status kallithea.service