Běhové prostředí

Docker, RabbitMQ, Caddy, Aspire dashboard, Ubuntu a další nástroje, na kterých MiniShop běží.

Na této stránce

V jedné větě: Na serveru běží Ubuntu s Dockerem; v kontejnerech MiniShop, RabbitMQ, Caddy a Aspire dashboard. O spouštění a plánování se starají cloud-init a systemd.

Kontejnery a jejich image

Co (image) K čemu Proč zrovna to Odkazy
Docker + Docker Compose balení a spouštění aplikace v kontejnerech, propojení služeb stejné prostředí na PC i v cloudu; Compose stačí pro jednu VM docs.docker.com
Docker Buildx + QEMU sestavení image pro x86 i ARM v CI VM v cloudu je ARM, runner GitHubu x86 docs
mcr.microsoft.com/dotnet/sdk, mcr.microsoft.com/dotnet/aspnet základ image služeb (build / runtime) oficiální image Microsoftu, aktualizace hlídá Dependabot MCR
RabbitMQ (rabbitmq:4-management) message broker – exchange, fronty, webová správa zralý, rozšířený, přehledný pro výuku (proč) rabbitmq.com
Caddy (caddy:2) reverse proxy, automatické HTTPS, basic auth certifikát Let's Encrypt bez konfigurace (proč) caddyserver.com
Aspire dashboard (mcr.microsoft.com/dotnet/aspire-dashboard) trasy, logy, metriky v cloudu stejný nástroj jako lokálně, jeden kontejner (proč) docs
Mailpit (axllent/mailpit, jen lokálně v Aspire) „cvičná pošta“ – zachytí každý e-mail z Webu a ukáže ho ve webovém rozhraní; nic neodejde ven vývoj e-mailů bez rizika, že něco dorazí skutečnému člověku (proč) mailpit.axllent.org
OCI CLI (ghcr.io/oracle/oci-cli) nástroj pro práci s Oracle Cloud; v noční záloze nahrává do bucketu z image – bez instalace Pythonu na PC ani na VM docs

Operační systém a správa serveru

Co K čemu Proč Odkazy
Ubuntu 24.04 LTS (ARM) operační systém VM dlouhodobá podpora, oficiální obraz v OCI s Oracle Cloud Agentem ubuntu.com
cloud-init příprava nové VM při prvním startu (Docker, firewall, Tailscale, uživatel deploy) standard všech cloudů; nová VM je hotová bez ručních kroků docs
systemd (timer + service) noční spouštění zálohy, i dodatečně po výpadku (Persistent=true) součást Ubuntu, spolehlivější než cron docs
iptables / netfilter-persistent firewall na VM – povolené 80/443 druhá vrstva vedle security listu cloudu Ubuntu wiki
OpenSSH správa VM a nasazování (vynucený příkaz pro uživatele deploy) standard; přístup jen přes Tailscale openssh.com
Oracle Cloud Agent posílá metriky CPU a paměti do OCI Monitoring předinstalovaný v obrazu; podklad pro alarmy docs

Nástroje správce (PC)

Co K čemu Odkazy
.NET SDK (verze z global.json) build, testy, dotnet run download
Docker Desktop RabbitMQ pro Aspire, lokální Compose docker.com
OpenTofu infrastruktura jako kód (proč) opentofu.org
Git + GitHub CLI (gh) verzování, PR git-scm.com, cli.github.com
Tailscale klient SSH na VM přes soukromou síť tailscale.com
gitleaks kontrola historie gitu na tajné hodnoty GitHub