This guide explains how to deploy and run Kexa using Docker containers.
- Docker installed on your system
- Docker Compose (optional, for multi-container setups)
- Access to cloud provider accounts (AWS, Azure, GCP)
# Pull the latest image
docker pull innovtech/kexa:latest
# By default, the container will run in the background and check the website "kexa.io"
docker run -d \
--name kexa \
-v $(pwd)/output:/app/output \
-v $(pwd)/rules:/app/rules \
-v $(pwd)/config:/app/config \
innovtech/kexa:latest
# The result will be inside the "output" folder on your computerCreate a docker-compose.yml file:
version: "3.8"
services:
kexa:
image: innovtech/kexa:latest
container_name: kexa
volumes:
- ./output:/app/output
- ./rules:/app/rules
- ./config:/app/config
- ./.env:/app/.env
restart: unless-stoppedRun with:
docker-compose up -dgit clone https://github.com/kexa-io/Kexa.git
cd Kexadocker build -t kexa .docker run -d \
--name kexa \
-v $(pwd)/output:/app/output \
-v $(pwd)/rules:/app/rules \
-v $(pwd)/config:/app/config \
kexaCreate a .env file with your configuration:
# Rules directory
RULESDIRECTORY=/app/rules
# Output directory
OUTPUT=/app/output
# Provider authentication variables
# (Add your provider-specific variables)/app/rules: Rules directory/app/output: Output directory/app/config: Config directory/.env: Environment variables
# View container logs
docker logs kexa
# Follow logs in real-time
docker logs -f kexa# Check container status
docker ps -a | grep kexa
# View container details
docker inspect kexa# Pull latest image
docker pull innovtech/kexa:latest
# Stop and remove old container
docker stop kexa
docker rm kexa
# Run new container
docker run -d \
--name kexa \
-v $(pwd)/output:/app/output \
-v $(pwd)/rules:/app/rules \
-v $(pwd)/config:/app/config \
innovtech/kexa:latest# Backup rules
docker cp kexa:/app/rules ./rules-backup
# Backup output
docker cp kexa:/app/output ./output-backup-
Container Security
- Run container as non-root user
- Use read-only volumes where possible
- Implement resource limits
-
Network Security
- Use Docker network isolation
- Implement proper firewall rules
- Monitor container network access
-
Secret Management
- Use Docker secrets for sensitive data
- Implement proper credential rotation
- Secure environment variables
-
Container Won't Start
- Check container logs
- Verify volume permissions
- Ensure environment variables are set
-
Permission Issues
- Check volume ownership
- Verify file permissions
- Ensure proper user mapping
-
Network Issues
- Check network connectivity
- Verify DNS settings
- Ensure proper port mapping