Quickstart
Deploy a container to a public HTTPS hostname in five commands
You need the pier CLI (install), a Pier account with a subscribed
workspace, and a container image that listens on an HTTP port. This page uses a public
image; to build from source instead, declare build_context: . on the app in place of
image: and pier deploy builds it.
Log in
pier loginOpens the browser for a one-time code and stores a session. pier whoami shows the
workspace the session is in.
Create the project
mkdir hello && cd hello
pier config init --name helloCreates project hello in your workspace and writes pier.yaml in the current
directory. The file is what ties this directory to the project: every later command run
here resolves the project from it.
Declare an app
version: 1
project: hello
environments:
prod:
apps:
- name: web
targets:
- name: primary
image: traefik/whoami:v1.10.1
port: 80
plan: app-senvironments.prod is the environment, web is the app and primary is its target: the
instance that runs and has a URL. A single-target app is addressed by the app name alone.
See Concepts.
Apply, then deploy
pier apply
pier deployapply converges the platform to pier.yaml: it creates web and never rolls a
workload. deploy builds and rolls what changed. deploy implies apply, so a script
needs only the second command. Both print a plan and ask for confirmation; -y skips it.
Reach it
pier info webThe output includes the target's hostname, https://<id>.app.pier.run:
curl -sS https://<id>.app.pier.run/Hostnames are keyed by a random id, not the app name, so renaming web later does not
change its URL. pier add domain attaches a custom domain.
Next
pier logs web,pier events,pier monitor web: the three read verbspier deployslists what was deployed;pier rollback webreturns to a previous deploy- Concepts: read before adding a second environment or a second target
- CLI reference: every command