1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
# A web server on a solar phone
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.

## Hardware
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.
I bought a small solar panel on Amazon, 10W produced by 2 plates of 17x17 cm.
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).
## Software
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.
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.
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.
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.
The last part is to configure the SSL certificate. I used Acme.sh,
downloaded directly from Github.
## Operation
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.
But for now, we are in june and the battery level is almost always at 100%.
|