Implement dual host configuration: bind_host and hostname

- Replace 'host' config with separate 'bind_host' and 'hostname'
- bind_host: IP/interface for server binding (default 0.0.0.0)
- hostname: Domain for URI validation (required)
- Update all parsing and validation code
- Create dist/ directory with systemd service, config, and install guide
- Add comprehensive INSTALL.md with setup instructions
This commit is contained in:
Jeena 2026-01-16 12:46:27 +00:00
parent 1665df65da
commit ea8083fe1f
7 changed files with 333 additions and 13 deletions

24
dist/pollux.service vendored Normal file
View file

@ -0,0 +1,24 @@
[Unit]
Description=Pollux Gemini Server
After=network.target
Wants=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/pollux
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
RestartSec=5
User=gemini
Group=gemini
NoNewPrivileges=yes
ProtectHome=yes
ProtectSystem=strict
ReadOnlyPaths=/etc/pollux /etc/letsencrypt/live/example.com /var/www/example.com
# NOTE: Adjust paths to match your config:
# - /etc/letsencrypt/live/example.com for Let's Encrypt certs
# - /var/www/example.com for your content root
# The server needs read access to config, certificates, and content files
[Install]
WantedBy=multi-user.target