1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
<!doctype html>
<html lang="en">
<title>A web server on a solar phone</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<link rel="stylesheet" href="/style.css">
<a href="..">Marc's Notes</a><hr>
<h1> A web server on a solar phone</h1>
<p>I have this old low-cost phone which was the first one offered to my kid when he was 15 (he is now 21), before he moved to a more fashionable model. I noticed that without a SIM card, only on WIFI, the phone needed to be recharged not after 1 or 2 days, but only after 2 weeks! So this small device, plugged to a small solar panel, could be the perfect always-on personal web server. The site that you are browsing right now is hosted on it.</p>
<p><img src="server.jpeg" alt="The server with its solar panel, and a cat"></p>
<h2> Hardware</h2>
<p>The phone is an entry-level Motorola G7 Play, purchased in 2019, worth nothing today. It was used by my son for less than 2 years, then dormant since. The display is slighly shattered, but it doesn't matter, as I use it headless.</p>
<p>I bought a small solar panel on Amazon, 10W produced by 2 plates of 17x17 cm.</p>
<p>And that's it. The solar panel is just suspended vertically at a south window. The phone sits below, connected to the panel by a USB cable, in the shadow (do not put the phone directly under the sun, or closed without fresh air).</p>
<h2> Software</h2>
<p>The single purpose of this device is now to run a small standalone static web server. By using termux on top of Android, I can run a ssh server for remote access and Nginx, an efficient web server. I do not need to root the phone, as port redirection from my internet router compensate for the restriction of not using a port number below 1024.</p>
<p>Nevertheless, I installed LineageOS on the phone, as it supports my model and keeps the system updated. I could have kept the stock android image, at the expanse of a less secure system. I could have gone further and install PostmarketOS on it, to have a full unrestricted Linux machine, but I was both lazy and curious to see what I could get from just Android.</p>
<p>I then installed F-Droid, only to install Termux from it. Do not install Termux from the Google Play Store, it is too limited. The version from F-Droid is fine.</p>
<p>The phone connects to my internet box via WIFI and my internet service provider allows me to have a static IP4 address at no additional cost.</p>
<p>The last part is to configure the SSL certificate. I used Acme.sh, downloaded directly from Github.</p>
<h2> Operation</h2>
<p>It's too early to say. Lets see how it goes over time (a few months), and if a relatively old phone can find a second life and be used as an autonomous web server, running solely on free photons and electrons.</p>
<p>But for now, we are in june and the battery level is almost always at 100%.</p>
<hr>From: Marc Vertes, 20 june 2025. <a href="mailto:marc@vertes.org?subject=Re%3a%20https%3a%2f%2fdot.vertes.org%2fthis-server">Feedback</a>
|