The modern looking glass for modern companies
- docker
- docker-compose
- a reverse proxy (nginx, caddy)
- Copy the
docker-compose.example.yml
and place it in a new directory of your choice on the host machine where you are hosting Smokey. - Copy the
config.example.json
and rename it toconfig.json
.
Edit config.json
to your liking.
api
is the API endpoint of your Caramel instance.filesUrl
is the URL to the test files, which you can create on the server hosting the files (the one that would host Caramel).If you wish to serve test files, have a web server serve those files on thefallocate -l 100M 100M.file fallocate -l 1G 1G.file fallocate -l 5G 5G.file fallocate -l 10G 10G.file
/files/
path and set theFiles URL
to the domain (e.g., https://lg-nyc-api.example.com ). Otherwise, leave it blank and it will be ignored.bgp
:true/false
if you want to have BGP route trace in your looking glass (using bird2 in caramel).pingtrace
:true/false
if you want to have ping/traceroute/mtr in your looking glass. You would only disable this if you want your looking glass to only show BGP route trace (same with caramel).- If you leave
ipv4
,ipv6
,location
, anddatacenter
as empty strings, they will be displayed as "Not Set" in the frontend. - You can add more locations/groups by adding more elements to the array.
Pull the docker container:
docker compose pull
Start the docker container:
docker compose up -d
The service will now lisen on port 3000 on the host machine.
Here are some examples of reverse proxy configurations. Although, you can use any reverse proxy you want.
server {
listen 80;
listen [::]:80;
server_name lg.example.com;
return 301 https://$host$request_uri;
}
server {
listen [::]:443 ssl;
listen 443 ssl;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log warn;
ssl_certificate /etc/letsencrypt/live/lg.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/lg.example.com/privkey.pem;
server_name lg.example.com;
location / {
include proxy_params;
proxy_pass http://127.0.0.1:3000;
}
}
lg.example.com {
reverse_proxy localhost:3000
}