Oracle Cloud 무료 서버로 시작하는 self-hosted 생활(2)

Oracle Cloud 무료 서버로 시작하는 self-hosted 생활(2)

작성자
태인태인
카테고리
🧑‍🏫 따라하기
작성일
2024년 07월 10일
태그
Cloud
Web
본 글에서는, 지난 번에 구축한 Oracle Cloud 무료 서버를 활용하는 방법에 대해 알아보도록 하자. 필자가 사용중인 오픈소스 프로젝트들과 구성에 대해 소개해보도록 하겠다.

1. 빠르고 편리한 이미지 설치 및 관리를 위한, Docker

notion image
Docker는 컨테이너 기반의 오픈소스 가상화 플랫폼이다. Docker 이미지에 언어나 프레임워크 버전, 환경 변수 등을 모두 정해놓고, 해당 이미지를 컨테이너화 시켜 실행시키면 그 컨테이너는 로컬 환경과 독립적으로 구동되기 때문에 서버 관리 면에서 편리하다. 후술할 서비스들은 모두 Docker 컨테이너 위에서 작동하고 있다.

2. 웹 UI 기반 컨테이너 관리 툴, Portainer

notion image
Portainer는 Docker로 올린 컨테이너, 이미지들을 GUI로 쉽게 관리할 수 있게 해주는 툴이다. ssh에 접속한 후, cli에서 명령어를 입력해 이미지나 컨테이너를 관리하는 것보다 훨씬 편리하다.

3. 사진 관리 드라이브, Immich

Immich는 개인 사진 및 비디오를 관리하고 저장할 수 있는 오픈소스 프로젝트이다. 자동 백업 기능과 검색 기능을 제공하여, 사진과 비디오를 쉽게 관리할 수 있다. 특히 머신러닝 기능을 이용해 이미지를 분석하여 사물이나 인물을 자동으로 인식하기 때문에 검색 시에 자연어를 사용한 context 기반 검색이 가능하다.
박명수 짤 저장에 유용하다
박명수 짤 저장에 유용하다

4. 광고 차단 DNS, AdGuard Home

AdGuard Home은 광고와 추적기를 차단하는 DNS 서버로, 네트워크 전반에 걸쳐 광고를 차단할 수 있다. 개인 사용 용도로도 좋지만, 커스텀으로 차단할 도메인이나 클라이언트를 지정할 수도 있고, 특정 서비스를 차단하는 기능도 제공하기 때문에 가족이나 회사에서 사용하면 유용할 것 같다.
열심히 일하고 있군요
열심히 일하고 있군요

5. 2단계 인증 앱, 2FAuth

보안을 신경쓴다면 2단계 인증을 켜두라는 이야기를 들어봤을 것이다. 여러 사이트를 사용하다 보면, Google Authenticator와 같은 OTP 방식을 이용해 2단계 인증을 요구하는 경우가 많다. 2FAuth에 이러한 인증 사이트들을 등록해두면 웹에서 바로 코드를 확인할 수 있기 때문에 유용하다.
notion image
 

6. 간단한 메모 앱, memos

notion image
그냥 메모 앱이다. 웹사이트로 접속할 수 있고, 파일 업로드도 지원하기 때문에 내 기기가 아닌 다른 디바이스와 파일이나 텍스트를 공유해야 할 때 유용하게 사용하고 있다.
 

7. 로컬 llm을 어디서나, Ollama & Open WebUI

요새 핫한 주제다. Ollama는 LLM(Large-Language Model)을 로컬로 구동할 수 있게 도와주는 도구이다. Open WebUI는 이 로컬 모델을 chatGPT처럼 쉽게 사용할 수 있도록 UI를 제공해준다. 보안에 유리한 로컬 모델 뿐만 아니라 높은 성능의 모델을 사용할 수 있도록, openAI API 연동 기능도 제공한다. 또 openAI의 음성인식 모델인 whisper(로컬로도 구동하도록 설정 가능)와 TTS API를 사용해 음성 대화 기능도 있어 꽤 편리하다.
notion image
 

8. 내 서버는 소중하니까, VPN 구축하기

VPN의 사용 용도는 여러가지가 있을 수 있지만, 여기서는 서버 보안을 위해 사용해보자. 내 서버에 아무나 접속할 수 없도록 VPN을 구축하고, 이 VPN을 사용한 상태에서만 접속할 수 있도록 하면 된다. VPN의 개념 자체가 외부에서도 내부망에 있는 것처럼 네트워크를 사용할 수 있게 해주는 것이기 때문에 가능한 일이다.

Wireguard를 쉽게 관리할 수 있는 Wg-easy

Wg-easy는 CLI를 이용해야 하는 등 Wireguard의 불편한 점들을 개선해 GUI에서 편하게 사용할 수 있도록 해주는 도커 이미지이다. 설치 후 관리자 페이지를 접속하면 다음과 같이 기기를 추가하고 각 기기에 대해 VPN 접속을 켜고 끌 수 있다.
notion image
이제 Oracle cloud의 보안 규칙에서 SSH 접속 포트인 22번 포트에 대한 TCP 접속을 인스턴스 내부 IP 주소에서만 허용하면 된다.
notion image
Wireguard에 연결할 수 있는 client는 여러 가지가 나와있으므로 마음에 드는 걸 선택해 사용하면 된다. 필자는 TunnelTo를 사용해 접속했다. 이제 VPN 접속 없이 SSH 연결을 시도하면 접속이 실패한다. 사실상 외부망에서의 접속을 차단했기 때문에 보안 측면에서 훨씬 안전해졌다고 볼 수 있다.
 
이 외에도 self-hosted를 지원하는 프로젝트들은 매우 많다. 필요한 기능을 제공하는 서비스들을 찾아 자신의 서버에 설치해보는 것을 추천한다.
self-hosted 서비스들이 상당히 잘 정리되어 있으므로, 아래 사이트를 구경해보는 것도 좋다.

댓글

guest