지난 coolify 관련 글은 로컬서버에 설치하는 방법이었다. https://blog.1day1.org/717

 

coolify + n8n 으로 자동화해보자 - 설치편 (feat. vultr)

최근 재미있는 것을 봐서 시도해보려고 한다.coolify 는 vercel / netlify 비슷한 서비스를 만들어주는 오픈소스라고 보면 된다. - 서비스로도 사용할 수 있지만, 셀프 호스팅으로 설치해보려 한다. -

blog.1day1.org

coolify 는 로컬서버 뿐 아니라, 원격지 서버를 등록해서 앱을 배포해서 사용할 수 있다.
서버 사양을 분산하거나, 프로젝트별로 분리해서 관리하는 등 여러가지 이유로 원격서버에 설치할 필요가 생긴다.
서버는 여러개가 될 수 있지만, 전체를 coolify 에서 통합관리하기에 불편하지는 않다.

원격서버는 클라우드 서버일 수도 있고, 리얼서버일 수도 있다. 인터넷 접속할 수 있다면 모두 등록 가능하다.
원격서버 등록은 크게 어렵지는 않다. 단, 원격접속 설정 한가지만 사전 등록해준다.

coolify 가 원격서버에 접속할 수 있도록 ssh key 등록을 해준다.(아래 이미지의 localhost's key )

ssh key 를 원격지서버에 등록해준다.

어떤 key 를 등록해줘야 하는가? (publick key 등록)

coolify 의 Keys & tokens 메뉴에서 아래 이미지의 표시한 부분에서 Public Key 를 복사한다.(아래는 일부지만, 전체를 복사)

원격지 서버에 접속해서 .ssh/authorized_keys 에 해당 Public Key를 입력해준다.

형식은 아래와 비슷한데, 맨끝의 coolify 는 구분용으로 임의로 입력한 값이다.

# cat .ssh/authorized_keys
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5A-퍼블릭키값-NDZbYm-전체-AuLg3 coolify

사전 준비는 끝. (coolify => remote 접속이 가능하면 OK)

주의!!

다음 진행하기 전에 원격서버가
웹(80/443 포트)서버로 이미 사용중이라면 정상설치가 안될 수 있다.

 

원격 서버에 도커엔진 설치하기

위 Validate Server & Install Docker Engine 버튼을 클릭하면,
서버에 접속가능한지 체크하고, 필요한 도커관련 설치를 한다.

특별한 이상이 없다면, 위처럼 단계가 처리된다.

원격 서버를 등록한 후에는 coolify 앱 등록 / 배포등을 진행하면 된다.

Products => Resources => (앱 또는 서비스) => [서버선택시 등록한 원격 서버 선택] => Configuration => Deploy

위와 같은 단계로 진행하는데, 중간단계에 설치/배포할 서버를 원격지 서버로 선택하면 된다.

 

[활용방안]

이 작업을 하는 이유는 기존의 단독으로 운영되는 스프링프로젝트 서버가 있다.
접속이 많을 때 서버가 다운되는 현상이 있어서 어떻게 조치할 까 생각중인데, 스프링앱을 일부 분리해서 도커에 올려 부하 분산을 할려고 구상중이다. 접속이 많은 현상이 항상 그런 것이 아니라, 간헐적으로 나타나기 때문에 앱을 신규 등록 했다가 다시 삭제 하는 형태로 유동적으로 운영할려고 한다.

 

[추가]

혹시 위 원격서버 등록시 다음과 비슷한 에러를 만난 경우

기존에 nginx 로 80/443 포트를 사용하던 원격서버에 세팅하는 경우 위와 같은 에러를 만나게 된다.
관련 조치는 nginx 설정을 다른포트(8080/8443 등)로 바꾸고 coolify 쪽에서 proxy 설정을 연동해줘야한다.
즉, coolify 가 80 / 443 포트를 컨트롤 하도록 해줘야 한다. 이 부분은 별도로 포스팅 하도록 하겠다.

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,