내 오래된 픽셀에 구글 포토 대안을 직접 호스팅한다

발행: (2026년 5월 17일 PM 08:00 GMT+9)
11 분 소요

출처: Android Authority

Dhruv Bhutani / Android Authority

Google Photos가 스마트폰 사진 관리에 있어 가장 큰 혁신이었다고 말해도 과언이 아니다. 수년간 이것은 “설정하고 잊어버리면 된다”는 궁극적인 도구였다. 그리고 오랫동안 내가 가장 먼저 추천하던 서비스였다. 사실상 무료였고, 무제한이었으며, 장기적으로 사진을 어떻게 보관할지 고민하고 싶지 않은 사람에게는 완벽했다. 하지만 어느 순간부터 파티는 끝났고 저장 용량 제한이 적용되었다. 이제는 더 이상 명백한 선택이 아니다.

많은 사람들처럼 나도 NAS를 구축하고 자체 Google Photos 대안을 만들었다. Immich 같은 여러 셀프‑호스팅 플랫폼을 실험해 보며 Google Photos에 부과되는 “세금”을 피하려고 했지만, 최근엔 다른 해결책을 고민하게 되었다. 책상 서랍에 놓여 있던 오래된 Pixel을 바라보며 나는 고성능 배터리 구동 리눅스 서버를 손에 넣은 셈이라는 생각이 들었다. 주말 프로젝트로 딱 맞는 장치였다.

오래된 Pixel Fold가 바로 고성능 배터리 구동 리눅스 마이크로 서버 역할을 해줄 완벽한 기기였다.

스마트폰 하나만으로도 현대적인 셀프‑호스팅 대안을 만들고 싶었지만, 지하실에 랙 서버를 두거나 NAS처럼 책상 위를 차지하고 싶지는 않았다. 스마트폰으로 얼마나 한계를 밀어낼 수 있을지 궁금했다. 그래서 나는 Lychee를 선택했다. Lychee는 깔끔하고 전문가 수준의 사진 관리 시스템으로, 오래된 안드로이드 기기, 특히 내 책상 위에 있던 Pixel에서도 아름답게 동작한다. Termux를 이용해 그 오래된 폰을 전 세계 어디서든 접근 가능한 개인 클라우드로 바꿀 수 있었다. 이번 주말에 만든 결과물과, 여러분도 오래된 스마트폰을 재활용해 보아야 하는 이유를 소개한다.

오래된 폰을 사진 백업 서버로 믿을 수 있을까?

6표

오래된 폰이 완벽한 홈 서버가 되는 이유

Adamya Sharma / Android Authority

사실 우리는 화면에 흠이 생기거나 소프트웨어 업데이트가 중단되면, 혹은 새로운 기기로 갈아탈 준비가 되면 오래된 폰을 전자 폐기물로 취급한다. 나는 이런 기기들을 버리는 것이 큰 실수라고 생각한다. 3년 이상 된 스마트폰이라면 Raspberry Pi보다도 훨씬 강력한 프로세서를 탑재하고 있다—특히 라즈베리 파이는 셀프‑호스팅 입문자들의 기본 선택이라는 점을 생각하면 눈에 띈다. 오래된 폰은 더 많은 전력, 훨씬 큰 저장 용량, 빠른 무선 연결, 그리고 정전이나 간헐적 연결 시에도 가동 시간을 유지할 수 있는 내장 배터리를 제공한다. 즉, 셀프‑호스팅에 최적화된 작은 컴퓨터라 할 수 있다.

우리는 오래된 폰을 전자 폐기물처럼 여기지만, 대부분은 사람들이 셀프‑호스팅용으로 구매하는 라즈베리 파이보다 훨씬 더 유능하다.

Android Authority에서는 Immich를 활용해 자체 Google Photos 대안을 구축하는 방법을 많이 다뤘다. Immich는 훌륭하지만 나는 무거운 시스템 의존성을 가진 Docker 방식을 쓰고 싶지 않았다. 그래서 이번 프로젝트에서는 기능과 자원 소모 사이의 균형이 완벽한 Lychee를 선택했다. Lychee는 PHP 기반이며, 별도의 복잡한 설정 없이 Termux 환경에서 바로 실행할 수 있다. 또한 사진 갤러리와 손쉬운 공유 기능을 제공하면서도 AI 감시나 월 구독료 같은 불필요한 요소는 없다. Immich와 달리 강력한 서버가 없어도 충분히 활용할 수 있다. 요컨대, 이번 프로젝트에 가장 적합한 선택이었다.

