mirror of
https://github.com/azaion/admin.git
synced 2026-04-22 22:16:33 +00:00
d320d6dd59
Made-with: Cursor
29 lines
998 B
Markdown
29 lines
998 B
Markdown
# Containerization
|
|
|
|
## Dockerfile
|
|
|
|
Multi-stage build targeting .NET 10.0:
|
|
|
|
1. **Base stage** (`mcr.microsoft.com/dotnet/aspnet:10.0`): Runtime image, exposes port 8080.
|
|
2. **Build stage** (`mcr.microsoft.com/dotnet/sdk:10.0`): Restores packages, builds release configuration. Supports cross-platform builds via `$BUILDPLATFORM` and `$TARGETARCH`.
|
|
3. **Publish stage**: Publishes with `UseAppHost=false`, targets Linux with specified architecture.
|
|
4. **Final stage**: Copies published output, sets entrypoint to `dotnet Azaion.AdminApi.dll`.
|
|
|
|
## Container Registry
|
|
|
|
- Private registry: `docker.azaion.com`
|
|
- Deploy command: `docker build -t docker.azaion.com/api . && docker push docker.azaion.com/api`
|
|
- CI registry: `localhost:5000` (Woodpecker CI local registry)
|
|
|
|
## Tags
|
|
|
|
| Branch | Tag |
|
|
|--------|-----|
|
|
| `main` | `arm` |
|
|
| `dev` | `dev-arm` |
|
|
| `stage` | `stage-arm` |
|
|
|
|
## Docker Test
|
|
|
|
A placeholder `docker.test/Dockerfile` exists (`FROM alpine:latest; CMD echo hello`) — appears unused.
|