Běhové prostředí
Docker, RabbitMQ, Caddy, Aspire dashboard, Ubuntu a další nástroje, na kterých MiniShop běží.
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 |