Azure Container Apps · self-service

Ship your app.
Get a URL.

Drop a folder with a Dockerfile into the repo, run one pipeline, and your app is live on HTTPS. Want a nice domain like yourapp.orea.cz? Ask the service desk.

  from folder to live app
01

Add your app

Copy the template folder in the repo and drop in your Dockerfile.

02

Run app-deploy

One pipeline builds the image and deploys it. Pick your environment.

03

It's live

Reachable on its default azurecontainerapps.io URL with HTTPS.

04 · optional

Custom domain

Request yourapp.orea.cz via the service desk.

Deploy your app

Three steps, all self-service.

Everything your app needs lives in one folder in the sharedapps-prod-01 repo. No infrastructure to set up — the first deploy creates everything your app needs on its own.

branch first

Work on a branch, not on main. Create your own branch, push your changes, and open a pull request — direct commits to main are turned off, so every change gets a quick review and main stays deployable.

1

Add your app folder

In the repo, copy apps/_template to apps/<your-app> and put your real Dockerfile there. It just has to listen on the port you set as targetPort.

2

Fill in a few parameters

Edit containerapp.bicepparam in your folder — the app name, the repository name (same as the folder), the port, and how much CPU/memory it gets. Add Key Vault secret references only if your app needs them. Set appOwnerUpn to your email to get Contributor on your app's resource group.

apps/<your-app>/containerapp.bicepparam
param containerAppName = 'ca-my-app'
param repositoryName  = 'my-app'   // = your folder name
param targetPort = 8080
param cpu = '0.5'
param memory = '1Gi'
param environmentVariables = []
param keyVaultSecrets = []
// who can manage this app's Azure resources (gets Contributor
// on the app's resource group). Leave '' for none.
param appOwnerUpn = 'jan.novak@cimex.cz'
3

Run the app-deploy pipeline

In Azure DevOps → Pipelines, run app-deploy. Set appName to your folder name and pick targetEnvironmenttemp to try it, prod for the real thing. It builds your image and deploys it; your app comes up on its own HTTPS URL. Deploy to temp first, then re-run for prod when you're happy.

Custom domain

Want yourapp.orea.cz? Just ask.

Your app already has a working HTTPS URL out of the box. A friendly custom domain under orea.cz or cimex.cz is set up by the platform team — raise a request and they wire it up, certificate and all.

Raise a request at the service desk

Go to servicedesk.cimex.cz and open a request for the sharedapps platform. Include the details below so it can be set up in one go.

Tell us

  • App name — your folder name, e.g. my-app
  • Environment — prod or temp (where it's deployed)
  • Domain wanted — e.g. my-app.orea.cz or my-app.cimex.cz

What happens

  • The platform team adds the domain and runs the Front Door setup
  • DNS and a managed TLS certificate are provisioned automatically
  • The certificate can take up to ~1 hour to go live after setup

No config for you to write — the domain mapping is managed centrally.

Open the service desk ↗

Good to know

A few things that'll help.

Two environments

temp is for trying things out, prod is the real one. The same folder deploys to either — you pick at run time.

HTTPS is included

Every app gets a valid HTTPS URL automatically, on both its default domain and any custom domain.

Secrets via Key Vault

Put secrets in the shared Key Vault and reference them in keyVaultSecrets. Access is granted to your app only when you declare them.

Your own space

Each app gets its own resource group and identity, created on first deploy. Set appOwnerUpn and you get Contributor on it — poke around in the portal anytime.

Scales to zero-ish

Set minReplicas/maxReplicas in your parameters. Small apps stay small and cheap.

Stuck?

Check the pipeline logs first — they say what failed. For anything platform-side, reach the platform team via the service desk.