Satellite on Windows
Prerequisites
Before installing the Levo Satellite on Windows, ensure you have:
- Access to a Windows machine
- Minimum system requirements:
- CPU: At least 4 cores
- RAM: At least 8 GB
- Docker Desktop for Windows installed with WSL enabled
1. Download the Docker Compose File
Levo provides pre-built Docker images for the Satellite that can be installed via Docker Compose.
2. Install Satellite
Set the LEVOAI_AUTH_KEY environment variable. Refer to Generating CLI Authorization Keys for instructions on obtaining your key:
$env:LEVOAI_AUTH_KEY = "<your auth key here>"
Navigate to the directory where the Docker Compose file was downloaded and execute:
docker compose pull; docker compose up -d
You may need to set a different Levo base URL if your Satellite will be used in the India region.
For example, if the satellite will be used with app.india-1.levo.ai, the installation command will be:
$env:LEVOAI_AUTH_KEY = "<your auth key here>"
$env:LEVOAI_BASE_URL = "https://api.india-1.levo.ai"
docker compose pull; docker compose up -d
NOTE: If
docker compose ...returns an error "docker: 'compose' is not a docker command", try usingdocker-composeinstead.
3. Verify connectivity with Levo.ai
a. Check Satellite Health
The Satellite consists of six components: levoai-collector, levoai-rabbitmq, levoai-satellite, levoai-tagger, levoai-ion, and levoai-haproxy.
Wait a couple of minutes after the installation, and check the health of the components by executing the following:
docker ps -f name=levoai
If the Satellite is healthy, you should see output similar to the following:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2b32cd6b9ced levoai/collector:stable "/usr/local/bin/levo…" 10 seconds ago Up 8 seconds 0.0.0.0:4317->4317/tcp, 9411/tcp levoai-collector
06f3c597cad0 levoai/satellite:stable "gunicorn --capture-…" 10 seconds ago Up 9 seconds 0.0.0.0:9999->9999/tcp levoai-satellite
89026034c567 levoai/satellite:stable "python -OO /opt/lev…" 10 seconds ago Up Less than a second levoai-tagger
f74524d02fbd bitnami/rabbitmq:3.10 "/opt/bitnami/script…" 10 seconds ago Up 9 seconds 5551-5552/tcp, 0.0.0.0:4369->4369/tcp, 5671/tcp, 0.0.0.0:5672->5672/tcp, 0.0.0.0:15672->15672/tcp, 0.0.0.0:25672->25672/tcp, 15671/tcp levoai-rabbitmq
973414e03gba levoai/ion:stable "ion start -verbose" 10 seconds ago Up Less than a second 0.0.0.0:9990->8000/tcp levoai-ion
cb58d3d8d952 levoai/proxy:latest "docker-entrypoint.s…" 10 seconds ago Up 7 seconds 0.0.0.0:8081->8081/tcp, 0.0.0.0:9080->8080/tcp levoai-haproxy
b. Check Connectivity
Verify connectivity to Levo.ai by running:
docker logs levoai-tagger | grep "Ready to process; waiting for messages."
If connectivity is healthy, you will see output similar to the following:
{"level": "info", "time": "2022-06-07 08:07:22,439", "line": "rabbitmq_client.py:155", "version": "fc628b50354bf94e544eef46751d44945a2c55bc", "module": "/opt/levoai/e7s/src/python/levoai_e7s/satellite/rabbitmq_client.py", "message": "Ready to process; waiting for messages."}
4. Troubleshooting
Enable Debug Logging
Set the following environment variable to enable debug logging for the Satellite components, then reinstall the Satellite or restart the containers:
$env:LEVOAI_LOG_LEVEL = "DEBUG"
This will enable detailed debugging logs for all satellite components, including Tagger, Collector, Ion, and Satellite.
Some various log levels that can be set are INFO, DEBUG, WARNING, ERROR. The default log level is INFO.
Need Help?
For further assistance, please reach out to support@levo.ai.