Skip to content

About me

What I work on, where it shows, and how I work.

I develop backend services with Python and Go and manage the infrastructure they run on. My work includes Linux administration, containerized deployments, CI/CD, monitoring, security hardening, and backup recovery. When a product needs a frontend, I build it in React or Next.js.

I prioritize reproducible deployments, tested recovery procedures, and operational evidence over assumptions. Outside work, I have played the piano for more than ten years.

Automate the repeatable.

Scripts, playbooks, and workflows over manual steps.

Make reliability visible.

Health checks, alerts, and evidence you can read.

iliashakeri.ir · deploy checkREPLAY

$ curl -s https://iliashakeri.ir/build.txt

d4ac280dbc6e8ac7a1dd48f0a61f812e2898b031

$ docker compose ps --format '{{.Name}} {{.Status}}'

iliashakeri-web-1 Up (healthy)

$ systemctl is-active iliashakeri-update.timer

active · pulls new builds every 2 min

$ echo "$MOTTO"

Built to ship. Built to stay up.

A replay of the commands I use to check this site’s deployment. It is not live output; the build ID is the one currently deployed.

whoami

Name
Ilia Shakeri
Role
DevOps & Backend Engineer
Based in
Tehran, Iran
Focus
Backend · Infrastructure · Automation
Languages
Persian (native) · English (professional working)
Local time
--:--:-- IRST

Core expertise

  • Linux systems

    Provisioning, hardening, and configuration management with Ansible.

    Where it shows: OTICAMP servers · LinSecGuard

  • Backend development

    APIs and services in Python (FastAPI, Django) and Go.

    Where it shows: Nerkhbaan · Dolphin CRM · Stackplore

  • Containers

    Docker Compose production stacks, non-root hardened images, Helm.

    Where it shows: Nerkhbaan · Dolphin CRM · Stackplore

  • CI/CD and automation

    GitHub Actions pipelines with integration tests, browser tests, and image scans; Bash and n8n automation.

    Where it shows: Nerkhbaan (15 CI jobs) · ChatOps bridges

  • PostgreSQL and Redis

    Schema migrations, TimescaleDB history, role separation, leases, caching, and outboxes.

    Where it shows: Nerkhbaan · Dolphin CRM

  • Monitoring and observability

    Prometheus, Alertmanager, Grafana, and Loki; alert rules and routing to chat.

    Where it shows: OTICAMP · Nerkhbaan alert rules

  • Security and recovery

    Least-privilege access, TLS, MFA, vulnerability scans, and backups verified by restoring them.

    Where it shows: Dolphin CRM · Nerkhbaan · EasyCert

Toolkit

All tools I have worked with (73)
  • Linux & infrastructure

    09
    • Linux
    • Ubuntu
    • CentOS
    • Alpine Linux
    • systemd
    • LVM
    • NFS
    • Terraform
    • Ansible

    Provisioning · Hardening · Configuration management

  • Containers & orchestration

    05
    • Docker
    • Docker Compose
    • Docker Swarm
    • Kubernetes
    • Helm

    Images · Compose stacks · Charts

  • Delivery & automation

    07
    • GitHub Actions
    • GitLab CI/CD
    • Git
    • GitHub
    • n8n
    • GNU Bash
    • Make

    Build · Scan · Release · Rollback

  • Monitoring & observability

    07
    • Prometheus
    • Alertmanager
    • Grafana
    • Loki
    • Elasticsearch
    • Logstash
    • Kibana

    Metrics · Alerts · Logs

  • Web, network & security

    10
    • Nginx
    • Apache
    • Traefik
    • Caddy
    • OpenSSL
    • Let's Encrypt
    • Keycloak
    • Trivy
    • UFW / iptables
    • Active Directory

    Reverse proxying · TLS · IAM · Hardening

  • Data & messaging

    09
    • PostgreSQL
    • TimescaleDB
    • MySQL
    • MariaDB
    • Galera Cluster
    • Redis
    • SQLite
    • RabbitMQ
    • MinIO

    Least-privilege roles · Backups · Restore tests

  • Languages & frameworks

    21
    • Python
    • Go
    • TypeScript
    • JavaScript
    • SQL
    • FastAPI
    • Django
    • Flask
    • SQLAlchemy
    • Pydantic
    • Gunicorn
    • React
    • Next.js
    • Node.js
    • Vite
    • Tailwind CSS
    • Electron
    • OpenAPI
    • pytest
    • Playwright
    • Selenium

    Scripting · APIs · Testing

  • Collaboration & ChatOps

    05
    • Matrix
    • Element
    • Jira
    • Telegram Bot API
    • Asterisk / FreePBX

    Alert routing · Ticket notifications · Runbooks

How I work

  1. Understand

    Map the system, its constraints, and what failure would cost.

    Write the contract first: Dolphin’s business rules live in a backend spec, not in memory.

    Output / A clear baseline

  2. Codify

    Turn infrastructure, access, and policy into versioned, reviewable code.

    Compose files, Ansible playbooks, hash-pinned dependencies, and explicit database grants.

    Output / Repeatable systems

  3. Ship safely

    Test, scan, and release in small steps, with a rollback plan.

    Images built from tagged commits, scanned in CI, deployed after a backup, rolled back by script.

    Output / Confident delivery

  4. Observe & refine

    Measure service health, learn from incidents, and reduce toil.

    Readiness checks, Prometheus alerts routed to chat, and restore tests on real backups.

    Output / Continuous improvement