• 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글
가이드

Cosmos 설치하고 사용해보기

binn328 573

3

2

새해 복 많이 받으세요🎉

 

 

안녕하세요, 오늘은 Cosmos-Server 를 설치하고 사용하는 글을 남겨보고자 합니다.

 

서버 포럼의 글들을 훑어보다가 이런 글을 발견하게되었습니다.

 

 

슬슬 NPM말고 다른걸 사용해볼까 마음먹고 있었는데, 곧 신년이니 한번 바꿔보기로 하였습니다.

 

 


 

1. 도커 컨테이너 생성

 

저는 Proxmox를 이용하고 있기때문에 Proxmox에서 진행을 하도록 하겠습니다.

 

우선 설치하고자 하는 노드의 쉘에 접속한 후, 도커 컨테이너를 설치하는 스크립트를 실행시킵니다.

 

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/docker.sh)"
  

 

스크립트는 Proxmox VE Helper Script에서 가져왔습니다.

 

 

image.png.jpg

 

램이나 디스크 크기는 나중에 변경이 가능하니 기본 설정으로 설치하시면 됩니다.

 

image.png.jpg

 

이후 Portainer와 Agent는 설치 X, 도커 Compose만 설치해주시면 됩니다.

 

 


 

2. Cosmos-Server 이미지를 도커에 올리기

 

이제 생성된 도커 컨테이너의 쉘에 접속합니다.

 

그리고 아래 명령어를 통해 Cosmos-Server 를 도커에 올려줍니다.

 

docker run -d -p 80:80 -p 443:443 -p 4242:4242/udp --privileged --name cosmos-server -h cosmos-server --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /:/mnt/host -v /var/lib/cosmos:/config azukaar/cosmos-server:latest  

 

명령어의 세부 설정이 필요하시다면 Cosmos-Server의 공식 github를 참고하실 수 있습니다.

 

 

image.png.jpg

 

설치가 완료되었다면 컨테이너의 ip로 접속을 해주면 됩니다.

 

ip는 아래의 명령어를 통해 확인하실 수 있습니다.

 

ip addr  

 

 


 

3. Cosmos-Server 초기설정

컨테이너의 ip로 접속을 하면 아래와 같은 초기설정 화면을 확인하실 수 있습니다.

 

image.png.jpg

 

처음 설치를 하는 것이니 Clean Install에 체크를 하고 Start >를 눌러줍니다.

 

image.png.jpg

 

Cosmos-Server가 도커의 상태를 확인합니다.

 

올바르게 설정되었다면 Next > 를 눌러 다음 단계로 이동합니다.

 

image.png.jpg

 

아직 데이터베이스가 구성되지 않아 구성이 필요하다는 문구가 표시됩니다.

 

저는 자동 구성을 선택하고 Connect를 눌러주겠습니다.

 

image.png.jpg

 

만약 사용자 구성이 필요없거나, 본인의 자격증명 데이터베이스가 존재한다면 구성을 변경해주시면 됩니다.

 

image.png.jpg

 

Connect를 눌러주고 잠시 기다리면 다음단계로 넘어갈 수 있습니다.

 

Next > 를 눌러주겠습니다.

 

image.png.jpg

 

다음은 인증서를 구성하는 단계입니다.

 

만약 본인의 도메인 주소가 없다면 로컬 ip를 입력하실 수 있습니다.

 

image.png.jpg

 

그런 경우, 자체 서명 인증서를 사용할 수 있습니다.

 

image.png.jpg

 

저는 duckdns 도메인이 있으므로 이걸 사용하도록 하겠습니다.

 

image.png.jpg

 

인증서 발급에 사용할 이메일과, 와일드 카드 인증서를 사용하기 위한 DNS Challenge용 토큰을 입력해줍니다.

 

image.png.jpg

 

도메인을 사용하셨다면 해당 컨테이너로 80 포트와 443 포트도 뚫어주셔야합니다.

 

 

그런 다음, Update 버튼을 클릭해 다음 단계로 넘어갑니다.

 

image.png.jpg

 

마지막 단계는 Cosmos-Server의 관리자 계정을 생성하는 단계입니다.

 

Nickname은 로그인에 사용될 아이디를, 

Email은 이메일을,

Password에는 로그인에 사용될 비밀번호를 입력해주시면 됩니다.

 

완료했다면 Create 버튼을 눌러 초기 설정을 완료해줍니다.

 

image.png.jpg

 

마지막으로 Apply And Restart > 버튼을 눌러주면 설정이 완료됩니다.

 

이후 설정이 진행되며, 인증서 생성에 사용되었던 도메인으로 이동됩니다.

 

image.png.jpg

 

Proxmox 에서 도커 컨테이너를 재부팅 시켜줍니다.

 

 


 

4. 설치 완료

성공적으로 설치를 하셨다면 아래 사진처럼 로그인 페이지를 확인하실 수 있습니다.

 

image.png.jpg

 

이전 초기 설정 단계에서 지정해준 Nickname과 Password를 입력하여 로그인해주도록 합니다.

 

 

image.png.jpg

 

저는 이미 이것저것 추가를 해둔 상태입니다.

 

아무튼 이런 화면이 나왔다면, 

 

축하드립니다, 성공적으로 설치가 되었습니다!

 

 


 

5. 앱 추가하기

 

Cosmos는 Market이 존재합니다.

 

image.png.jpg

 

Cosmos 측에서 선정한 프로그램들이 Market에 존재하며, 간단하게 설치가 가능합니다.

 

image.png.jpg

 

저는 IT-Tools를 설치해보도록 하겠습니다.

 

image.png.jpg

 

IT-Tools 카드를 선택하면 우측에 배너가 나옵니다.

 

