Cisco Spaces Installation Guide

Important Notice: Be sure to review and meet all the requirements listed below early in the process to prevent any unexpected issues. We've seen some customers face challenges, particularly with the "no-NAT" requirement. If you need assistance, don't hesitate to reach out to your Customer Support Manager for help.

Use cases:

  • Positioning with Cisco Spaces

This LIPI server is just a docker-based nginx server that adds some headers. It is designed to be very simple and require very few or no upgrades over time. It is started by an entrypoint that first downloads config files and ssl certificate from our servers.

Prerequisites:

  1. Activated MazeMap via Cisco Spaces

  2. Docker license if required.

Map editor configuration requirements

Your customer success contact will help you fulfill these requirements.

Server requirements

No specific requirements except that it should have docker installed. To install docker on various platforms see Get Docker.

The CPU and RAM requirements will vary on traffic, but in most cases will not have any specific requirements, as this is a simple nginx proxy. E.g. running a minimum of 1x CPU and 2 GB Ram should cover most use cases.

Local network and WiFi setup requirements

The local network topology needs to be such that the source IP address of the packets received by the Proxy-LIPI server corresponds with the local IP address of that same client in Cisco Spaces.

That means there should be no NAT or proxy between the clients and the Proxy-LIPI server.

 

Ensure this requirement is reviewed by your IT department, specifically someone with expertise in network configuration, early in the process to avoid potential issues.

Installation, running and basic usage

You need the API key associated with the LIPI config mentioned above. It's good practice to not expose secrets in the command line, so create a file to keep it in that is not readable to other users:

echo "LIPI_API_KEY=" >proxy-lipi-docker-env-file chmod 600 proxy-lipi-docker-env-file editor proxy-lipi-docker-env-file

In the editor, paste the API key after the equals sign.

Then run:

sudo docker run --rm --name proxy-lipi \ --env-file proxy-lipi-docker-env-file \ -p 443:4343 \ gcr.io/mazemap-public-docker/proxy-lipi:latest

If the operating system on which proxy-lipi is being installed has https proxy, then run with additional proxy arguments as follows by replacing <https_proxy_domain_here> with https proxy domain

sudo docker run --rm --name proxy-lipi \ --env-file proxy-lipi-docker-env-file \ -p 443:4343 \ -e use_proxy -e https_proxy=<https_proxy_domain_here> \ gcr.io/mazemap-public-docker/proxy-lipi:latest

You should see two messages about connecting to admin.mazemap.com. After this, the service should be running and can be accessed from the local network. This can be tested from the server with:

You can also test it from anywhere on the local network with:

Running in production

Run the container in the background by adding -d or --detached (detached mode):

To access logs, run:

Upgrading, Restarting, and Maintenance

There can be many reasons why you want to restart the container. When it starts, it downloads a certificate and a configuration associated with your LIPI API key, and if any of those have changed, you need to restart in order to see the effects of those changes. Changes to these things require a restart to take effect:

  • LIPI API key

  • mazepos subdomain

  • resolver config

  • cloud positioning service hostname or port

  • MazeMap App Id or Key

  • Turning on or off SSL (https) for testing purposes.

  • Certificate renewal.

Also if a new version of proxy-lipi has been released, a restart is required to upgrade.

To restart the container, first remove it:

If you want to upgrade, pull the newest version of the image:

Then start it again:

If you want to minimize downtime, put these commands after each other in a script file that you can then run.

LIPI-Cisco Spaces diagram

 

image-20240919-122142.png

 

FAQ