Windows Installer Script
The installer script is the recommended way to install OpenTAKServer on Windows. So far it's only been tested on Windows 10 Pro, but it will probably work on Windows 11 and Windows Server. If you try it on any of these platforms, please leave feedback about how it worked on GitHub issues or on the Discord server.
Note that the Mumble authentication feature is not supported yet in Windows.
Prerequisites
The installer will create new services for MediaMTX and OpenTAKServer that will run under the computer account you
are logged in as. The services require that account to have a password. If your account doesn't have a password you can
enable one by clicking on Start
-> Settings
-> Accounts
-> Sign-In options
-> Password
.
The installer also has to be run in Powershell as an administrator. To do that, click on Start
and search for Powershell
.
There should be an option called Run as administrator
that you can click on.
Installer Instructions
- Run Powershell as an administrator
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://i.opentakserver.io/windows_installer'))
- You may be prompted about the script being untrusted. If so, enter
R
at the prompt and pressEnter
to run it anyway. - At this point the script will run with minimal user action required. You may see dialog boxes asking if you want to allow the installed software to access the network. Click allow on all of these dialogs
- After everything is installed, the installer will make services for MediaMTX and OpenTAKServer so they can run automatically at boot. You will be prompted for your password. The password is only used to create the services.
- If you didn't get any errors, installation should be complete and OpenTAKServer should be running. Try browsing to
http://127.0.0.1
and you will see the login page. - If other devices on the network can't see the login page, you may need to configure Windows Firewall. The list of ports that OpenTAKServer uses is here.
Windows Manual Installation
- Install chocolatey
- Open Powershell as an administrator
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
- Run
choco install python3 openssl rabbitmq nginx sed git jdk8 -y
- Install Poetry
- Open Powershell as an administrator
(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | python -
$Env:Path += ";$env:USERPROFILE\AppData\Roaming\Python\Scripts"; setx PATH "$Env:Path"
Replace
- Create the directories
C:\users\<YOUR_USERNAME>\ots
andC:\users\<YOUR_USERNAME>\ots\mediamtx
- Download MediaMTX and put the binary in
C:\users\<YOUR_USERNAME>\ots\mediamtx
- Download OpenTAKServer's config for MediaMTX and place it in
C:\users\<YOUR_USERNAME>\ots\mediamtx
- Download the latest release of OpenTAKServer from GitHub and extract it to a folder
- Go back to the admin Powershell
cd c:\path\to\opentakserver
poetry update
poetry install
poetry run python opentakserver\app.py
- OpenTAKServer will automatically create the database, certificates and the administrator user
- If there is an error about not being able to open the database, do the following
- Open
C:\users\<YOUR_USERNAME>\ots\config.yml
in a text editor like Notepad++ - Change
SQLALCHEMY_DATABASE_URI
fromsqlite:////C:\Users\<YOUR_USERNAME>\ots\ots.db
tosqlite:///C:\\Users\\<YOUR_USERNAME>\\ots\\ots.db
- The difference is you should only have three slashes between
sqlite:
andC:
, and also two slashes between the folders poetry run python opentakserver\app.py
- Open
- Configure Nginx
- Download nginx.conf from the installer repo and put it in
C:\tools\nginx-<VERSION>\config
- Download proxy_params from the installer repo and put it in
C:\tools\nginx-<VERSION>\config
- Make the
C:\tools\nginx-<VERSION>\config\ots
directory - Download ots_http.conf, ots_https.conf, and ots_certificate_enrollment.conf and place them in
C:\tools\nginx-<VERSION>\config\ots
- In each of the three config files, replace
NGINX_VERSION
with the version number of nginx that's installed. The version as of this writing is1.25.4
- In
ots_https.conf
andots_certificate_enrollment.conf
replaceSERVER_CERT_FILE
withC:\Users\<YOUR_USERNAME>\ots\ca\certs\opentakserver\opentakserver.pem
- In
ots_https.conf
andots_certificate_enrollment.conf
replaceSERVER_KEY_FILE
withC:\Users\<YOUR_USERNAME>\ots\ca\certs\opentakserver\opentakserver.nopass.key
- In
ots_https.conf
replaceCA_CERT_FILE
withC:\Users\<YOUR_USERNAME>\ots\ca\ca.pem
- In an admin Powershell run
nssm restart nginx
- Download nginx.conf from the installer repo and put it in