WHITEWHALE

Knowledge base

Practical VPS guides: security, networking, deployments, backups, and troubleshooting.

Policies: Policies

Category

Backups

Backups: strategy

What and how to back up.

Web

Cloudflare: DNS and redirect loops

Avoid ERR_TOO_MANY_REDIRECTS.

Troubleshooting

CPU 100%: quick triage

top/ps.

Security

Create a user + sudo and disable root login

A basic production hygiene step.

Linux

Cron: scheduling

crontab example.

Troubleshooting

Disk space: quick troubleshooting

df/du + sort by size.

Networking

DNS: troubleshooting

resolvectl/dig.

Docker

Docker Compose: basic example

A minimal compose for an app.

Docker

Docker: disk cleanup

Prune safely.

Docker

Docker: install on Ubuntu

docker + compose plugin.

Security

Fail2ban for SSH

Auto-ban IPs after failed attempts.

Getting started

First SSH login to your VPS

How to connect and common errors.

Networking

IPv6 basics

addr/route.

Troubleshooting

journalctl: systemd logs

Errors and follow.

Security

known_hosts: fingerprint warning

Safe update.

Web

Let's Encrypt + nginx

When TLS is terminated on the origin.

Getting started

New VPS checklist

First hour.

Troubleshooting

Nginx 502/504

Quick checklist.

Security

Nginx rate limiting

limit_req for login/registration.

Web

Nginx reverse proxy: route /api to backend

Frontend on 3000, API on 8081.

Web

Nginx security headers

A basic set.

Web

Nginx: static site

Minimal server block.

Troubleshooting

OOM killer

Find OOM in logs.

Linux

Permissions

chmod/chown basics.

Backups

PostgreSQL: backup/restore

pg_dump and pg_restore.

Web

PostgreSQL: basic tuning

Do not set work_mem too high.

Web

PostgreSQL: install

Local-only, do not expose ports unnecessarily.

Backups

Rsync backup

To a second server.

Security

SSH keys: passwordless login

Generate an ed25519 key and install it on the server.

Troubleshooting

SSH lockout: recover access

Console/Rescue and revert.

Networking

SSH tunnel (port forwarding)

Access services without opening ports.

Security

sshd_config: minimal hardening

Keys only, no root.

Linux

System updates

A quick security baseline.

Linux

systemctl: manage services

Status, restart, enable, logs.

Linux

systemd unit: template

Autostart an app.

Linux

Timezone and locale

Keep logs and apps consistent.

Security

UFW: basic firewall

Allow only required ports.

Linux

VPS swapfile

Create a swapfile and persist it.

Security

What ports are listening

Audit with ss/lsof.

Getting started

Windows: SSH key without ssh-copy-id

Manual authorized_keys.