Install Guide
SPORK ACME ships as a single static binary. No package manager, no runtime dependencies, no extraction tools required.
System Requirements
| Requirement | Minimum |
|---|---|
| Architecture | x86_64 (amd64) |
| Operating System | Linux (any distribution) |
| RAM | 256 MB |
| Disk | 100 MB free |
| Runtime Dependencies | None (statically linked, musl) |
Broad compatibility: The binary is statically linked against musl libc. It runs on Ubuntu 18.04+, Rocky/RHEL 8+, Debian 10+, Amazon Linux 2+, Alpine 3.12+, SUSE 15+, and any other x86_64 Linux distribution with a 4.x+ kernel.
Download
Download the binary from the release server:
curl -fSL -o spork-acme https://rayketcham.com/CRLs/sp0rk/static/spork-acme-0.5.2-linux-x86_64
Install
Make the binary executable and run the setup wizard:
# Make executable
chmod +x spork-acme
# Move to a permanent location
sudo mv spork-acme /usr/local/bin/
# Run the setup wizard (auto-detects first run)
sudo spork-acme
The interactive setup wizard will guide you through:
- Choosing a state directory (default:
/opt/spork-acme/) - Selecting a CA hierarchy (2-tier or 3-tier, subordinate to Windows CA, or PFX import)
- Choosing signing algorithms (classical or post-quantum)
- Setting the admin password for the
/admindashboard - Configuring the listening port (default: 6446)
- Creating a systemd service file
Re-running the wizard: To re-initialize or reconfigure, run
sudo spork-acme -s /opt/spork-acme with the state directory path.
Verify
After the wizard completes and the service starts, verify the server is running:
# Check the ACME directory endpoint
curl -k https://localhost:6446/acme/directory
# Check the health endpoint
curl -k https://localhost:6446/health
# Check the version
spork-acme --version
The ACME directory response should return a JSON object with endpoint URLs. The health endpoint returns server status in JSON format.
Next steps: See the ACME Server Quick Start for certbot setup, domain policy configuration, and admin dashboard walkthrough.
Systemd Service
The setup wizard can create a systemd service file automatically. If you need to create one manually:
[Unit]
Description=SPORK ACME Server
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/spork-acme -s /opt/spork-acme --auto-validate
Restart=on-failure
RestartSec=5
ProtectSystem=full
NoNewPrivileges=true
[Install]
WantedBy=multi-user.target
# Enable and start the service
sudo systemctl enable spork-acme.service
sudo systemctl start spork-acme.service
# Check status
sudo systemctl status spork-acme.service
Important: Use
ProtectSystem=full, not strict. The strict setting makes the filesystem read-only and will wipe the state directory on service restart. See the ACME Server Quick Start for detailed systemd configuration.
Uninstall
To completely remove SPORK ACME from your system:
Stop and Remove the Service
# Stop and disable the service
sudo systemctl stop spork-acme.service
sudo systemctl disable spork-acme.service
# Remove the service file
sudo rm -f /etc/systemd/system/spork-acme.service
sudo systemctl daemon-reload
Remove the Binary
sudo rm -f /usr/local/bin/spork-acme
Remove the State Directory
Warning: Removing the state directory deletes all CA keys, issued certificates, the SQLite database, and configuration. Back up critical data before proceeding. This action is irreversible.
sudo rm -rf /opt/spork-acme/