개발 환경 설정

Dhruv Bhutani / Android Authority

Pixel을 실제 개발 환경으로 바꾸기 위한 첫 단계는 안정적인 터미널 에뮬레이터를 확보하는 것이었다. 그래서 나는 Play Store 버전의 Termux를 전혀 사용하지 않았다. 대신 최신 빌드를 F‑Droid에서 받아 최신 저장소에 접근할 수 있게 했다. 설치 과정은 다른 앱과 동일하지만, 실행하면 Linux나 명령줄을 한 번도 써본 적 없는 사람에게는 다소 위압적으로 느껴질 수 있는 커맨드 라인 인터페이스가 뜬다. 이것을 Android 폰의 진정한 잠재력에 들어가는 관문이라고 생각하면 된다.

Termux는 폰의 모든 기능에 대한 완전한 터미널 접근을 제공한다.

이제 조금 기술적인 부분이 나오는데, 터미널을 열고 가장 먼저 해야 할 일은 앱에 실제 저장소 접근 권한을 부여하는 것이다. 이 단계가 없으면 이후 절차가 전혀 진행되지 않는다. 나는 termux-setup-storage 명령을 사용했는데, 이는 사진 서버가 Android 샌드박스에 갇히지 않게 해 주는 핵심 단계다. 이 명령은 Linux 환경, 파일 시스템, 사진 사이의 다리 역할을 한다. 이후 pkg updatepkg upgrade로 모든 패키지를 최신 상태로 만든 뒤 스택 구축을 시작했다.

Lychee 스택 설치

Dhruv Bhutani / Android Authority

다음 단계는 당연히 Lychee 앱을 설치하고 실행하는 것이었다. Lychee는 Laravel 기반 앱이므로 PHP 환경이 필요하다. 나는 PHP, Apache 웹 서버, Git, 그리고 SQLite를 설치했다. 데이터베이스는 가볍고 사진 라이브러리를 손쉽게 다룰 수 있으며, 무거운 MySQL 인스턴스를 구동할 필요가 없기 때문에 SQLite를 선택했다. 특히 오래된 하드웨어를 사용할 경우 가볍게 유지하는 것이 과열이나 성능 저하를 방지한다.

SQLite 덕분에 오래된 폰 서버가 가볍고 빠르며 효율적으로 동작한다.

이제 Composer( PHP 의존성 관리자)를 사용해 GitHub에서 Lychee 저장소를 직접 클론하고 실제 설치를 진행한다. 여기서 몇 가지 문제에 부딪혔다. 사진을 호스팅할 때 가장 큰 과제 중 하나는 썸네일 생성인데, Immich는 이를 아주 잘 처리한다. 반면 Android는 내부 그래픽 라이브러리 처리 방식이 달라 문제가 발생했다.

프로젝트를 반시간 정도 만지작거리다가 포기 직전, 나는 PHP 확장인 Sodium과 ImageMagick을 설치해 서버가 깨진 아이콘 대신 썸네일을 생성하도록 만들었다. 패키지를 설치한 뒤에는 PHP가 필요한 파일을 정확히 찾을 수 있도록 한 줄 명령을 실행했다. 백엔드 설정이 많이 필요해 보이지만, 실제로는 소프트웨어가 올바른 폴더를 가리키게 하는 작업일 뿐이다.

필요한 의존성을 정리한 뒤 composer install 명령을 실행하고 커피를 한 잔 마셨다. 일반적인 홈 서버에서는 빌드 시간이 매우 짧지만, 스마트폰 CPU는 그 수준에 미치지 못해 일부 과정은 평소보다 오래 걸린다. 그래도 빌드가 끝나면 데이터베이스… (이하 내용은 원문이 중단되었습니다)

0 조회
Back to Blog

관련 글

더 보기 »