For the most part, TinyPilot functions without an Internet connection, but TinyPilot needs Internet access to perform software updates.
If you're running TinyPilot on a restricted network that prohibits devices from making outbound connections, you'll need to configure your TinyPilot to use an HTTP proxy.
To configure your TinyPilot device to use an HTTP proxy for updates, SSH to your TinyPilot, and then specify your HTTP proxy's URL.
# Set to your desired proxy address
http_proxy="http://proxy.example.com:8080"
https_proxy="${http_proxy}"
http://username:password@proxy.example.com:8080
Next, run the following commands to configure TinyPilot to use your HTTP proxy:
sudo sed --in-place \
--expression "/Environment=\"http_proxy/ d" \
--expression "/Environment=\"https_proxy/ d" \
/lib/systemd/system/tinypilot*.service && \
sudo sed --in-place \
--expression "/ExecStart/ a Environment=\"https_proxy=${https_proxy}\"" \
--expression "/ExecStart/ a Environment=\"http_proxy=${http_proxy}\"" \
/lib/systemd/system/tinypilot*.service && \
sudo systemctl daemon-reload && sudo service tinypilot restart
Now that your proxy is set, you can update using TinyPilot's web interface.
If you no-longer require the proxy, connect to your device over SSH, and then run the following commands:
sudo sed --in-place \
--expression '/Environment=\"http_proxy=/d' \
--expression '/Environment=\"https_proxy=/d' \
/lib/systemd/system/tinypilot*.service && \
sudo systemctl daemon-reload && sudo service tinypilot restart