LogoLogo
HomeAbout usSign up
  • Introduction
  • AttentionSet
    • AttentionSet Best Practices
    • How to View AttentionSet for Others
    • How to Manually Change Attention
    • AttentionSet Chrome extension
    • Attention reasons
    • AttentionSet Slack Home Page
  • Releases
    • Getting Started with Releases
    • Concepts for Releases
      • Terminology for Releases
      • Two-step delivery
      • Rollbacks
      • Cherry-picks
      • Dogfood, Canary and Rollout
      • Release notes
    • How-to Guides for Releases
      • How to Create a Release Project
      • How to Configure Environments
      • How to Create a Scheduled Release
      • Create Custom Workflow Parameters
      • How to Manage Cherry-Picks
      • How to Resolve a Cherry-Pick Failure
      • Working with your CI / CD
        • GitHub Actions workflow
        • Buildkite workflow
    • API Reference for Releases
  • FlexReview
    • Getting Started with FlexReview
    • How to Onboard a Large Org
    • Concepts for FlexReview
      • Read-Only Mode in FlexReview
      • Recursive Ownership in FlexReview
      • Reviewer suggestion and assignment
      • FlexReview Teams and SLO Management
      • Validation in FlexReview
    • How-to Guides for FlexReview
      • How to Get a Reviewer Suggestion
      • How to Exclude Reviewers
      • How to Set Up Team Rules
      • Whitelist Teams for Review Assignment
      • Troubleshoot Reviewer Assignment
      • PagerDuty Integration for Reviewers
      • How to Set Up FlexReview Validation
      • Recommended Slack Notification Settings
      • How to Exclude OOO Reviewers
    • FlexReview Reference
      • Configuration
      • Slash commands
      • Expert scoring algorithms
      • Slack Notifications
      • Out of Office User Exclusion
    • FlexReview Roadmap
  • MergeQueue
    • Getting Started with MergeQueue
    • Merge Rules
    • How-to Guides for MergeQueue
      • How to Configure Base Branches
      • How to Customize Required Checks
      • How to Set Up Fast-Forwarding
      • How to Set Up Pre-Queue Conditions
      • How to Queue / Dequeue via API
      • Pause / Unpause Queues via API
      • Slash Commands Using GitHub Comments
      • How to Customize Sticky Comments
      • Require an Aviator Status Check
      • Backport a PR
      • How to Configure ChangeSets
      • Custom Integrations
        • GitHub Integration
      • How to Create Personal Access Tokens
      • How to Set Up SAML Configuration
        • Microsoft Active Directory
      • How to Merge Stacked PRs
      • How to Block Pull Request Mergeing with Slash Commands
    • Concepts for MergeQueue
      • Queue Modes
      • Pull Request Lifecycle
      • Analytics
      • Parallel Mode
      • CI Status Requirements
      • MQ Created Branches
      • Batching
      • Managing flaky tests
      • Fast-forwarding
      • Pre-Queue Conditions
      • Sticky Comments
      • Backporting
      • Paused Queues
      • Affected Targets
        • Directory-Based Affected Targets
        • nx based affected targets
        • GitHub Actions based Affected Targets
      • ChangeSets
        • Global CI Validation
        • ChangeSets FAQs
      • Priority Merges
        • Instant Merges
      • Merge Rules Audit Trail
      • Timeline
      • Ready Hook
      • Reduce Queue Failures From Staleness
    • MergeQueue References
      • Configuration Schema
      • Configuration Reference MergeQueue
      • GitHub Slash Commands
      • Status Codes
  • Stacked PRs CLI
    • Quickstart for Stacked PRs CLI
    • CLI Installation
    • How-to Guides for Stacked PRs CLI
      • How to Create Stacked PRs in CLI
      • How to Navigate & Modify Stacked PRs
      • Add Commits in the Stack
      • How Split a Commit in CLI
      • How to Split and Fold Pull Requests
      • How to Rename a Branch in CLI
      • How to Adopt a Branch in CLI
      • Orphan a Branch with Aviator CLI
      • How to Do Git Subcommand Aliasing
      • How to Create an Access Token
      • How to Set Up Auto Completion in CLI
      • How to Use Editor Plugins in CLI
    • Concepts for StackedPRs CLI
    • How to Rebase and Sync with GitHub
    • Configuration for StackedPRs CLI
    • Stacked PRs FAQs and Troubleshooting
      • Working with Aviator CLI
      • Default Branch Update Master to Main
    • Manpages for Stacked PRs CLI
      • av(1)
      • av-adopt Command Guide
      • av-auth-status(1) in CLI
      • av-stack-branch(1) in CLI
      • av-commit-create(1) in CL
      • av-stack-diff(1) in CLI
      • av-fetch(1) in CLI
      • av-git-interaction Command Guide
      • av-init(1) in CLI
      • av-stack-next(1) in CLI
      • av-orphan Command Guide
      • av-pr-status(1) in CLI
      • av-pr-create(1) in CLI
      • av-stack-prev(1) in CLI
      • av-stack-reorder(1) in CLI
      • av-reparent Command Guide
      • av-restack Command Guide
      • av-commit-split(1) in CLI
      • av-switch Command Guide
      • av-stack-sync(1) in CLI
      • av-stack-tidy(1) in CLI
      • av-stack-tree(1) in CLI
    • Aviator CLI Major Releases
      • Aviator CLI v0.1.0 Release Notes
  • Aviator's Chrome Extension
  • Pilot Automated Actions
    • Scheduled Events
    • JavaScript Execution
    • Pilot Automated Actions Reference
      • GitHub Reference
      • MergeQueue Reference
      • Slack Reference
  • API and Integrations
    • Slack Integration Guide
    • GraphQL API Quickstart
    • Prometheus Metrics Setup for GCP
    • Reference
      • JSON API
      • GraphQL
      • Webhooks
      • Monitoring Metrics
  • Manage
    • Access Management
    • GitHub App Permissions
    • Security
      • Aviator Agents Data Usage & Retention Policy
    • On-Premise Installation
      • GitHub App for On-Prem
      • GitHub OAuth for On-Prem
      • Use Helm Instructions
      • Use Docker Compose Instructions
      • Prometheus endpoint
      • Slack Integration for On-Premise
      • Google SSO Login for On-Prem
    • FAQs
      • Troubleshooting GitHub app connection
      • MergeQueue FAQs
      • Billing FAQs
