지금까지 사용한 self hosted apps
노트북에서 Odroid N2까지
처음에는 내 노트북에 서버를 설치해 운영했다. 하지만 노트북을 24시간 켜놓을 수는 없었고, 그렇다보니 밖에서 가끔 원할 때마다 접속할 수 없어서 아쉬웠다. 그래서 서버를 노트북 대신 다른 기기에 설치하고 싶다는 생각이 들었고 인터넷으로 찾아 봤다. 우선 24시간 켜 놓는다는 가정 하에 비교적 저전력의 컴퓨터를 사용하고 싶었고, 그렇게 국내 업체인 Hardkernel에서 판매하는 Odroid 제품을 알게 됐다.
마침 Odroid-XU4의 할인 기간이었고 USB 3.0 포트를 가지고 있어 나만의 서버를 운영하기에는 적절하다고 생각했다. 그렇게 구매를 하고 4일 정도 뒤에 도착한 것으로 기억한다.
성능은 만족스러웠다. 여름이라 발열이 높지 않을까 걱정했지만 쿨링팬이 장착된 모델을 구입해서 큰 걱정은 하지 않을 수 있었다. 다만 조용한 밤에는 쿨링팬 돌아가는 소리가 조금 신경쓰였다.
Odroid XU4에 여러 앱들을 설치했다. 처음에는 host에 직접 Database, PHP, Nginx 등을 설치해서 서버를 운영했는데 여러 프로그램을 반복해서 설치 및 삭제하다보니, 항상 신경쓰지 못한 가비지 파일들이 자꾸 남아있었다. 그래서 도커(Docker)로 프로그램을 모두 옮겼다. 프로그램을 삭제하고 싶을 때는 도커 이미지와 볼륨만 삭제하면 깔끔하게 모든 흔적을 다 지울 수 있어 편했다. 그리고 프로그램 설치 과정을 Dockerfile에 기록하고, 나중에 재설치할 때 다시 그 Dockerfile을 빌드하면 되는 간단한 과정도 마음에 들었다.
하지만 Odroid XU4에는 한 가지 문제점이 있었다. 바로 Odroid XU4는 armv7l, 즉 32bits 프로세서라는 것이다. 도커에 존재하는 이미지들 중에서 armv7l을 지원하지 않는 이미지가 꽤 있었다. 처음에는 직접 PHP, Alpine, Ubuntu 이미지에 필요한 패키지를 설치하고 빌드하여 사용하긴 했지만, 시간이 흐를수록 생각보다 armv7l을 지원하지 않는 이미지들이 자꾸 생겼다. 그래서 큰 맘 먹고 Odroid N2를 구매했다. Odroid N2도 마침 할인 행사를 하고 있었다.
Odroid XU4에서 Odroid N2로 바꾼 뒤에는 확실히 지원되는 도커 이미지가 늘어났다. 그리고 CPU 성능은 물론 RAM 용량도 2배로 늘어나 부담없이 서버를 운영할 수 있었다. 가장 마음에 들었던 점은 쿨링팬 대신 거대한 방열판을 부착해 소음 걱정이 없었다.
사용해본 Self hosted apps
1. Dokuwiki(링크)
제일 처음에 설치했던 프로그램이다. 사실 웹 서버를 운영하겠다고 생각한 계기 중에 하나가 내가 관심있어 하는 정보를 쉽게 찾아볼 수 있는 나만의 위키를 만드는 것이었다. DB를 사용하지 않아 관리 및 백업하기가 매우 편해 2달 정도 사용했지만, 디자인이 마음에 들지 않아 Bookstack으로 옮겼다. 다만 아직 삭제는 하지 않고 비공개로 놔두고 있다.
2. Bookstack(링크)
디자인이 마음에 들어 Dokuwiki에서 옮겼다. 프로그램 이름 그대로 책꽃이, 책, 챕터, 페이지로 세분화되는 것이 마음에 들었고 세련된 에디터도 좋았다.
3. Gitea(링크)
개인적으로 위키 다음으로 운영하고 싶었던 것이 Git 서버였다. 처음에는 Git만 설치하여 사용했지만, 다른 부가적인 기능들도 활용하고 싶어 Gitea를 설치했다. GitLab이라는 좋은 프로그램도 있지만 요구 사양이 높아서 가벼운 Gitea를 설치했다. 업데이트도 매우 활발하고 많은 기능을 지원하여 만족스럽게 사용하고 있다.
4. Nextcloud(링크)
가장 만족하는 프로그램 중에 하나다. Audio Player, Feed Reader, Calender, Notes 등 완성도 높은 다양한 플러그인들을 지원하고 링크 공유도 문제 없이 잘 동작해 유용하게 사용하고 있다.
5. Piwigo(링크)
사진 관리 프로그램이다. 유용하게 사용하고 있었지만 Nextcloud의 사진 기능으로 대체할 수 있어 지금은 삭제했다. 물론 Piwigo가 사진 관리에 특화된 프로그램인 만큼 더 많은 부가 기능을 제공했지만, 나는 단순히 뷰어 기능만 있으면 충분했기에 Nextcloud로 대체했다.
6. FreshRSS(링크)
가볍고 UI도 꽤 마음에 들었던 Feed Reader 프로그램이다. 다만 Nextcloud의 Feed Reader 플러그인으로 대체할 수 있어 지금은 삭제했다. 내 컴퓨터만의 문제인지는 모르겠지만 가끔 FreshRSS의 동작이 멈추는 현상이 간헐적으로 발생했다.
7. XBackBone(링크)
파일 공유 프로그램이다. 홈페이지에서 바로 소스 코드를 확인할 수 있어 편했다. 곧 출시할 3.0 버전부터는 PDF 미리보기와 웹 브라우저에서 바로 파일을 업로드할 수 있는 기능도 추가된다고 하니 훨씬 유용해질 것 같다. 다만 아직까지는 Nextcloud의 공유 기능으로도 충분히 대체할 수 있어 사용을 거의 안하고 있다.
8. WordPress
원래는 Bookstack에 지금과 같이 일상적인 주제도 올렸는데, Bookstack은 온전히 위키 기능만을 수행하도록 하고 싶어 지금의 WordPress를 설치했다.
9. Elkarte(링크)
Elkarte는 많이 생소할텐데 포럼 프로그램이다. 2019년 11월 30일 기준으로 Elkarte는 거의 사용하지 않아 운영을 중단했다.
10. Netdata(링크)
내 웹 서버에 유일한 모니터링 프로그램이며 세련된 디자인때문에 사용하고 있다. 전체적인 자원 사용량부터 도커 내 컨테이너들의 자원 사용량까지 비교적 자세하게 표시해준다.
이 외에도 Stikked, Akaunting 등 다른 프로그램들도 있지만 오래 사용하지는 않은 프로그램들이었다. 지금은 Bookstack, WordPress, Netdata(비공개), Gitea(부분 비공개), XBackBone(비공개), Dokuwiki(비공개) 이 6개만 운영하고 있다.