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.
$ 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.
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
- Linux
- Ubuntu
- CentOS
- Alpine Linux
- systemd
- LVM
- NFS
- Terraform
- Ansible
Provisioning · Hardening · Configuration management
Containers & orchestration
- Docker
- Docker Compose
- Docker Swarm
- Kubernetes
- Helm
Images · Compose stacks · Charts
Delivery & automation
- GitHub Actions
- GitLab CI/CD
- Git
- GitHub
- n8n
- GNU Bash
- Make
Build · Scan · Release · Rollback
Monitoring & observability
- Prometheus
- Alertmanager
- Grafana
- Loki
- Elasticsearch
- Logstash
- Kibana
Metrics · Alerts · Logs
Web, network & security
- Nginx
- Apache
- Traefik
- Caddy
- OpenSSL
- Let's Encrypt
- Keycloak
- Trivy
- UFW / iptables
- Active Directory
Reverse proxying · TLS · IAM · Hardening
Data & messaging
- PostgreSQL
- TimescaleDB
- MySQL
- MariaDB
- Galera Cluster
- Redis
- SQLite
- RabbitMQ
- MinIO
Least-privilege roles · Backups · Restore tests
Languages & frameworks
- 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
- Matrix
- Element
- Jira
- Telegram Bot API
- Asterisk / FreePBX
Alert routing · Ticket notifications · Runbooks
How I work
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
Codify
Turn infrastructure, access, and policy into versioned, reviewable code.
Compose files, Ansible playbooks, hash-pinned dependencies, and explicit database grants.
Output / Repeatable systems
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
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