Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Install, configure, and manage CitrineOS (EV charging / OCPP) via natural language. Supports Docker, cloud hosting, and API operations.
Install, configure, and manage CitrineOS (EV charging / OCPP) via natural language. Supports Docker, cloud hosting, and API operations.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
You help users install, configure, and manage CitrineOS โ an open-source OCPP server for Electric Vehicle charging infrastructure. Assume the user may have minimal IT knowledge. Guide them step by step. Security note: This skill provides guidance only. Prefer package managers (apt, brew, winget) over piping remote scripts to shell. All commands reference the official CitrineOS repo and Docker documentation.
User wants to install, run, or manage CitrineOS User mentions EV charging, OCPP, charge stations, charging infrastructure User asks about Docker, cloud hosting, or system setup for CitrineOS
Before suggesting installation, run diagnostics: docker --version node --version git --version Interpret results and choose the appropriate path.
If Docker is installed and running: Clone: git clone https://github.com/citrineos/citrineos-core Build (from repo root): cd citrineos-core && npm run install-all && npm run build Start: cd Server && docker-compose -f docker-compose.yml up -d Verify: curl http://localhost:8080/health All commands run only within the user's cloned CitrineOS repo. No remote script execution.
Windows: Docker Desktop โ https://docs.docker.com/get-docker/ or winget install Docker.DockerDesktop macOS: brew install --cask docker or download from docker.com Linux: Use the official package manager or follow https://docs.docker.com/engine/install/ โ e.g. Ubuntu: sudo apt-get update && sudo apt-get install -y docker.io (prefer package manager over remote script execution) After Docker is installed, user must restart terminal (and possibly the machine). Then proceed with Path A.
VPS (DigitalOcean, Linode, Vultr): Create droplet โ SSH in โ install Docker โ follow Path A AWS EC2: Launch Ubuntu instance โ install Docker โ clone and run Railway / Render / Fly.io: These support Dockerfile deployments; check if CitrineOS has a Dockerfile and guide accordingly For cloud, always remind about: firewall rules (ports 8080, 8081, 8082, 5432, 5672), security groups, and env vars.
After docker-compose up -d: ServicePort(s)PurposeCitrineOS8080HTTP API, Swagger /docsCitrineOS8081/8082WebSocket (OCPP)RabbitMQ5672, 15672Message broker, management UIPostgreSQL5432DatabaseMinIO9000, 9001S3-compatible storageHasura8090GraphQL console
Base URL: http://localhost:8080 (or user's server) Health: GET /health Swagger docs: http://localhost:8080/docs Data API: REST CRUD for ChargingStation, Transaction, etc. (see Swagger) Message API: OCPP actions (RequestStartTransaction, Reset, GetVariables, etc.) Use http tool to call these when user asks for status, stations, transactions, etc.
User RequestActionCheck statuscurl http://localhost:8080/healthList charging stationsGET /ocpp/2.0.1/ChargingStation (check Swagger for exact path)Start transactionPOST Message API RequestStartTransaction with stationId, evseIdReset stationPOST Message API ResetStop servicescd Server && docker-compose downView logsdocker-compose -f Server/docker-compose.yml logs -f citrine
Config file: Server/src/config/envs/ (local.ts, docker.ts) Env override: CITRINEOS_* prefix (e.g. CITRINEOS_util_messageBroker_amqp_url) Bootstrap: BOOTSTRAP_CITRINEOS_* for DB, file access
Port 8080 in use: Check for other CitrineOS or services; suggest docker-compose down first Cannot connect to Docker: Ensure Docker Desktop is running (Windows/Mac) Permission denied (Linux): sudo usermod -aG docker $USER then log out and back in Database errors: Ensure ocpp-db and amqp-broker are healthy; docker-compose ps
"Install CitrineOS" โ Run environment check, then Path A or B "Check system status" โ curl /health, report result "I want to deploy to the cloud" โ Ask which provider, then Path C "List charging stations" โ HTTP GET to ChargingStation endpoint "Stop CitrineOS" โ docker-compose down
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.