Quickstart#
Paste this into your coding agent:
Read https://olup.github.io/porcupine/llms.txt and follow the guide to start Porcupine on my machine. Send a test event and show me the SQL that counts it.
Local setup#
The example runs Porcupine and ClickHouse on your laptop. You’ll need Git, curl, OpenSSL, jq and Docker Compose 2.24.4 or newer. Install the standalone CLI and run this in a POSIX shell.
git clone https://github.com/olup/porcupine.git
cd porcupine
umask 077
(
set -eu
umask 077
set -C
bootstrap_token=$(openssl rand -hex 32)
clickhouse_password=$(openssl rand -hex 32)
cat > .env <<EOF
PORCUPINE_BOOTSTRAP_TOKEN=$bootstrap_token
PORCUPINE_CLICKHOUSE_PASSWORD=$clickhouse_password
PORCUPINE_OAUTH_ISSUER=http://localhost:8080
EOF
)
docker compose -f compose.yaml -f compose.oauth.yaml -f compose.release.yaml up -d
curl --fail --silent --show-error --retry 30 --retry-all-errors --retry-delay 1 http://localhost:8080/readyz
sh examples/hello.sh
The script creates a project, sends one event called hello, and polls ClickHouse until it can count it.
[{"event": "hello", "total": "1"}]
Run docker compose -f compose.yaml -f compose.oauth.yaml -f compose.release.yaml down to stop both containers. The data stays in the volumes. Hosting guide