Projects, services, and domains
Manage application configuration and related resources from the CLI.
Resource commands use the active connection context or your selected native configuration.
Projects
openship project list
openship project create --name my-app --git-owner my-team --git-repo my-app
openship project get proj_123
openship project rename proj_123 "My application"
openship init --project proj_123project rename updates the display name through the same operation as the dashboard.
The project ID, slug, volumes, and live routes keep their existing identities. Manage hostnames
with the domain commands below.
init writes a project link in .openship/project.json. This is different from openship.json, which
declares deployment configuration:
openship config init
openship config validateSee project commands, link options, and configuration commands.
Links record their context, API and any explicit organization scope. Commands reject a mismatched
connection before using the linked project. Pass --project to deliberately select a different target,
or run init --force to replace the link.
Environment and source settings
openship project env get proj_123
openship project git branch proj_123 main
openship project sleep-mode proj_123 always_on
openship project environment create proj_123 Preview --type preview --branch feature
openship project environment list proj_123
openship project resources get proj_123
openship project resources set proj_123 resources.jsonUse the project reference for environment writes, auto-deploy, release images, logs, and project teardown. Environment variables explains secret handling and when changes reach a running application.
project environment create returns a separate project ID with its own runtime. Link or deploy that
ID to use it. project resources set accepts a JSON patch such as
{"production":{"cpuCores":1,"memoryMb":1024}}; the engine enforces the destination's capacity and policy.
Use project update <id> <file> for other build/runtime configuration, project storage for object storage
bindings, and project connections to wire app outputs into another project's variables.
Services
openship service list --project proj_123
openship service get svc_123 --project proj_123
openship service logs svc_123 --project proj_123 --follow
openship service env set svc_123 MODE=production --project proj_123
openship service env inspect svc_123 --project proj_123 --runtime
openship service env apply svc_123 --project proj_123Services belong to a project. Supply the required --project flag. The service reference
covers creation, Compose synchronization, drift decisions, environment variables, runtime controls, and execution.
Ordinary env set changes only the named overrides. --secret marks supplied values as secret;
omitting it preserves existing secret classification. --replace explicitly replaces all overrides for
the selected variable set. env delete removes selected overrides, exposing any inherited values again.
Saving and deleting variables do not restart the service. env apply uses the engine's existing container
replacement and rollback workflow; restart alone does not apply pending environment changes.
env inspect shows effective values with secrets masked and checks the running container only with
--runtime. env reveal <service> <keys...> explicitly reveals selected values and requires write access.
Use service update <service> <file> --project <id> for a JSON configuration patch, including image,
command, build settings, routing, ports and enabled state.
Domains
openship domain add app.example.com --project proj_123
openship domain records dom_123
openship domain verify dom_123
openship domain verify-ssl dom_123Follow the returned DNS instructions before verification. See domain options and the custom-domain guide for DNS providers, TLS, and primary domains.
dns providers, dns credentials and dns verify-zone manage automated DNS access. Use
domain dns plan before domain dns apply to inspect provider record changes. For DNS certificate
challenges, use domain dns challenge start, inspect with get, and pass the returned attempt ID to
check or cancel. Manual challenges require the operator to add the TXT record, including at renewal.
Catalog apps
openship app list
openship app get postgres
openship app host-fit postgres --server srv_123app install creates an installation draft. Deploy the returned project ID with openship deploy.
Custom app definitions, curated settings, and connection details are covered in the
app reference.