Powered by GitBook
On this page
  • Minimum requirements for the Aviator server
  • Prerequisites
  • Variable definitions
  • Step 1
  • Step 2
  • Step 3
  • Step 4
  • Step 5
  • Step 6
  • Step 7
  • Troubleshooting

Was this helpful?

  1. Manage
  2. On-Premise Installation

Use Docker Compose Instructions

Learn how to use Docker Compose for on-premise Aviator installation. Minimum requirements for the Aviator server, variable definitions, and configuration steps.

PreviousUse Helm InstructionsNextPrometheus endpoint

Last updated 3 months ago

Was this helpful?

Minimum requirements for the Aviator server

Prerequisites

  1. Ubuntu or Debian installation on the box.

    • You need to be able to SSH or have a console access to it.

    • You need a root access on it.

    • Docker engine needs to be installed. You can follow instructions .

  2. The secrets file provided by Aviator.

  3. A domain name that can be assigned to the Linux box.

Variable definitions

$GITHUB_URL: Hostname where GitHub is hosted

$AV_HOSTNAME: Hostname where Aviator is hosted (e.g. aviator.example.com)

$GITHUB_APP_ID: ID generated when a GitHub app is created

$GITHUB_CLIENT_ID: Client ID of the GitHub app, you can find this in the General settings of the app.

$GITHUB_CLIENT_SECRET: Client Secret of the GitHub app, you can generate a client secret in the General settings for the app.

$MERGEQUEUE_PEM_FILE: Private key generated by GitHub for Aviator

Step 1

Configure the DNS records so that $AV_HOSTNAME points to your Linux box. Depending on your DNS, this may take some time to propagate. Make sure the hostname resolves before moving on.

Step 2

Step 3

Step 4

Create /opt/mergequeue/keys directory and copy $MERGEQUEUE_PEM_FILE there. The file name must be mergequeue.pem.

$ sudo mkdir -p /opt/mergequeue/keys
$ sudo mv mergequeue.pem /opt/mergequeue/keys/
$ sudo chmod 0644 /opt/mergequeue/keys/mergequeue.pem

Step 5

Extract the aviator.zip file provided by us, and open enterprise/install.sh in your favorite editor. There are configs around the top of the script. You will need to modify the variables there. Here are some details for each secret value:

Value
Description

AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY

Provided in the secrets file, used to pull Docker images.

LICENSE_KEY

Provided in the secrets file.

CERT_EMAIL

Email used by LetsEncrypt. This is where you will get emails about expiring certificates. During our setup of LetsEncrypt certificate, we also enable auto-renewal cron.

GITHUB_URL

Same as $GITHUB_URL. This is only the hostname without any “https://” and any trailing slashes.

HOSTNAME

Same as $AV_HOSTNAME. This is only the hostname of Aviator server without any “https://” and any trailing slashes.

GITHUB_APP_ID

The same $GITHUB_APP_ID mentioned in Step 3.

SUMO_ACCESS_ID, SUMO_ACCESS_KEY

We use sumo logic for log tracking. These values should be provided to you in the keys.

GITHUB_CLIENT_ID, GITHUB_CLIENT_SECRET

The same $GITHUB_CLIENT_ID and $GITHUB_CLIENT_SECRET mentioned in Step 3.

Save the file.

Step 6

Once the configurations above are set, run the install script. This will pull, build and start all the docker containers required for the Aviator service.

$ ./install.sh

At the end of that script, it will run docker-compose up -d to start the containers as detached. You can verify that the containers are running by:

$ sudo docker-compose ps

At this point, you should be able to open $AV_HOSTNAME in the browser.

Step 7

Once the page loads, you can go and register a new account from the following url on the app and follow the instructions.

https://$AV_HOSTNAME/register

It will guide you to connect the GitHub Repository with the GitHub app you created. Once authorized, you should see the connected repositories on your Repository page.

Use the same account for all purposes. You can invite other team members to this account from the Account / Users and Roles section.

Note that registering multiple accounts is disabled for on-prem, if you need additional accounts please contact support@aviator.co.

Troubleshooting

If the setup above fails, or docker fails to start containers, please reach out to the Aviator team. And share the output of install script along with logs from docker-compose:

$ sudo docker-compose logs

Follow to create $GITHUB_APP_ID and $MERGEQUEUE_PEM_FILE.

Verify that Docker engine is installed and running, otherwise follow the instructions to install.

here
GitHub App for On-Prem
here