{"id":25013847,"url":"https://github.com/axonops/axonops-server-compose","last_synced_at":"2026-04-09T12:48:20.775Z","repository":{"id":274083363,"uuid":"921860109","full_name":"axonops/axonops-server-compose","owner":"axonops","description":"Docker® or Podman® Compose deployment of AxonOps™ server","archived":false,"fork":false,"pushed_at":"2025-02-04T17:26:05.000Z","size":96,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-04T18:30:35.355Z","etag":null,"topics":["axonops","cassandra","database","dba","devops","docker","docker-compose","kafka","podman","podman-compose","streaming"],"latest_commit_sha":null,"homepage":"https://axonops.com","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/axonops.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-24T18:51:14.000Z","updated_at":"2025-02-04T17:26:09.000Z","dependencies_parsed_at":"2025-01-24T19:44:00.363Z","dependency_job_id":null,"html_url":"https://github.com/axonops/axonops-server-compose","commit_stats":null,"previous_names":["axonops/axonops-server-compose"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/axonops%2Faxonops-server-compose","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/axonops%2Faxonops-server-compose/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/axonops%2Faxonops-server-compose/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/axonops%2Faxonops-server-compose/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/axonops","download_url":"https://codeload.github.com/axonops/axonops-server-compose/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246277366,"owners_count":20751549,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["axonops","cassandra","database","dba","devops","docker","docker-compose","kafka","podman","podman-compose","streaming"],"created_at":"2025-02-05T07:16:17.483Z","updated_at":"2026-04-09T12:48:20.751Z","avatar_url":"https://github.com/axonops.png","language":"Shell","readme":"# AxonOps Server Docker Compose\n\nAxonOps is a management platform for Apache Cassandra and Apache Kafka, offering monitoring, maintenance, and backup capabilities. This repository provides a simple way to run AxonOps locally using Docker Compose.\n\n**Links:**\n- [Live Demo](https://axonops.com/demo-sandbox/)\n- [Documentation](https://axonops.com/docs)\n- [Product Website](https://axonops.com)\n- [Kubernetes Installation](https://axonops.com/docs/installation/kubernetes/)\n\n---\n\n## Prerequisites\n\nBefore you begin, make sure you have:\n\n1. **Docker Desktop** (recommended for beginners) or **Docker Engine** installed\n   - [Download Docker Desktop](https://www.docker.com/products/docker-desktop/) (Windows/Mac/Linux)\n   - Docker Desktop includes Docker Compose\n\n2. **Minimum System Requirements:**\n   - 4 GB RAM available for Docker (8 GB recommended)\n   - 10 GB free disk space\n   - macOS, Windows 10/11, or Linux\n\n3. **Verify Docker is installed** by opening a terminal and running:\n   ```bash\n   docker --version\n   docker compose version\n   ```\n   You should see version numbers for both commands.\n\n---\n\n## Quick Start\n\n### Step 1: Download the project\n\n```bash\ngit clone https://github.com/axonops/axonops-server-compose\ncd axonops-server-compose\n```\n\nOr [download the ZIP file](https://github.com/axonops/axonops-server-compose/archive/refs/heads/main.zip) and extract it.\n\n### Step 2: Start AxonOps\n\n```bash\ndocker compose up -d\n```\n\nThis command:\n- Downloads the required container images (first time only)\n- Starts all services in the background (`-d` means \"detached\")\n- May take 2-5 minutes on first run\n\n### Step 3: Wait for services to be ready\n\nCheck the status of all services:\n```bash\ndocker compose ps\n```\n\nWait until all services show `healthy` in the STATUS column. You can also watch the logs:\n```bash\ndocker compose logs -f\n```\n\nPress `Ctrl+C` to stop watching logs.\n\n### Step 4: Access the dashboard\n\nOpen your web browser and go to: **http://localhost:3000**\n\nYou're now ready to configure your AxonOps agents to connect to the server on port `1888`.\n\n---\n\n## Managing AxonOps\n\n### View running services\n```bash\ndocker compose ps\n```\n\n### View logs\n```bash\n# All services\ndocker compose logs -f\n\n# Specific service\ndocker compose logs -f axon-server\n```\n\n### Stop AxonOps (keeps your data)\n```bash\ndocker compose down\n```\n\n### Start AxonOps again\n```bash\ndocker compose up -d\n```\n\n### Stop and delete all data (fresh start)\n```bash\ndocker compose down -v\n```\n\n\u003e **Warning:** The `-v` flag removes all stored data. Only use this if you want to start fresh.\n\n---\n\n## Configuration\n\n### Memory Settings\n\nBy default, the services use conservative memory settings suitable for development:\n- OpenSearch: 2 GB heap\n- Cassandra: 1 GB heap\n\nFor production or larger workloads, increase the memory by setting environment variables before starting:\n\n```bash\n# Set custom memory (before running docker compose up)\nexport OPENSEARCH_HEAP_SIZE=4g\nexport CASSANDRA_HEAP_SIZE=4096M\n\n# Then start services\ndocker compose up -d\n```\n\nOr set them inline:\n```bash\nOPENSEARCH_HEAP_SIZE=4g CASSANDRA_HEAP_SIZE=4096M docker compose up -d\n```\n\n### Authentication\n\nThe services use default credentials. For production deployments, change these by setting environment variables:\n\n```bash\nexport AXONOPS_SEARCH_USER=admin\nexport AXONOPS_SEARCH_PASSWORD=your-secure-password\nexport AXONOPS_DB_USERNAME=your-secure-password\n```\n\n### License Key (Optional)\n\nAxonOps is free to use. Enterprise customers with a license key can add it to `axon-server.yml`:\n\n```yaml\nlicense_key: \"your-license-key\"\norg: \"your-organization-name\"\n```\n\n---\n\n## Architecture\n\nThis setup runs four services:\n\n| Service | Description | Port |\n|---------|-------------|------|\n| **axon-server** | Backend API server - handles agent connections and data processing | 1888 (agents), 8080 (API) |\n| **axon-dash** | Web dashboard for monitoring and configuration | 3000 |\n| **axondb-search** | OpenSearch database for indexing and search | 9200 (internal) |\n| **timseriesdb** | Cassandra database for time-series data storage | 9042 |\n\n### Data Storage\n\nYour data is stored in Docker volumes, which persist across restarts:\n\n| Volume | Purpose |\n|--------|---------|\n| `searchdb_data` | OpenSearch indices and data |\n| `timeseriesdb_data` | Cassandra time-series data |\n| `axonops_logs` | Application logs |\n\nTo see your volumes:\n```bash\ndocker volume ls\n```\n\n---\n\n## Troubleshooting\n\n### Services won't start or keep restarting\n\n1. **Check available memory:**\n   ```bash\n   docker stats --no-stream\n   ```\n   If memory is maxed out, increase Docker's memory limit in Docker Desktop settings, or reduce heap sizes.\n\n2. **Check logs for errors:**\n   ```bash\n   docker compose logs axondb-search\n   docker compose logs timseriesdb\n   ```\n\n3. **Restart everything fresh:**\n   ```bash\n   docker compose down -v\n   docker compose up -d\n   ```\n\n### \"Cannot connect to the Docker daemon\"\n\n- **Mac/Windows:** Make sure Docker Desktop is running\n- **Linux:** Start the Docker service: `sudo systemctl start docker`\n\n### \"Port already in use\"\n\nAnother application is using port 3000, 1888, or 9042. Either:\n- Stop the other application\n- Or edit `docker-compose.yml` to use different ports (e.g., change `\"3000:3000\"` to `\"3001:3000\"`)\n\n### Services are \"unhealthy\"\n\nWait a few minutes - the databases need time to initialize. If they stay unhealthy:\n```bash\n# Check what's wrong\ndocker compose logs axondb-search\ndocker compose logs timseriesdb\n\n# Try restarting\ndocker compose restart\n```\n\n### Dashboard shows \"Cannot connect to server\"\n\nThe axon-server may still be starting. Wait for it to become healthy:\n```bash\ndocker compose ps\n```\n\n---\n\n## Using Podman (Alternative to Docker)\n\nIf you prefer Podman:\n```bash\npodman compose up -d\npodman compose ps\npodman compose down\n```\n\n---\n\n## Health Check Script\n\nThe `check_health.sh` script verifies all services are running correctly:\n\n```bash\n./check_health.sh\n```\n\nIf everything is healthy, you'll see no output. If there are problems, you'll see error messages like:\n```\nERROR: Service timseriesdb is not running\nERROR: Service axondb-search is not healthy. Current status: starting\n```\n\nFor Podman users:\n```bash\n./check_health.sh podman\n```\n\n---\n\n## Useful Commands Reference\n\n| Task | Command |\n|------|---------|\n| Start services | `docker compose up -d` |\n| Stop services | `docker compose down` |\n| View status | `docker compose ps` |\n| View logs | `docker compose logs -f` |\n| Restart a service | `docker compose restart axon-server` |\n| Delete everything | `docker compose down -v` |\n| Update images | `docker compose pull \u0026\u0026 docker compose up -d` |\n\n---\n\n## Getting Help\n\n- **Documentation:** https://axonops.com/docs\n- **Issues:** https://github.com/axonops/axonops-server-compose/issues\n- **Support:** https://axonops.com/contact\n\n---\n\n*This project may contain trademarks or logos for projects, products, or services. Any use of third-party trademarks or logos are subject to those third-party's policies. AxonOps is a registered trademark of AxonOps Limited. Apache, Apache Cassandra, Cassandra, Apache Kafka and Kafka are either registered trademarks or trademarks of the Apache Software Foundation. Docker is a trademark of Docker, Inc. OpenSearch is a trademark of Amazon Web Services.*\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faxonops%2Faxonops-server-compose","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faxonops%2Faxonops-server-compose","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faxonops%2Faxonops-server-compose/lists"}