Budżet: 6000 UAH Termin: 3 dni
Cześć,
Przeczytałem specyfikację — backend Django + frontend React/TS, Docker Compose z Postgres + Nginx, SSL Let's Encrypt z automatycznym odnawianiem, GitHub Actions na main, README z komendami i procedurą backupu bazy danych. Stos i zadania są znane.
Jak zamierzam to zrobić:
1. Ubuntu 22.04 LTS, sprawdzenie przez UFW + tylko klucze SSH, fail2ban, wyłączony login root.
2. `docker-compose.yml` z 4 usługami: postgres (nazwa volume + automatyczny backup przez cron do S3 lub lokalnie z rotacją), backend (gunicorn + whitenoise lub przez osobną usługę nginx dla statycznych), frontend (multistage build → nginx serving), nginx reverse proxy z certbot.
3. GitHub Actions: build/test → SSH-deploy przez `appleboy/ssh-action` lub push obrazów do GHCR + pull na serwerze. Osobne workflow dla backend/frontend, aby nie przebudowywać wszystkiego.
4. README: komendy restartu każdej usługi, ścieżki logów (`docker compose logs -f`), procedura `pg_dump` / restore, kroki na wypadek awarii (rollback do poprzedniego tagu).
5. Podstawowy monitoring: `node_exporter` + `cAdvisor` + Grafana Cloud free tier, lub prościej — Uptime Kuma na tym samym serwerze + powiadomienia Telegram.
Odpowiedzi na Twoje pytania:
- Ile czasu: 2–3 dni robocze od uzyskania dostępu do serwera i repozytorium do działającego https://.
- Czy pracowałem z Django+React: tak, regularnie — zarówno z Django (gunicorn/uvicorn, Celery, statyka), jak i React (Vite lub Next).
- Monitoring: Uptime Kuma dla podstawowego — najtańsze i konfigurowane w 30 minut. Jeśli potrzebna metryka kontenerów — dodaję cAdvisor + Grafana.
Jeśli OK — potrzebny dostęp SSH do serwera i zaproszenie do repozytorium.