Documentation
WakeGetting started
Updated
Before you deploy
Wake's catalog entry is Experimental, and the reason is now the plain one: the install path has been read carefully and nobody has run it yet. The two gaps this page carried when Wake was first listed are both closed. The DuckDB binary arrives with the build, and pointing an application at Wake is a connect flow rather than a manual procedure.
One step is still yours, and it is in the reporting application rather than in Wake. The client package ships a wake log channel and Laravel writes to it only once that application's log stack names it, so adding wake to LOG_STACK is the one value a person still sets. Connecting your apps says where it goes and what the common mistake is.
Install it
Install Wake from the Scalpels catalog in the usual way, described in Install a product. Being Experimental, it is available to supporters and partner teams.
The build installs the DuckDB command-line binary into the artifact before the deploy. Wake runs every lake operation by shelling out to a pinned DuckDB build at bin/duckdb, and wake:install-duckdb downloads that build, checks it against a known hash, installs the ducklake, postgres and httpfs extensions beside it, and does nothing at all on a deploy where it is already current.
The install provisions four resources in your own Laravel Cloud account, and all four are load-bearing:
- A serverless PostgreSQL 18 database. It holds the Built for Cloud tables, the ingest staging rows, the query plane, and the DuckLake catalog that names every Parquet file. Wake refuses to run its lake writer on any other engine.
- A 2 GiB Flex managed queue. The daily per-day rewrite that compacts yesterday's Parquet files runs there and nowhere else, so with no queue attached the lake fragments and reads get slower every day. The queue is scale-to-zero and the rewrite measured 35 seconds on a day of 50 million rows.
- A storage bucket. This is where the logs actually are. With no bucket attached, Wake falls back to a local path on the instance disk, which an ephemeral Cloud instance throws away.
- The scheduler. A
202from ingest means the batch is durable in PostgreSQL staging, not that it is in the lake.wake:lake-flushmoves it, every minute, from the schedule. The daily retention run is also on the schedule, and it is the only thing that enforces the retention window.
Set a permanent custom domain on the environment before you connect anything. The value you give each application as WAKE_URL is the one it will keep using, and moving it later means editing every reporting application.
Add your first application
Claim ownership of the Wake deployment in Scalpels, then connect an application to it from the Cloud or Forge tab of your dashboard. Scalpels mints an ingest credential on your Wake deployment, writes WAKE_URL and WAKE_TOKEN onto the application's environment, and opens a draft pull request against that application's repository adding the client package. Wake creates the matching application record in the same transaction as the credential, so there is nothing to set up in its admin pages beforehand.
The record Wake creates takes its name from the credential's own label, which is the application and environment Scalpels issued it for, and Wake generates its id. Wake's admin pages have no rename, so that is the name every MCP answer carries.
Wake's Apps pages are still there, and they are the path for an application Scalpels does not manage: create the record yourself, giving it an id in lower-kebab-case of up to 64 characters, and Wake shows the ingest credential once as it mints it. Copy it then. If you lose it, rotate the credential from the application's page and replace the value where it is used; there is no endpoint that repeats it.
Either way, the client still has to be installed and the log stack still has to name it, which is Connecting your apps.
Check that it worked
The application's page in Wake shows its ingest health: when it was last seen, how many rows it has accepted, how many the client dropped, and which client version sent them. A reporting application that has accepted nothing has not reached Wake, and Troubleshooting is where to start.