Skip to content

Quick Reference

Single-page cheat sheet for project setup, webhooks, fields, statuses, and CLI commands.

Project Setup

Projects > New Project → enter Title, Repository URL, Organization → Save. Copy the Webhook URL, Secret, and Deploy Key from the project overview.

Webhook Setup

Bitbucket
  1. Deploy key — Repository settings > Security > Access keys → paste key (read-only)
  2. Webhook — Repository settings > Workflow > Webhooks → paste URL and Secret
  3. Triggers — Pull Request: Created, Updated, Merged, Declined
  4. Status — Set to Active
GitHub
  1. Deploy key — Settings > Deploy keys → paste key (read-only)
  2. Webhook — Settings > Webhooks → paste Payload URL and Secret
  3. Content typeapplication/json
  4. Events — Select individual events: Pull requests
  5. Status — Check Active
GitLab
  1. Deploy key — Settings > Repository > Deploy keys → paste key (read-only)
  2. Webhook — Settings > Webhooks → paste URL and Secret token
  3. Trigger — Merge request events only
  4. SSL — Keep verification enabled
Gitea
  1. Deploy key — Settings > Deploy Keys → paste key
  2. Webhook — Settings > Webhooks > Add Webhook > Gitea → paste Target URL and Secret
  3. Content typeapplication/json
  4. Events — Custom events: Pull Request
  5. Status — Check Active

Field Reference

Project Fields
FieldRequiredFormat / Example
TitleYesMy Application
OrganizationYesSelect from dropdown
Repository URLNogit@provider.com:org/repo.git
Server IPNo138.201.173.243
Server Fields
FieldRequiredDescription
TitleYesServer name (e.g., Production EU)
SSH UserNoUsername for SSH (default: web)
Server IPNoServer IP address
SSH private keyYesPrivate key for SSH authentication
SSH Public KeyYesCorresponding public key
Manual Environment Fields
FieldRequiredDescription
TitleYesEnvironment name (e.g., staging, qa, demo)
BranchYesGit branch to deploy (e.g., develop, main)
DomainYesCustom domain (e.g., staging.example.com)

Environment URLs

PR Environments: https://pr-{number}.{project-domain} (e.g., https://pr-42.example.com)

With project prefix: https://p{id}-pr-{number}.{domain} — enable in project settings when multiple projects share a domain.

Manual Environments: Use the custom domain set during creation.

Deployment Statuses

StatusMeaning
SUCCESSDeployment completed successfully
RUNNINGDeployment is currently in progress
WAITINGDeployment is queued
ERRORDeployment encountered errors
STOPPEDDeployment was manually stopped

Webhook Events

Bitbucket
EventNebion Action
pullrequest:createdCreate environment and deploy
pullrequest:updatedRedeploy to existing environment
pullrequest:fulfilledRemove environment (PR merged)
pullrequest:rejectedRemove environment (PR declined)
GitHub
EventNebion Action
pull_request / openedCreate environment and deploy
pull_request / synchronizeRedeploy to existing environment
pull_request / closedRemove environment
GitLab
EventNebion Action
Merge Request / openCreate environment and deploy
Merge Request / updateRedeploy to existing environment
Merge Request / mergeRemove environment
Merge Request / closeRemove environment
Gitea
EventNebion Action
pull_request / openedCreate environment and deploy
pull_request / synchronizeRedeploy to existing environment
pull_request / reopenedRedeploy to existing environment
pull_request / closedRemove environment

Repository Files

FilePurpose
.nebion.ymlDeployment configuration (compose file, web service, tasks, actions)
docker-compose-nebion.ymlService definitions (database, PHP, Nginx, etc.)

.nebion.env is auto-generated by Nebion during deployment.

Minimal .nebion.yml:

yaml
docker-compose-yaml: docker-compose-nebion.yml
nginx_service: nginx

Actions

On-demand commands defined in .nebion.yml. Available after deployment via the Actions tab or CLI.

yaml
actions:
  cache-clear:
    name: "Clear Cache"
    service: php
    command: "drush cr"
  db-dump:
    name: "Database Dump"
    service: php
    command: "drush sql-dump --gzip > $NEBION_ACTION_OUTPUT/db-dump.sql.gz"
    result: file
FieldRequiredDefaultDescription
nameYes--Display name
serviceYes--Container to run in
commandYes--Shell command
resultNooutputoutput (show stdout) or file (downloadable)

File actions use $NEBION_ACTION_OUTPUT for the output directory. Files are retained for 7 days.

See Actions for full details.

Auto-Injected Variables

PR Environments

NEBION_DOMAIN=example.com
NEBION_ENV_IDENTIFIER=42
NEBION_ENV_BRANCH=feature/my-feature
NEBION_ENV_TYPE=pr
NEBION_PR_NUMBER=42
NEBION_PR_BRANCH=feature/my-feature

Manual Environments

NEBION_DOMAIN=example.com
NEBION_ENV_IDENTIFIER=staging
NEBION_ENV_BRANCH=develop
NEBION_ENV_TYPE=manual

CLI Commands

bash
nebioncli login                              # Login
nebioncli hub                                # Interactive dashboard
nebioncli doctor                             # Validate .nebion.yml
nebioncli ssh                                # SSH (interactive)
nebioncli ssh -p myproject -e 42 -c php      # SSH (direct)
nebioncli logs                               # Logs (interactive)
nebioncli logs -f -p myproject -e 42 -c php  # Logs (follow)
nebioncli url                                # Open URL (interactive)
nebioncli url 42                             # Open PR-42 URL
nebioncli action list                        # List actions        ← coming soon
nebioncli action run cache-clear             # Run an action       ← coming soon
nebioncli action download db-dump            # Download artifact   ← coming soon
nebioncli org list                           # List organizations
nebioncli org switch                         # Switch organization
nebioncli update                             # Update CLI
nebioncli logout                             # Logout

Troubleshooting

Webhook not working
  • Verify webhook is Active in your Git provider and secret matches exactly (no extra spaces)
  • Check webhook delivery history in your Git provider for error responses
  • Ensure the Deploy Key is added to the repository
Deployment fails
  • Click View Output on the failed deployment for error details
  • Check .nebion.yml exists in the repository root and is committed to the branch
  • Verify post-rollout commands work locally
Cannot access environment
  • Confirm deployment status is SUCCESS and wait 1-2 minutes for DNS
  • Verify URL format: pr-{number}.{domain}
  • Check View Output for container startup errors
Variables not taking effect
  • Variables require a redeploy to take effect — click Deploy on the environment overview
  • If still not working, try deploying with Reset environment checked