Welcome to the Dronetag On-premise Platform documentation. Running Dronetag Cloud Platform in on-premise mode allows you to deploy our services within your own infrastructure, providing enhanced privacy, security, and control over your drone operations.
Dronetag On-premise Platform is available in two variants: pre-installed node or self-install kit.
Dronetag On-premise is a self-hosted solution designed for organizations that require a private and secure environment for their drone tracking and identification needs.
It is designed and usually paired with Dronetag Scout, which is a stationary Remote ID receiver, which can be configured to receive Remote ID messages and send them on the local network to the on-premise instance, instead of sending the data to our cloud platform instance.
The Dronetag On-Premise Platform can be set up to offer various levels of functionalities, depending on your needs. Many services are decoupled and can be run independently, allowing you to choose the ones that best suit your requirements.
| Functionality | Service Name | Description | Connections/Outputs | |
|---|---|---|---|---|
| Remote ID Ingestion Service | funnel | Service to ingest data and parse Remote ID messages | Kafka Topic / Another Node | Required |
| Data Storage Service | airspace | Service to store ingested data in PostgreSQL database and provide API on top of it. Requires Remote ID Ingestion Service. | HTTP API | Optional |
| Local Dronetag App for Web | app | Web application to visualize ingested data and manage Dronetag devices. Requires Data Storage Service to show both real-time and historical data. | Web App | Optional |
| Forwarding Service | relay | Service to forward ingested data to 3rd-party systems in various UTM formats and other services. Requires Remote ID Ingestion Service. | HTTP Webhooks / MQTT, Various UTM formats | Optional |
| User Account Management | N/A | Collection of features allowing you to have users with different sharing options and private data within your instance. Without this feature, the app is used without user accounts and all data are accessible to everyone in your network. | HTTP API | ⏳ Not available yet |
| Network Remote ID Ingestion Service | N/A | Service to receive data from Network Remote ID devices, such as Dronetag Mini or Mini 4G | Kafka Topic / HTTP API | ⏳ Not available yet |
Some features that are typically present in our cloud instance are not yet available in the on-premise version, but are planned for future releases. If you are interested in a specific feature, please do not hesitate to reach out to us.
In this section we will guide you through the process of setting up your Dronetag On-premise Platform using the self-install kit. You will need a distribution package provided by Dronetag, and a (virtual) machine supporting Docker Compose.
The platform is distributed as a set of Docker containers orchestrated using Docker Compose manifests. This makes it OS-agnostic. However, Linux is recommended as the preferred host operating system.
/opt/dronetag/ folder.INSTALL.md file contained in the package, and follow it.Also, the INSTALL.md file contains other information on how to start and stop the services, and so on.
Open your web browser and open the URL http://<host-name-or-ip-address>. This should open the local Dronetag App, which allows you to visualize the data captured by your Dronetag Scout devices.
Continue with the other guides on how to configure your Dronetag equipment to start sending data to your on-premise instance, and how to use the apps to access the visualization and data.
This section is not finished yet.
This guide will provide instructions on how to upgrade your Dronetag On-premise Platform installation on your own hardware. If you have a pre-installed node and wish to upgrade it, please contact us.
Backup your data. Before proceeding with the upgrade, make sure to back up your data. This includes any custom configurations, maps, or other important files you may have added to your installation.
Perform the upgrade. Follow the instructions that are part of the new version distribution package. Some details may depend on the exact previous version you used to have before.
This section contains information that is no longer valid.
This section covers some advanced topics and quirks that you may encounter when using the Dronetag On-premise Platform with virtual machines.
The system is configured with two main UNIX user accounts:
core - the main user account for accessing the virtual machine over SSH and making changes, is a sudoer.
viewer - a read-only user account for accessing the web interface and viewing the data.
onpremviewer. We recommend changing it after the first login.ssh -i core_key core@<IP_ADDRESS>
where <IP_ADDRESS> is the IP address of the virtual machine. If you used port forwarding and forwarded SSH to a different port, use the -p option to specify the port.
The Dronetag On-premise Platform uses offline maps for the map visualization in the app. You may wish to replace the default maps with your own.
The maps are stored in the /etc/onprem/data/maps directory.
The supported formats are .mbtiles or .pmfiles. You can use tools like MapTiler to create your own maps in these formats.
To replace the maps, follow these steps:
.mbtiles or .pmfiles format./etc/onprem/data/maps directory on your Dronetag On-premise node./etc/onprem/data/maps/config.json file path to reference the newly uploaded maps file.For the self-install kit distributions, we have disabled the automatic updates of the system, provided by the Fedora Core OS, to avoid unwanted automatic reboots of the machine. If you wish to enable automatic updates, you can do so by running the following command:
sudo systemctl unmask zincati.service
sudo systemctl unmask fwupd-refresh.service
Read more about Fedora's automatic updates.
The current distribution is not configured to use the video output in a virtual machine environment — different virtual machine software has different requirements for video output, needs to use different drivers, and so on.
If you want to use the video output in a virtual machine, you will need to configure it manually. This may involve installing additional drivers or configuring the virtual machine settings.
To start X session after the VM boots up, you will need to create a special file. Read more in the Accessing the Local Dronetag App page.
We expect the VM to run without a serial TTY console, so we disabled the TTY service on S0 to prevent failing service errors. If you encounter issues with the serial console, or you need/want to use it, you can enable the service back by running the following command:
sudo systemctl unmask serial-getty@ttyS0.service
This section contains information that is no longer valid.
This guide provides an example of how to install the Dronetag On-Premise solution using Oracle VirtualBox. The steps are similar for other virtualization platforms, but the interface may vary slightly. We provide these steps as an example, as-is, and you may need to adapt them to your specific virtualization platform. This guide was written for Oracle VirtualBox version 7.1.10 (2025).
To import the OVF file into Oracle VirtualBox, follow these steps:
File > Import Appliance.dronetag-onpremise*.ovf file from the distribution
package.Next and review the appliance settings.Import to start the import process.or use this command:
VBoxManage import --vsys 0 --vmname "dronetag-onprem" dronetag-onpremise*.ovf
After the OVF file is imported, you may want to review and adjust the machine settings.
You can use the default settings, but you will need to adjust the network settings to ensure the virtual machine can communicate with your host machine and the rest of your network.
Settings.Network tab.Now choose one of the following options for networking:
NAT.Port Forwarding.TCP, host IP to 127.0.0.1 (or leave it empty for all interfaces), and host port to the desired port on your host machine:
22 - SSH port to access the virtual machine over SSH80 - HTTP port for the web interfaceOK to save the settings.
or configure using the command line:
VBoxManage modifyvm "dronetag-onprem" --natpf1 "guestssh,tcp,,9022,,22"
VBoxManage modifyvm "dronetag-onprem" --natpf1 "guesthttp,tcp,,9080,,80"
Bridged Adapter.OK to save the settings.or configure using the command line:
VBoxManage modifyvm "dronetag-onprem" --nic1 bridged --bridgedadapter1 "<your adapter>"
Start to boot the virtual machine.or use this command:
VBoxManage startvm "dronetag-onprem"
If things go south, here are some common troubleshooting steps you can take, ordered from the least destructive/disruptive to the most.
Currently, all Dronetag On-premise Platform deployments are supplied with direct support by Dronetag, therefore this section is rather short. If you have any questions or need assistance, please reach out to us.
start.sh script to ensure all services are runningYou can run the start.sh script to ensure all services are running.
cd /opt/dronetag
sudo ./dt-start.sh
Restarting the virtual machine can help resolve some issues. You can do this from the virtualization platform you are using, or by running the following command in the terminal:
sudo reboot
If you are still experiencing issues, you can try reinstalling the virtual machine. This will reset the system to its default state, so make sure to back up any important data before proceeding.
As for the Dronetag persistent data, they are stored by the PostgreSQL database under /var/opt/dronetag/. As long as you keep the contents of that directory, your data should be preserved.
You can follow the same instructions as in the Upgrading Guide to reinstall the platform.
The On-Premise Tablet is a ready-to-use hardware solution, typically used for evaluation purposes.
Note that the tablet is not just a graphical display. It is a Linux server with pre-installed Dronetag On-Premise Platform. If connected to a network, it provides an HTTP server to serve the application to web browsers.
If the devices are connected correctly, you should see a small banner in the top-left corner of the screen, showing a green dot and 1 online.
The tablet runs in so-called "kiosk" browser mode. To access advanced settings, you first need to exit this browser mode. This can be done by swiping three fingers from the bottom side of the tablet up. When you do it, you should be able to access the standard Gnome Desktop Manager.
When using the tablet setup for scanning, you should always have your Wi-Fi turned off completely, to avoid interference with Remote ID broadcast.
However, there are situations when you want to connect the tablet to a Wi-Fi network for maintenance purposes. In such a case, click on the icon in the upper-right corner of the screen. The Wi-Fi menu item can be used to turn Wi-Fi on, select a network, and enter access credentials.
When the tablet is connected to public Internet, it will allow Dronetag support to connect to the device and help you with troubleshooting.
Do not forget to switch the Wi-Fi off after you are done and before you want to start scanning again.
Without data, the on-premise instance is not very useful. You need to change the forwarding target of your Dronetag Scout to point to your on-premise node. This guide will help you set that up.
If you have not yet installed your Dronetag Scout, or if you are not sure it's fully ready, please follow all of the instructions in the Dronetag Scout User Manual to learn how to install Dronetag Scout, physically mount it and connect it to your network.
Dronetag Scout should be able to find the local services automatically (A), or you may need to configure the URLs manually (B).
As of July 2025, you may not yet be able to use the automatic setup via zeroconf. We're working on it.
Applies for: Only pre-installed nodes, or nodes with zeroconf support manually configured.
We use zeroconf to „auto-magically“ set-up everything for you. In ideal conditions, it should be enough to connect the equipment on the same local network. Before you start configuring manually, verify if the equipment is working.

