A well-managed server isn’t one that happens not to cause problems by luck. It’s one that is correctly sized, updated, monitored and documented, so that issues are anticipated or resolved quickly when they appear.
I handle the full cycle: from initial design and deployment to ongoing environment maintenance. Linux and BSD in production, more than twenty-five years solving real problems in real infrastructures.
I work with development agencies that need a systems specialist for their clients’ servers without adding headcount, and with companies that want to outsource their infrastructure management to someone who knows it well and speaks plainly.
What typically goes wrong without ongoing management
- Security updates falling behind. The operating system, kernel and stack packages get left behind. Every week without patching is more known, exploitable attack surface.
- Disks filling up without anyone seeing it coming. Logs grow, local backups accumulate, disk space disappears. Without monitoring, you notice when the service goes down.
- Configurations nobody documents. Every undocumented change is technical debt: the day you need to recover or replicate the environment, nobody knows how it was set up.
- Services that start automatically and nobody knows why. Over time, processes, crons and services from old projects accumulate that nobody has cleaned up. They consume resources and expand the attack surface.
- No disaster recovery plan. There’s no documented procedure for what to do if the server fails. The first time it’s needed, everything gets improvised under pressure.
How I work
The starting point on a new project is always an inventory and audit of the current state: what’s there, how it’s configured, what’s missing and what’s unnecessary. From there, what the environment needs is defined and executed in an orderly way, with no undocumented changes.
In ongoing maintenance, the idea is for the server to be predictable: controlled changes, planned updates, alerts that arrive before there’s a problem, and a clear history of what’s been done and why.
What this service covers
Infrastructure design and deployment
- Selection of the right provider and server type for the project (VPS, dedicated, cloud: Hetzner, OVH, AWS, DigitalOcean and others).
- Initial installation and configuration of the operating system (Debian, Ubuntu, AlmaLinux, FreeBSD and others).
- Stack design: web server (Nginx, Apache, Caddy), database (MariaDB, PostgreSQL), cache (Redis, Memcached), mail, DNS.
- Network, VPN, firewall, SSH and access configuration.
- Equivalent staging and production environments so the development team can test with confidence.
Ongoing maintenance
- Periodic security updates for the operating system, kernel and stack packages.
- Log review and rotation, temporary file cleanup and disk space monitoring.
- Service health checks and correction of configurations that degrade over time.
- TLS certificate management with automatic renewal.
- Change documentation: what was done, when and why.
Stack optimisation
- PHP-FPM, web server and database tuning for the actual load pattern.
- Object cache (Redis/Memcached) and server-level page cache configuration.
- Slow query review, database indexes and buffer configuration.
- Resource consumption reduction without degrading performance.
Migrations
- Server or provider migrations with no perceptible downtime.
- Moving off shared hosting to a dedicated or cloud environment.
- Consolidation of multiple services into a more organised and efficient infrastructure.
- Documented contingency plan and rollback procedure before every migration.
Availability and support
- Availability on monthly retainer or hour bundles for queries and incidents.
- On-call during critical windows (campaigns, launches, migrations).
- Incident response with a defined SLA according to the agreed service level.