Skip to content

Commit 6f41e51

Browse files
committed
More CloudTAK updates
1 parent 666cda1 commit 6f41e51

File tree

1 file changed

+23
-48
lines changed

1 file changed

+23
-48
lines changed

docs/cloudtak.md

Lines changed: 23 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,24 @@
11
# CloudTAK
22

3-
OpenTAKServer is compatible with [CloudTAK](https://github.com/dfpc-coe/CloudTAK), a fully featured, in-browser TAK client.
3+
OpenTAKServer is compatible with [CloudTAK](https://github.com/dfpc-coe/CloudTAK), a fully featured, in-browser TAK client. If you need support, please ask in the OTS discord rather than contacting COTAK (the creators of CloudTAK).
44

5-
## Notes
5+
## Domain Name and Certificates
66

7-
CloudTAK has only been tested using an FQDN with a trusted certificate (i.e. Let's Encrypt). It may still work without an FQDN or trusted cert, but SSL is always required.
8-
For best results you should create a subdomain. For example, if your FQDN is `example.com`, your subdomain could be `cloudtak.example.com`.
7+
CloudTAK requires a domain name and subdomain names in addition to a Let's Encrypt certificate on the server.
98

10-
If you need support, please ask in the OTS discord rather than contacting COTAK (the creators of CloudTAK).
9+
* `ots.example.com` - Points to OpenTAKServer.
10+
* `cloudtak.example.com` - Points to the CloudTAK web UI.
11+
* `tiles.cloudtak.example.com` - This is a sub-subdomain for CloudTAK's map tile server.
12+
* `video.example.com` - CloudTAK's MediaMTX server. This is optional as video streaming from OTS to CloudTAK is not working at this time. However this subdomain will be required once streaming is working.
1113

12-
## Installation
13-
14-
This guide assume that you're installing CloudTAK on the same server as OpenTAKServer.
15-
16-
### Docker
17-
18-
Run these commands to install Docker on Ubuntu. If you're not using Ubuntu, check the Docker docs on how to install for your distro.
14+
## Known Issues
1915

20-
```shell
21-
sudo apt update
22-
sudo apt install ca-certificates curl
23-
sudo install -m 0755 -d /etc/apt/keyrings
24-
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
25-
sudo chmod a+r /etc/apt/keyrings/docker.asc
16+
* Video streaming currently doesn't work
17+
* Uploading files and data packages doesn't work
2618

27-
# Add the repository to Apt sources:
28-
echo \
29-
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
30-
$(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
31-
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
32-
sudo apt update
33-
34-
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
35-
```
19+
## Installation
3620

37-
### CloudTAK
21+
This guide assume that you're installing CloudTAK on the same server as OpenTAKServer. The CloudTAK installer script only works on Ubuntu.
3822

3923
1. Clone the CloudTAK repo
4024

@@ -43,8 +27,9 @@ git clone https://github.com/dfpc-coe/CloudTAK.git
4327
cd CloudTAK
4428
```
4529

46-
2. Change `API_URL` in docker_compose.yml. It should be prefixed with `https://` and should be changed to the IP or FQDN that you'll use to access it. You should also remove `:5000` at the end. It cannot be localhost unless you're installing CloudTAK to the same computer you'll be accessing it from.
47-
3. Configure the nginx proxy. Copy the config below and paste it to a new file at `/etc/nginx/sites-available/cloudtak`. You also need to change the `server_name` line to your FQDN.
30+
2. Run the CloudTAK installer script `./cloudtak.sh install`. This script will install CloudTAK as well as docker and all prerequisites.
31+
3. Run `./cloudtak.sh start` to start the docker containers.
32+
4. Configure the nginx proxy. Copy the config below and paste it to a new file at `/etc/nginx/sites-available/cloudtak`. You also need to change the `server_name` line to your FQDN.
4833

4934
```nginx
5035
server {
@@ -64,9 +49,6 @@ server {
6449
proxy_buffering off;
6550
proxy_set_header Upgrade $http_upgrade;
6651
proxy_set_header Connection "upgrade";
67-
#proxy_hide_header Authorization;
68-
#proxy_set_header Referer '';
69-
#proxy_set_header Origin '';
7052
}
7153
7254
listen 80;
@@ -79,7 +61,7 @@ server {
7961
# Add index.php to the list if you are using PHP
8062
index index.html index.htm index.nginx-debian.html;
8163
82-
server_name tiles.cloudtak.anhangueramilsim.com.br; # <------- Change this to your FQDN
64+
server_name tiles.cloudtak.example.com; # <------- Change this to your FQDN
8365
8466
location / {
8567
@@ -91,13 +73,6 @@ server {
9173
proxy_set_header Upgrade $http_upgrade;
9274
proxy_set_header Connection "upgrade";
9375
proxy_set_header Referer $scheme://$host/;
94-
#proxy_hide_header Authorization;
95-
#proxy_set_header Referer '';
96-
#proxy_set_header Origin '';
97-
#proxy_set_header Origin '$http_origin' ;
98-
#proxy_set_header Origin 'http://localhost:5002';
99-
#add_header 'Access-Control-Allow-Origin' '*';
100-
#add_header 'Access-Control-Allow-Headers' 'Content-Type';
10176
10277
}
10378
@@ -107,13 +82,13 @@ listen 80;
10782
}
10883
```
10984

110-
4. Create a symbolic link to enable the new nginx config file.
85+
5Create a symbolic link to enable the new nginx config file.
11186

11287
```bash
11388
sudo ln -s /etc/nginx/sites-available/cloudtak /etc/nginx/sites-enabled/cloudtak
11489
```
11590

116-
5. Edit `/etc/nginx/sites-available/ots_certificate_enrollment` and add the following inside the `server {}` stanza.
91+
6. Edit `/etc/nginx/sites-available/ots_certificate_enrollment` and add the following inside the `server {}` stanza if it doesn't already exist.
11792

11893
```nginx
11994
location /oauth {
@@ -127,7 +102,7 @@ sudo ln -s /etc/nginx/sites-available/cloudtak /etc/nginx/sites-enabled/cloudtak
127102
}
128103
```
129104

130-
6. Edit `/etc/nginx/sites-available/ots_https` and add this inside the listen 8443 `server {}`.
105+
7. Edit `/etc/nginx/sites-available/ots_https` and add this inside the listen 8443 `server {}` if it doesn't already exist.
131106

132107
```nginx
133108
location /files {
@@ -141,7 +116,7 @@ sudo ln -s /etc/nginx/sites-available/cloudtak /etc/nginx/sites-enabled/cloudtak
141116
}
142117
```
143118

144-
7. Install certbot and nginx `sudo apt install nginx certbot python3-certbot-nginx -y`
145-
8. Get a cert from Let's Encrypt `sudo certbot --nginx`
146-
9. Restart nginx `sudo systemctl restart nginx`
147-
10. Open a browser and enter your CloudTAK server's URL, i.e. https://cloudtak.example.com
119+
8. Install certbot and nginx `sudo apt install nginx certbot python3-certbot-nginx -y`
120+
9. Get a cert from Let's Encrypt `sudo certbot --nginx`
121+
10. Restart nginx `sudo systemctl restart nginx`
122+
11. Open a browser and enter your CloudTAK server's URL, i.e. https://cloudtak.example.com

0 commit comments

Comments
 (0)