Technology

Repurposing a Pixel: Lychee builds private photo cloud

Self-host Lychee – A weekend project turns an old Pixel into a battery-powered, self-hosted Google Photos alternative using Lychee on Termux—complete with thumbnails, galleries, EXIF viewing, multi-user access, and optional remote access via Cloudflare Tunnels.

When the storage limits finally turned Google Photos from a convenience into a calculation. the real frustration wasn’t just the extra cost—it was the feeling of losing a “set it and forget it” tool.. In that mood. an old Pixel sitting in a desk drawer suddenly looked less like e-waste and more like spare hardware waiting for a purpose.

The plan was simple in spirit but demanding in practice: build a self-hosted alternative that still feels modern without requiring a rack server or an always-on NAS setup.. Instead of going down the usual Immich path. the project used Lychee. a photo management system designed to run on older Android hardware—specifically. through Termux—so the phone could become a private cloud accessible from anywhere in the world.

The emotional pull behind the idea is familiar to anyone who’s upgraded too many times.. Sharma’s note frames old phones as something we often treat like discarded gear once screens get scratched. updates stop. or we move on to the next upgrade.. The workaround isn’t about sentimentality—it’s about doing something practical with the processing power and connectivity already sitting in the drawer.

image

On the Pixel itself. the setup begins with Termux. using the latest build from F-Droid rather than the Play Store version.. The goal is full terminal access. and the first critical step is granting storage permissions using the termux-setup-storage command—because without it. the photo server stays trapped inside Android’s sandbox.

After a pkg update and pkg upgrade to keep everything current. the Lychee stack comes together with PHP. the Apache web server. Git. and SQLite.. SQLite is chosen to keep things lightweight—avoiding the overhead of running a heavy MySQL instance—especially on older hardware.. With dependencies in place, Composer is used to clone the Lychee repository from GitHub, and then the installation process begins.

image

This is where the project starts to get real.. One of the biggest hosting headaches is generating thumbnails. and Android’s internal graphics libraries don’t line up the same way as other environments.. After around half an hour of troubleshooting—nearly giving up—PHP extensions like Sodium and ImageMagick were installed so the server could generate thumbnails instead of leaving broken icons behind.

Once dependencies were sorted. composer install was run and then the process moved into the slower grind of a smartphone CPU building what a faster home server would handle more quickly.. After that. Lychee’s Artisan command-line tool was used to run the database migration. building the internal structure of the photo library.

image

Then came the part that can make or break the whole thing on Android: permissions.. Android’s filesystem protections require explicitly telling the system the Lychee folder was allowed to write to storage and cache directories.. Upload behavior also needed attention—by default. PHP upload limits sit at about 2MB—so the project increased that limit to about 30MB to avoid rejected uploads when high-resolution images are involved.

When it finally worked, it felt immediate.. Typing the phone’s IP address into a browser brought up the Lychee server interface. and the remaining step was straightforward: append 8083 to the address. then set up a username and password.. Inside the home Wi‑Fi network. the setup is ready for uploads. with the web interface acting as the control panel.

image

Keeping it running 24/7 is the next hurdle.. Android is described as protective of battery life and prone to killing apps that haven’t been used. which is a problem for a photo server.. The workaround is to disable the “kill apps” setting in system settings and enable Termux’s wake-lock feature so the process never sleeps.. Since thumbnail creation also adds load. the project recommends keeping the phone plugged into a wall charger; even if the power draw is described as “negligible compared to a traditional PC. ” it can still drain the battery in a matter of hours if untethered.

Lychee’s feature set is where the experiment starts to justify itself.. The server includes albums. the ability to star images. and an “On This Day” function similar to Google Photos. which surfaces older photos from the same day in earlier years.. There’s also a timeline view organizing images by time and date. plus a robust EXIF viewer for essential photo details.

image

Compared with Immich, the differences are framed as trade-offs rather than deal-breakers.. Lychee offers a built-in frame view that displays images in full size. making it usable like a kiosk—where Immich is described as needing a separate project for a digital photo frame.. Multi-user support is also included. so the setup can be used for an entire family as a lightweight photo server. along with sharing features built into the platform.

The missing piece is the “AI magic.” Lychee doesn’t include facial recognition or machine-learning features like location-based search. and the project notes that it’s a fair swap for a lightweight private server.. It also points out what Lychee can do that isn’t purely manual: importing images from a link or from a separate server. plus built-in sharing.

image

Accessing the server from outside the home is handled differently.. Instead of port forwarding or router configuration, Cloudflare Tunnels are used to create a secure, encrypted bridge without opening ports.. The setup involves using the Cloudflare package directly in Termux and authenticating with a Cloudflare account. mapping the local Lychee server to a professional domain.. The payoff is practical: from any browser worldwide. you use the custom domain instead of typing the phone’s IP address—shown as “magic” when viewing galleries on a laptop from far away.

The pitch for old phones isn’t only about convenience.. The write-up emphasizes no recurring costs. full-resolution access to images. and keeping data on hardware so no company is training machine learning models on it.. It also positions the project as a step toward reducing e-waste by giving a former flagship a second job.

image

One detail ties the weekend’s steps together in a way that feels almost inevitable: first the phone becomes reachable as a terminal with termux-setup-storage. then it gets a web stack with PHP. Apache. Git. and SQLite. and only after thumbnail support is fixed with Sodium and ImageMagick does the “broken icons” problem disappear and the galleries load in a working browser interface.

In the end, the entire Lychee setup on the Pixel is reported as taking about 45 minutes from start to finish.. The author describes it as “surprisingly snappy. ” with gallery browsing feeling as fast as the official Google Photos app and search performing robustly.. The conclusion is cautious but clear: it might not replace an Immich server. but it could be a strong option if you don’t want to buy a NAS or pay for hard drives. especially as a secondary backup—no surprise price hikes. and no “out of storage” emails—while keeping the photos on your own hardware.

image

For anyone looking for a high-impact weekend project, the message is equally direct: if a device is already gathering dust, turning it into a private photo server is one of the best ways to use it, even if Google Photos is still part of the routine.

self-hosted photos Google Photos alternative Lychee Termux Pixel Fold Cloudflare Tunnels photo server EXIF viewer thumbnail generation privacy

Leave a Reply

Your email address will not be published. Required fields are marked *

Are you human? Please solve:Captcha


Secret Link