IT-Tools에 대한 간략한 설명과 이미지가 존재하며, 하단에는 Install 버튼이 있습니다.

 

Install 버튼을 눌러줍니다.

 

image.png.jpg

 

버튼을 누르면 서비스의 이름과 서브도메인을 지정할 수 있습니다.

 

image.png.jpg

 

Customize 버튼을 누르면 볼륨 등의 도커 설정과 자동 업데이트 여부 등을 지정할 수 있습니다.

 

설정을 완료하고 Next 버튼을 눌러줍니다.

 

image.png.jpg

 

Next 버튼을 누르면 Create 버튼이 활성화됩니다. 

 

Create 버튼을 눌러줍니다.

 

image.png.jpg

 

성공적으로 설치가 되었습니다.

 

image.png.jpg

 

추가된 앱은 메인화면에 바로가기가 생성됩니다.

 

image.png.jpg

 

서비스가 제대로 동작합니다.

 

정말 간편합니다.

 

만약 Market에 없는 앱을 설치하고자 한다면 

 

image.png.jpg

 

Compose 파일을 추가하거나

 

image.png.jpg

 

Portainer와 비슷한 UI를 이용해 생성할 수도 있습니다.

 

 


 

6. 프록시 설정하기

Cosmos는 리버스 프록시의 역할도 하기 때문에,

 

Cosmos에서 실행되고 있지 않은 앱이라도 프록시로 추가할 수가 있습니다.

 

image.png.jpg

 

좌측 배너의 URLs를 클릭한 후, Create 버튼을 눌러줍니다.

 

image.png.jpg

 

팝업창에 프록시할 서비스의 이름과 설명을 입력합니다.

 

그리고 Mode를 Proxy로 지정해줍니다.

 

image.png.jpg

 

Target URL 에는 프록시의 대상이 될 서비스의 주소를 입력해줍니다.

 

Source 부분은 2가지 옵션이 존재합니다.

 

  • Use Host

Use Host 옵션은 도메인 주소 앞에 서브 도메인을 붙이는 방식을 사용합니다.

service.domain.com 과 같은 형태가 됩니다.

보통 이 방법을 사용합니다.

  • Use Path Prefix

Use Path Prefix 옵션은 도메인 주소 뒤에 경로를 지정하는 방식을 사용합니다.

domain.com/service 와 같은 형태가 됩니다.

이 방법은 서비스에 따라 동작하지 않는 경우가 있으므로 권장되지 않는 방법입니다.

image.png.jpg

 

그 아래엔 자격 증명의 요구 여부, 스마트 쉴드의 보호 여부, 자체 VPN이 아니면 접속 불가 등의 옵션을 지정할 수 있습니다.

 

image.png.jpg

 

자격 증명을 요구하도록 설정했다면, 해당 링크에 접속할 때 위쪽 사진처럼 로그인을 요구합니다.

 

image.png.jpg

 

마지막, Advenced Settings 에서는 메인메뉴에서 숨기기 여부, 화이트 리스트의 지정 등이 가능합니다.

 

설정을 마치고 Confirm을 눌러주시면 리버스 프록시 설정이 완료되고, 지정하신 주소로 접속이 가능해집니다.

 

 

 


 

7. 마무리

 

Cosmos를 설치하고 사용해보는 긴 여정이 끝났습니다.

 

아직 길게 사용해본건 아니지만 정말 만족스럽네요.

 

NPM에 질리신 분들은 한번 넘어와보셔도 괜찮을 것 같습니다.

 

 

그 외에 

 

image.png.jpg

 

아직 사용해보지 않아 자세히 말씀드리기는 어렵지만, 자체 VPN도 제공합니다.

 

해당 VPN에 연결하지 않으면 서비스에 접속하지 못하도록 하거나

 

DNS를 통해 광고를 차단하는데 사용할 수 있다고 합니다.

 

 

베타서비스가 종료될때까지는 무료로 사용할 수 있다고 합니다.

 

 

긴 글 읽어주셔서 감사합니다.

 

신고공유스크랩
2
binn328 글쓴이 2024.01.01. 13:49
콜라
리버스 프록시 + 도커 + 적당한 보안성 이 한데 모인 앱이라서 좋습니다

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story
쓰기
태그 : docker
번호 제목 글쓴이 날짜 조회 추천
pfsense/opnsense + Elastic Stack 프로젝트 pfelk 2 달소 1일 전01:57 449 +1
메인서버 정리용 선반구매 + 정리 5 kmw_ 4일 전18:54 392 +2
하필 왜 밖에있을때 죽는지.. 6 kmw_ 5일 전10:47 358 +1
50
image
keiminem 4일 전17:36 178 0
49
image
kmw_ 5일 전10:47 358 +1
48
normal
달소 6일 전10:03 103 0
47
image
keiminem 24.05.24.08:53 881 +1
46
image
keiminem 24.05.24.08:24 304 +1
45
normal
Elphina 24.05.19.19:58 119 0
44
image
ljr10 24.05.19.17:29 157 0
43
image
ljr10 24.05.01.08:20 260 0
42
normal
ljr10 24.04.26.21:18 217 0
41
normal
감자칩 24.04.19.18:55 191 0
40
image
추주비 24.04.18.10:33 420 +1
39
normal
N4100 24.04.15.18:56 607 +4
38
normal
감자칩 24.04.04.20:23 278 0
37
image
달소 24.03.30.22:45 544 +3
36
normal
달소 24.03.30.22:32 418 +2
35
normal
서맹 24.03.08.15:15 200 +1
34
normal
모랄로 24.03.04.17:54 531 0
33
image
purndal 24.03.02.20:08 649 +3
32
image
달소 24.03.02.17:00 599 +5
31
image
ljr10 24.03.01.18:53 100 0