Support systemd socket activation (#35)

* Support systemd socket activation

If the process has been started with systemd socket activation
configured, then serve requests on the passed-in socket instead of
attempting to bind to an address.

* Add example systemd unit files.

Add example systemd unit files which make use of systemd's security
facilities, and also allow binding to port 80 whilst running as an
unpriviliged process (using systemd socket activation).
This commit is contained in:
Tim Small
2022-01-18 07:47:32 +00:00
committed by GitHub
parent 281aff1725
commit c67b8ec91d
5 changed files with 231 additions and 3 deletions
+31
View File
@@ -0,0 +1,31 @@
# bind address, use empty string to bind to all interfaces, or when using socket activation
#bind_address=""
# backend listen port. Set this to "" when using socket activation
listen_port=""
# proxy protocol port, use 0 to disable
proxyprotocol_port=0
# Server location
server_lat=50.82589
server_lng=-0.141391
# ipinfo.io API key, if applicable
ipinfo_api_key=""
# assets directory path, defaults to `assets` in the same directory
assets_path="/usr/local/share/speedtest/assets"
# password for logging into statistics page
statistics_password="PASSWORD"
# redact IP addresses
redact_ip_addresses=false
# database type for statistics data, currently supports: none, memory, bolt, mysql, postgresql
# if none is specified, no telemetry/stats will be recorded, and no result PNG will be generated
#database_type="bolt"
database_type="memory"
database_hostname=""
database_name=""
database_username=""
database_password=""
# if you use `bolt` as database, set database_file to database file location
database_file="/usr/local/var/speedtest/speedtest.db"