Manually Setting up an Edge Device
Currently, Outpost requires you to purchase and setup your own device.
Outpost Physical Machine Requirements
Outpost requires a physical machine connected to your local network, behind your firewall. Typically, this is a small "NUC"-style device that runs headless (i.e., without a monitor or keyboard), but it can be any machine that meets the minimum requirements.
We recommend the following specifications, which should be sufficient for most deployments:
- Operating System: 64-bit (amd64) Linux distribution (e.g., Ubuntu)
- CPU: 64-bit (amd64) CPU
- RAM: 8 GB
- Storage: 256 GB
- Networking: Dual NIC (Network Interface Controller)
Setting Up Your Own Edge Device
The following are the basic steps needed to setup your Outpost device:
Re-image the Device (if needed)
If the machine ships with Windows, re-image it with a Linux distribution (e.g., Ubuntu): How to Install Ubuntu on WindowsInstall SSH
Enable remote access by installing SSH: Install SSH on UbuntuEnable SSHD (SSH Daemon)
Ensure that the SSH service is running and enabled on boot: Enable SSHD on UbuntuRegister Outpost Device in Platform Console Register device with the platform: Register Outpost Device
Run Setup Scripts
Once the machine is ready and accessible via SSH, proceed to run the Outpost setup scripts (detailed below).
Installation & Configuration of Outpost (Automated)
These steps assume a fresh installation of Ubuntu or another Debian-based Linux distribution, used exclusively for Outpost.
It is your responsibility to ensure that you have an appropriate licence for Docker, if required.
- By using the install script, you agree to Autodesk's Terms of Use.
Step-by-Step Installation
Run the following commands on the target Linux machine:
wget https://cdn.tandem-connect.autodesk.com/outpost/install-debian.sh
sudo chmod 700 install-debian.sh
sudo ./install-debian.sh
Follow the on-screen prompts. The default options should work for most installations.
System Maintenance (Scripted)
A maintenance script is provided to assist with routine patching. It performs the following actions:
✅ Updates:
- OS packages
- Docker packages
- Outpost (if using the
:latest
image tag)
❌ It does not perform:
- Major OS version upgrades
IMPORTANT
This script is a convenience tool. Maintenance and patching of the Linux OS remain your responsibility.
Download & Use the Maintenance Script
# One-time setup:
wget https://cdn.tandem-connect.autodesk.com/outpost/update-debian.sh
sudo chmod 700 update-debian.sh
# Run manually according to your patching schedule:
sudo ./update-debian.sh
Advanced Configuration
Installation & Configuration of Outpost and Dependencies (Manual Steps)
These steps assume that you have a new installation of Ubuntu Server or Desktop and that this installation will be used exclusively for Outpost. It also assumes that the minimum requirements have been met. Do not follow these steps if you have completed the automated installation above.
Step 1 - Create a User for Outpost
Login as a user with sudo privileges (or root):
sudo useradd -m -s /bin/sh outpost
Add the outpost user to the docker group:
sudo usermod -aG docker outpost
Step 2 - Set Up Docker's APT Repository
This step is based on the official documentation: https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository. If a conflict exists between this document and the official documentation, use the Docker documentation.
sudo apt-get update
sudo apt-get -y install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/$(. /etc/os-release && echo "$ID")/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/$(. /etc/os-release && echo "$ID") \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
Step 3 - Install the Docker Packages
sudo apt-get -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Step 4 - Create the Docker Compose File
Switch to the outpost user:
sudo su - outpost
Create a directory for Outpost to use for persistent storage:
mkdir volume
Create a new file called compose.yml
:
vi compose.yml
Paste the following example content, updating the placeholders:
services:
outpost:
image: autodesk/tandem-connect-outpost:latest
pull_policy: always
ports:
- "47808:47808/udp"
volumes:
- /home/outpost/volume:/usr/src/volumes
restart: unless-stopped
environment:
- API_URL=https://api-1.tandem-connect.usa.autodesk.com/v1
- ACCOUNT_ID=<your account id from above>
- OUTPOST_DEVICE_ID=<your outpost device id from above>
- PASSWORD=<your outpost device password from above>
logging:
options:
max-size: "20m"
max-file: "3"
Remove the
ports
section if port mappings are not required.
Step 5 - Start Docker
Change to the directory where the compose.yml file is located:
cd /home/outpost
docker compose up -d
Outpost should start, connect to Tandem Connect, retrieve its configuration and start the pipeline. You can confirm this by viewing the logs.
Docker Compose File Reference
Environment Variable | Mandatory | Description | Example |
---|---|---|---|
API_URL | Yes | The Tandem Connect API URL | https://api-1.tandem-connect.usa.autodesk.com/v1 |
ACCOUNT_ID | Yes | Tandem Connect Account ID | 414db421-02a7-520e-ae18-e73b295b30e8 |
OUTPOST_DEVICE_ID | Yes | Outpost Device ID | my-custom-id |
PASSWORD | Yes | Outpost Device Password | 5mfrSGa3cR2pDgft |
LOG_DATA_REMOTE_ENDPOINT | No | 3rd-party endpoint for plugin logs | https://my-logs-service.com/my-account/logs |
LOG_EXCEPTION_REMOTE_ENDPOINT | No | 3rd-party endpoint for plugin exceptions | https://my-logs-service.com/my-account/exceptions |
MAX_BAD_DIR | No | Max files in "bad" directory | 100 |
MAX_PLUGIN_CONSUME | No | Max in-progress files | 15 |
CUSTOM_NPM_REGISTRY | No | Custom NPM registry | https://npm.yourcompany.com |
CUSTOM_NPM_ACCOUNT | No | Username for NPM registry | svc_account |
CUSTOM_NPM_PASSWORD | No | Password for NPM registry | mypassw0rd |
API_MS_TIMEOUT | No | API timeout in ms | 60000 |
PLUGIN_DOWNLOAD_MS_TIMEOUT | No | Plugin download timeout in ms | 600000 |
HTTP_PROXY / http_proxy | No | HTTP Proxy Support: Accepts any HTTP URL string value. This is only for the HTTP protocol. Outpost and all plugins should use this environment variable for HTTP proxy configuration. Endpoints listed in |
http://proxy:80 |
HTTPS_PROXY / https_proxy | No | Accepts any https url string value. It is only for HTTPS protocol. Outpost and all plugins should use this env var for https proxy. Endpoints listed in ⚠️ WARNING: Ensure your proxy server is running and properly configured before setting proxy environment variables. Incorrect proxy settings can cause application failures, timeouts, and connectivity issues. |
https://proxy:80 |
NO_PROXY / no_proxy | No | Accepts any endpoint string value. Use Outpost and all plugins should use this variable to bypass proxy settings and fall back to the default network route. ⚠️ WARNING: Ensure your proxy server is running and properly configured before setting proxy environment variables. Incorrect proxy settings can cause application failures, timeouts, and connectivity issues. |
localhost,127.0.0.1 |
ALL_PROXY / all_proxy | No | Accepts any endpoint string value. Outpost and all plugins should use this variable to proxy all traffic. Do not combine Endpoints listed in ⚠️ WARNING: Ensure your proxy server is running and properly configured before setting proxy environment variables. Incorrect proxy settings can cause application failures, timeouts, and connectivity issues. |
http://proxy:80 |
Custom variables should be prefixed with OP_VAR_
and consumed as opvar.
in plugin config.
Useful Docker Commands
List running containers:
docker container ls
Example output:
CONTAINER ID IMAGE ... PORTS NAMES
e3784e50cf65 autodesk/tandem-connect-outpost ... outpost-bacnet_outpost-1
View logs:
docker logs <container_id>
Shutdown Outpost:
docker compose down
Connectivity and Firewalls
Outpost requires the following connectivity:
System | Purpose | Port/Protocol | Example |
---|---|---|---|
Autodesk Tandem Connect API | Retrieve config and plugins | 443/TCP | api-1.tandem-connect.usa.autodesk.com |
NPM Registry | Retrieve third-party NPM packages | 443/TCP | registry.npm.org + GitHub |
Autodesk Tandem APIs | Access and update facility components | 443/TCP | developer.api.autodesk.com, tandem.autodesk.com |
Source/Destination System | System being integrated | As per system | N/A |
Other Connectivity Options
Outpost supports Purdue model architectures and can act as a proxy between network layers. Contact support for more information.