Docker
Version 1.0
OOA Containerized Version
Method 1 : Installation Using the One-Click Script
- Step 1. Download the latest release:
Download : ooa-1.0.0-beta.1-container.tar
1. Upload the File to your device.
2. Extract the downloaded .tar.gz file
tar -zxvf .tar.gz
- Step 2. Generate a Provision Key on the Controller
1 .Log in to the OOS Controller dashboard and navigate to the Provision page.
2. Copy a new Provision Key for your device.
- Step 3. Installation Using the One-Click Script
1. curl installed. Usually available in the official repositories and can be installed
sudo apt install curl
2 .Run the script with the appropriate parameters:
sudo bash install.sh <ARCH> <DOCKER_USERNAME> <DOCKER_PASSWORD> <PROVISION_KEY>
- Replace with your system's architecture type (e.g., amd64, arm64, armhf).
- Replace and with your Docker Hub credentials.
- Replace with the provision key you generated from the Controller Provision page.
The script will automatically update the PROVISION_KEY in your docker-compose.yml file.
3.The script will automatically
-
- Install Docker and Docker Compose if they are not already installed.
- Log in to Docker Hub using the provided credentials.
- Set the PROVISION_KEY in the docker-compose.yml file.
- Build the Docker image for the specified architecture.
- Start the container using Docker Compose.
- Step 4. Discover and Provision the New Agent on the Controller
1. Go back to the Controller Provision page and click re-discover. The new agent will appear in the device list.
2. Select the OOA device, then click the provision button at the bottom to let the Controller take over management.
3. After provisioning succeeds, you can see the device on the Controller's inventory page.
Method 2 :
Please make sure Docker and Docker Compose are installed on your system.
You can check with:
docker --version
docker compose version
If they are not installed, follow the steps below.
Install Docker
curl -sSL https://get.docker.com | sh
Install Docker Compose
1.Download the Docker Compose binary:
sudo curl -L
"https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-
$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
2. Apply executable permissions:
sudo chmod +x /usr/local/bin/docker-compose
3.Verify Docker Compose installation:
docker-compose --version
This directory contains the necessary files and instructions to build and run the containerized version of the OOA.
- Step 1. Generate a Provision Key on the Controller
1 .Log in to the OOS Controller dashboard and navigate to the Provision page.
2. Generate and copy a new Provision Key for your device.
Step 2. Get started with OOA using Docker Compose
- Generate a Provision Key and keep it handy (see "Step 1" below).
-
Edit the docker-compose.yml file in this directory and update the PROVISION_KEY environment variable with your generated key, for example:
environment: - PROVISION_KEY=your_provision_key
- (Recommended) Log in to Docker Hub before running Docker commands to avoid hitting the unauthenticated pull rate limit:
docker login
If you see an error like you have reached your unauthenticated pull rate limit, please refer to: https://www.docker.com/increase-rate-limit
- Start the service with the following command:
docker-compose up -d
- By default, three named volumes will be created:
ooa-db: stores OOA database files
ooa-logs: stores OOA log files
ooa-config: stores OOA configuration files (such as ooa.yaml)
- After startup, you can access the OOA management interface for further configuration.
Notes:
- Please make sure Docker and Docker Compose are installed.
- To rebuild the image and restart the service, run:
docker-compose down && docker-compose build && docker-compose up -d
- Step 3. Discover and Provision the New Agent on the Controller
- Go back to the Controller Provision page and click re-discover. The new agent will appear in the device list.
- Select the OOA device, then click the provision button at the bottom to let the Controller take over management.
- After provisioning succeeds, you can see the device on the Controller's inventory page.
Rebuild the Docker Image and Restart Containers using the One-Click Script
To rebuild the Docker image and restart the containers, you can use the rebuild method in the install.sh script.
Follow these steps:
1. Run the rebuild method with the desired architecture (e.g., amd64, arm64, or armhf):
sudo bash install.sh rebuild
Replace with your system's architecture type. For example:
sudo bash install.sh rebuild amd64
2. The script will automatically:
- Build the Docker image for the specified architecture.
- Stop and remove existing containers.
- Prune unused Docker resources.
- Restart the containers with the updated configuration.
Files Overview
- Dockerfile: Defines the container build process.
- entrypoint.sh: Script to initialize the container and configure the agent.
- bin/: Contains precompiled binaries of the OOA for different architectures (amd64, arm64,armhf).
- docker-compose.yml: Configuration file for Docker Compose to manage the container.
Environment Variables
The following environment variables can be used to configure the OOA:
- PROVISION_KEY: Set the provision key for the agent (default: empty).
- HOST_NAME: Set the host name for the agent (default: ooa).
- MGMT_PORT_HTTP: Set the HTTP management port (default: 80).
- MGMT_PORT_HTTPS: Set the HTTPS management port (default: 443).
- CONTROLLER_TUN_PORT: Set the controller tunnel port (default: 8001).
- SDWAN_TUN_PORT: Set the SD-WAN tunnel port (default: 8002).
Notes
- The container runs in privileged mode to allow access to networking features such as iptables and iproute2.
- The --net=host option is used to share the host network with the container.
- Logs are written to /var/log/ooa.log inside the container.
- The /etc/ooa/ directory contains configuration files for the OOA, including ooa.yaml.
- This directory can be mounted as a volume to persist configuration changes.