fail2ban, installed and run from the app
Who is being locked out for failed logins, on what terms, and one button to set it up.
A firewall decides which ports answer; fail2ban decides who stops being answered. Shipown reads whether it is installed, whether the daemon is actually replying, whether it starts with the server, and every jail with the failures it has seen, the bans it has made and the addresses banned right now — each one unbannable in a click. One button installs it with the server's own package manager, writes the jail, switches it on and confirms the daemon answers afterwards. Exactly one file is managed, /etc/fail2ban/jail.d/99-push-ops.conf, so the distribution's own configuration is untouched, and the address your session comes from is always in the ignore list, so tightening the rules cannot lock you out. Where failed logins are read from is detected rather than assumed — auth.log, secure, the systemd journal, or Alpine's messages — because a jail pointed at a file that is not there never starts. PM2 log rotation lives beside it, so logs stop growing without a cron job of your own.
Technical Specification & Protocols
Command Execution Pattern
# Atomic release switching pattern:
ln -sfn $HOME/push-ops/apps/<app>/releases/8f21c0 $HOME/push-ops/apps/<app>/current
sudo systemctl reload nginx
pm2 reload ecosystem.config.jsArchitectural Guarantees
- ✓Atomic pointer swap ensures zero downtime during code promotion
- ✓Automated health check verification before live traffic routing
- ✓Instant rollback to previous known-good release on health check failure
Explore More Subsystems
Run Shipown on your desktop today
Available directly for Windows (.exe) and Linux (.deb).
Download Shipown v0.1.0-beta.5.7