-
Notifications
You must be signed in to change notification settings - Fork 37
Server Fast Start
You can run minimal server as easy as
docker run -p 8088:8088 -p 8080:8080 -p 8999:8999 kdudkov/goatak_server:latest
now you cat connect to your server using your server ip address, just set Streaming protocol tcp
and port 8999
in Advanced Options
- download
server_*.zip
for your architecture from releases page - unzip it to destination folder
- run
goatac_server
- that's all!
now you cat connect to your server using your server ip address, just set Streaming protocol tcp
and port 8999
in Advanced Options
for secure installation you need:
- server cert for user certificate check and enrollment
- domain name and trusted https certificate (f.e. from letsencrypt) for it to enroll and check user certificates and admin access
To make certificates, you will need openssl library. On OSX you can install it using brew install openssl
- first, download
server_*.zip
for your architecture from releases page to some folder and unzip it -
cd certs; ./make_ca.sh
. This step createscacert.pem
,cacert.key
andtruststore.p12
files -
make_server_cert.sh <your_domain_name>
. This createsserver.key
andserver.pem
for your server
now edit your goatak_server.yml
configuration file:
---
admin_addr: "127.0.0.1:8080"
api_addr: ":8443"
cert_addr: "127.0.0.1:8447"
tcp_addr: "127.0.0.1:8999"
udp_addr: "127.0.0.1:8999"
ssl_addr: ":8089"
log: true
me:
lat: 0
lon: 0
zoom: 6
ssl:
ca: cert/cacert.pem
cert: cert/server.pem
key: cert/server.key
use_ssl: true
add hginx
, traefik
or other proxy to simplify intergation with letsencrypt.
exampe nginx config (/etc/nginx/sites-availabled/default
)
all certbot data is in snippets/certbot.conf
file
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name .takserver.ru;
root /var/www/html;
location / {
try_files $uri @redirect;
}
location @redirect {
return 301 https://$host$request_uri;
}
}
server {
listen 443 ssl default_server;
listen [::]:443 ssl ipv6only=on default_server;
include snippets/certbot.conf;
root /var/www/html;
server_name <your_domain_name>;
location / {
try_files $uri $uri/ =404;
}
}
server {
listen 8446 ssl http2;
server_name <your_domain_name>;
include snippets/certbot.conf;
location / {
access_log /var/log/nginx/atak-cert.log;
proxy_pass http://127.0.0.1:8447;
}
}
open ports on firewall:
-
8443
web api -
8446
enrollment api -
8089
tcp stream