About the role
We're looking for someone to take over and maintain the infrastructure, keep systems recoverable and support our telephony. The work is planned tasks plus incident response during agreed hours.
We're a product company in performance marketing, affiliate and e-commerce. Our CPA platform, call-centre CRM and media buying tools run on our own server infrastructure.
Stack and infrastructure
- Dedicated servers and VPS at Hetzner, Debian
- MariaDB / Galera
- nginx, PHP-FPM (several PHP versions)
- Redis, Memcached, lsyncd
- Cloudflare, DNS and domains
- Zabbix with Telegram alerts
- cron, Node.js services
- Backups and call recordings in Storage Box
- Telephony: FreeSWITCH, SIP, WebRTC/Verto, ESL, Node.js/WebSocket, Synway/OpenVox GSM gateways. Part of call control is custom JavaScript inside FreeSWITCH
What you'll do
- Take over servers, configs, monitoring, backups and runbooks
- Maintain Debian, nginx, PHP-FPM, MariaDB/Galera, Redis/Memcached and background jobs
- Diagnose server, network, database and application failures together with developers
- Verify backups and run test restores in an isolated environment
- Plan and carry out upgrades, including Debian server migrations
- Maintain DNS, Cloudflare, certificates and the infrastructure side of domain and landing page automation
- Work with the Lead to improve deploy and rollback procedures, and automate repetitive work
- Troubleshoot SIP/FreeSWITCH/WebRTC: no connection or audio, dropped calls, routing and gateway registration
- Make sure call recordings are kept and moved safely
- Work with SIP providers and the person responsible for the GSM hardware
- Document changes and runbooks for common failures
First tasks
- Inventory the infrastructure, check access, monitoring and restores, take over the telephony setup and prepare a prioritised technical plan
Who we're looking for
- Hands-on Linux/Debian administration of production infrastructure
- Confident with nginx, PHP-FPM, DNS, TLS, networking and access control
- Hands-on MariaDB/MySQL and Galera: diagnosing cluster state, failures and recovery
- Experience setting up monitoring and verifiable restores from backups
- Hands-on FreeSWITCH and SIP troubleshooting
- Understanding of WebRTC and common network causes of call problems
- Able to read logs and existing scripts and pinpoint whether a problem is in the app, telephony, network or provider
- Makes changes safely, with a verification and rollback plan
- Ready to follow an agreed incident-response process and document the work done
Nice to have
- Zabbix, Cloudflare, Hetzner, Storage Box
- lsyncd/rsync, Ansible and configuration automation
- FreeSWITCH ESL/Verto and JavaScript in the V8 module
- Synway/OpenVox GSM gateways
- PHP and Node.js for diagnostics and small fixes
- Experience supporting call centres
Work format
- Remote, core hours 10:00–18:00 Kyiv time
- Part-time: planned maintenance and emergency calls
- More hours are possible while taking over systems and during large migrations
- Coverage hours, response times, backup cover and pay for unplanned work are agreed separately
- Telephony must run during call-centre hours, roughly 08:00–22:00 Kyiv time; the exact schedule is agreed before you start