Applies for: Both pre-installed nodes and self-installed nodes.
After your Scout is installed, open the Scout admin panel and navigate to the forwarding configuration.
👉 Refer to the Sensor configuration page.
On this page, make sure you have the Dronetag Forwarding option enabled, and set to:
http://dt-onprem-<ID>.local
OR
http://<YOUR-INSTANCE-IP>
Press Update forwarding to save the changes.
The On-premise node is a ready-to-use hardware solution (a mini PC server) with already pre-installed Dronetag On-premise Platform.
If your network does not provide DHCP capability, you will need to use static IP configuration on your On-premise Node. For more information, refer to the Advanced Configuration section.
After a few minutes, the web services should be running and you should be able to verify the functionality. Please allow the system a few minutes to boot up and start the services (up to 5 minutes).
Check the label on the node with the hostname. If your client and your local network support mDNS, open your browser and enter the following address:
http://dt-onprem-<ID>.local
Where <ID> is the number on the label on your node. You should see the Dronetag App running in your browser.
Continue with the other guides on how to configure your Dronetag equipment to start sending data to your on-premise instance, and how to use the apps to access the visualization and data.
To access the terminal physically (using HDMI + keyboard), use TTY other than /dev/tty1 (which is dedicated for the app display).
To switch to a different TTY, press Ctrl + Alt + F2 (or F3, F4, etc.) on your keyboard.
To connect to the On-Premise Node via SSH, follow these steps:
ssh viewer@dt-onprem-<ID>.local
Alternatively, you can use the static IP address of your On-Premise Node.
The default password is on a label at the bottom of the device.
If your network does not provide DHCP capability, you can use static IP configuration on your On-Premise Node.
If you use the On-Premise Node provided by Dronetag, you can follow these steps. If you use your own hardware, you'll need to follow the instructions for your specific hardware and operating system.
Using DHCP is recommended for most users; it makes for easier configuration. We recommend leaving the static IP configuration to the network administrator.
On the Dronetag-provided nodes you can use the nmcli tool. Find out the name of the Ethernet network connection using nmcli con show.
To set static IP addresses using nmcli:
nmcli con mod [name] ipv4.method manualnmcli con mod [name] ipv4.addresses <IP_ADDRESS>/<SUBNET_MASK>nmcli con mod [name] ipv4.gateway <GATEWAY_IP>nmcli con mod [name] ipv4.dns <DNS_IP>nmcli con up [name]To go back to DHCP, follow these:
nmcli con mod [name] ipv4.method autonmcli con up [name]Remember to set the static IP address in the Dronetag Scout admin panel as well, so that it can communicate with the On-Premise Node.
Here are a few suggestions for troubleshooting the Dronetag On-Premise Node and Dronetag Scout.
Currently, all On-Premise deployments are supplied with direct support by Dronetag, therefore this section is rather short. If you have any questions or need assistance, please reach out to us.
~/use_app is present on the node filesystem.startx command in the terminal.F5 or Ctrl + R)This section describes how to use the Dronetag App that is running on your on-premise node, to visualize the data received by your Dronetag Scout devices.
Remember that the cloud hosted instance on https://dronetag.app, or the app downloaded from the App Store / Google Play cannot be used to access your on-premise node. You need to use the local instance of the Dronetag App that is running on your on-premise node.
For the pre-installed nodes, the main advantage is the ability to use the HDMI output to display the Dronetag App on a monitor or TV. This is useful for larger displays or when you want to use the app without a web browser.
touch etc/use_app command in the terminal. This file is used to indicate that the Dronetag App should be launched on boot.We recommend connecting a USB mouse and keyboard to interact with the app.
Use a computer or laptop, connected to the same local network as your on-premise instance. If you use a virtual machine, you may need to forward the ports.
Open your web browser and enter the following address:
http://dt-onprem-<ID>.local/
OR
http://<YOUR-INSTANCE-IP:PORT>/
Where <ID> is the number on the label on your node. Alternatively, you can use the static IP address of your on-premise instance.
The app can be opened on mobile devices by entering the same address as above. Further recommendation is to pin it to the home screen of your mobile device for easier access.
Now you can access the Dronetag App directly from your home screen in full screen.
The Dronetag App performance is best when running as a native app on the device (installed from app stores). However, this is not yet available for the on-premise environment. We're working on it. In case you experience a severely reduced performance in the web browser app, please let us know.
After your successful drone detections, you might want to download the data in open formats to either store it for later or to process it in your own systems.
While the data is stored in a PostgreSQL database internally, the database is not designed to be accessed directly. We provide an HTTP REST API to access the data in a more user-friendly way.
The app itself provides the easiest way to download the data. Access the app via the web browser on your computer and follow these steps:
The API documentation is available at:
http://dt-onprem-<ID>.local/airspace/docs
OR
http://<YOUR-INSTANCE-IP:PORT>/airspace/docs
If you have previously used our cloud instance (https://api-docs.dronetag.com) you may be familiar with the API. The on-premise API provides virtually the same data, just on different URL addresses.
By exploring the API documentation, you will find that we use several separated data telemetry streams – TELE-UA, TELE-Operator and TELE-System. Learn the difference in the Understanding DUMP section.
GET http://dt-onprem-<ID>.local/airspace/v1/operations?from=-8:00:00GET http://dt-onprem-<ID>.local/airspace/v1/telemetry/ua?from=-15:00:00&bbox=14.0,50.0,14.1,50.1GET http://dt-onprem-<ID>.local/airspace/v1/telemetry/ua?operation_id=2db24d2b-e95a-451b-aa1e-5e39017f5eb2Dronetag offers Dronetag On-premise Platform, a self-hosted version of the Dronetag Cloud Platform deployable directly in your own Azure subscription. While the name suggests “on-premise,” this version runs in your cloud environment—giving you full control, isolated infrastructure, and compliance with data locality regulations, while still leveraging the convenience and scalability of Azure.
This setup is ideal for organizations that want to maintain ownership of their data and infrastructure, yet avoid managing physical hardware.
To run Dronetag On-premise Platform on Azure, you must first obtain a license from us.
Contact our sales team:
sales@dronetag.com
Once licensed, you’ll receive access to our offer on the Microsoft Azure Marketplace where you can deploy the solution directly into your Azure environment.
We offer two types of deployment options, one of them allows you to deploy it as VM.
This method lets you deploy Dronetag On-premise Platform using a preconfigured VM image published to the Azure Marketplace.
http://<VM-IP-ADDR> using your browser.If you see the UI of the Dronetag Web App, your instance is ready to be secured in the next step.
The virtual machine is unsecured in its default state and you need to ensure that you do not publish the SSH and HTTP ports to the public. It can be used only for testing purposes, however, for a production environment, please make sure to always put this VM behind a reverse proxy or application gateway.
You can secure the deployment using either:
Example: Set up Application Gateway
Once deployed, your instance is securely accessible via a public domain.
We are actively working on a fully containerized version of Dronetag On-premise Platform. This will support Docker and Kubernetes deployments, giving you maximum flexibility and integration with your CI/CD and cloud-native tools.
If you are interested in early access or want to help us test the container version, reach out to:
support@dronetag.com
We provide full support for Dronetag On-premise Platform deployments:
For additional questions or custom integration requests, contact us at support@dronetag.com
This document outlines the hardware and software prerequisites for deploying the Dronetag Cloud Platform on-premise.
Key Highlights:
The platform utilizes a Service-Oriented Architecture (SOA) based on Docker containers. The installation typically involves deploying up to 10 services/containers, managed via Docker Compose.
Incoming traffic is routed through an Nginx gateway, which is deployed as one of the containers.
While containers can theoretically be distributed across multiple nodes in various ways, we recommend two basic setups:
Before provisioning hardware, ensure the host environment meets the following software criteria:
Please note that there are no strict minimal requirements. The following specifications are estimated based on typical usage patterns.
In the tables below, "vCPU" refers to one virtual core in a hypervisor environment (e.g., VMWare, KVM, AWS). We recommend a base clock speed of 2.0 GHz or higher.
This setup is recommended for most on-premise instances, unless you expect an enormous amount of simultaneous flights and/or users.
| Resource | Recommended Minimum | Optimal |
|---|---|---|
| CPU | 2 vCPU | 4 vCPU |
| RAM | 8 GB | 16-32 GB |
| Storage | 60 GB SSD * | 100 GB SSD * |
For the disk storage, see Capacity Planning notes below.
This deployment splits the services between a Frontend Server (serving the Web UI and map data) and a Backend Server (handling API logic, flight processing, and database storage).
| Role | Resource | Recommended Minimum | Optimal |
|---|---|---|---|
| Backend Node | CPU | 2 vCPU | 4 vCPU |
| (Database & API) | RAM | 8 GB | 16-32 GB |
| Storage | 40 GB SSD | 60-80 GB SSD | |
| Frontend Node | CPU | 2 vCPU | 4 vCPU |
| (Web UI & Maps) | RAM | 4 GB | 8-16 GB |
| Storage | 30 GB | 50 GB |
For the disk storage, see Capacity Planning notes below.
While CPU and RAM requirements depend on the expected amount of concurrent traffic, storage requirements can vary based on the amount of data stored, especially in the long-term view. The guidelines below can be used to estimate the necessary disk space.
The flight database grows approximately linearly based on the number of flights, their duration, and the number of sensors (receivers) tracking them. On the other hand, the amount of data is also inversely proportional to the quality of detection, which may vary and is very difficult to predict. As a rough estimate of the storage required for flight telemetry data, count on approximately 2-3 MB per 1 Detection Hour.
A Detection Hour corresponds to one drone being detected for the duration of one hour by one receiver. To avoid any ambiguities, the last part means that if a drone is simultaneously detected by multiple receivers, the storage requirements need to be multiplied by the number of those receivers.
The frontend application provides map coverage of a selected area. Storage requirements are static but depend heavily on the geographic size of the region, number of map layers, and their level of detail.
As a rule of thumb, you may count on ~5-10 GB for base map layers. If you require high-resolution satellite imagery, or detailed tactical maps with high details for large regions, storage requirements can easily exceed tens of Gigabytes.
If you plan to do database backups (which is of course highly recommended, see below), count on some space needed to store these backups. This may (and most typically will) be a storage space in some different environment and configuration - for instance, it may employ some slower technology than SSD.
| Factor | Impact Area | Sizing Guidance |
|---|---|---|
| Simultaneous Flights | Backend CPU and RAM | High volumes of concurrent operations increase CPU load. Increase backend vCPU count if processing many active flights simultaneously. |
| Flight History | Backend Disk | See the Backend Storage formula above. Long-term retention of raw flight data requires planned disk expansion. |
| Concurrent Users | Frontend & Backend RAM | A high number of operators browsing the UI simultaneously increases both CPU and memory usage not only on the frontend server, but also on the backend. |
The platform is designed for resilience through simplicity. The platform services are containerized and stateless (except for the database), allowing for rapid restart and recovery in the event of a service interruption.
It is assumed that short service interruptions (for instance, when there is a maintenance window) are tolerable for on-premise instances, and high-availability (HA) clustering is therefore generally not required for standard operational parameters.
If your availability level requirements are strict, i.e. you need HA clustering, please contact us to discuss available options.
All persistent system state and flight telemetry are centralized within the PostgreSQL database. Therefore, a robust disaster recovery plan relies primarily on the integrity of the database backups.
The following are recommendations to be considered. Your final setup may vary depending on your requirements and tolerance of potential data loss.
While not strictly required for the platform's operation, we recommend provisioning a Staging Environment to ensure operational stability during lifecycle events. Such an environment typically has the following purpose:
As for the sizing, the staging environment does not need to match production performance. It can usually be a scaled-down Single-Node deployment. However, we highly recommend providing sufficient storage space to store a full copy of production data.
Every chapter of this document is a page of the Dronetag help site. Use these addresses to reach the latest version.