{"id":19967595,"url":"https://github.com/ceramicstudio/wheel","last_synced_at":"2026-03-08T13:36:42.323Z","repository":{"id":65678717,"uuid":"595333197","full_name":"ceramicstudio/wheel","owner":"ceramicstudio","description":"ComposeDB and Ceramic Setup Tool","archived":false,"fork":false,"pushed_at":"2024-09-05T11:50:58.000Z","size":1125,"stargazers_count":11,"open_issues_count":4,"forks_count":9,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-07T23:51:09.892Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ceramicstudio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","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":"2023-01-30T21:39:40.000Z","updated_at":"2024-11-29T12:11:22.000Z","dependencies_parsed_at":"2023-02-19T20:30:59.197Z","dependency_job_id":"48d5b72b-48cd-4719-bcf4-d766f7913c3a","html_url":"https://github.com/ceramicstudio/wheel","commit_stats":null,"previous_names":[],"tags_count":113,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ceramicstudio%2Fwheel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ceramicstudio%2Fwheel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ceramicstudio%2Fwheel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ceramicstudio%2Fwheel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ceramicstudio","download_url":"https://codeload.github.com/ceramicstudio/wheel/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252272945,"owners_count":21721831,"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":[],"created_at":"2024-11-13T02:42:48.793Z","updated_at":"2026-03-08T13:36:42.281Z","avatar_url":"https://github.com/ceramicstudio.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Wheel\n\n## Quick Start\n\n![](./gifs/install.gif)\n\nRun the following to install wheel\n\n    curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/ceramicstudio/wheel/main/wheel.sh | bash\n    \nPlease follow the instructions that follow.\n\n## What is Wheel\n\nSetup Ceramic and ComposeDB in a quick and easy fashion\n\nWheel can handle \"default\" behavior for Ceramic and ComposeDB based on your network, or you can customize your configuration by stepping through some or all the available configuration options.\n\n![](./gifs/running.gif)\n\nWheel can also install Ceramic and run it, as well as install ComposeDB. Both will use the configuration you've defined.\n\n![](./gifs/composedb.gif)\n\nWheel even provides a quiet mode, for those that know exactly what they want, and don't need to interact with Wheel option\nby option.\n\n## Running Wheel in Quiet Mode\n\nIf you don't want to step through prompts at all, you can use wheel in \"quiet\" mode, which will default to clay\n\n    wheel --working-directory \u003cpath to setup your work in\u003e quiet  --network \u003cone of in-memory|local|dev|clay|mainnet\u003e generate \n\nYou can also pass an existing DID and PK via the `specify` option instead of `generate`. This requires you to have already setup a DID and [CAS Auth](#cas-auth). Please run `wheel --help` for more options.\n\n### CAS Auth\n\nAll networks other than InMemory require CAS authorization. Wheel will walk you through setting up CAS authorization, but\nfor more information read about [starting your node and copying your DID](https://composedb.js.org/docs/0.4.x/guides/composedb-server/access-mainnet#step-1-start-your-node-and-copy-your-key-did).\n\n## Setting up Postgres\n\nIf using Postgres, it will need to be setup. *Note*: For production ceramic nodes, only postgres is supported.\n\n### Option 1: Local Install\n\nVisit \u003chttps://www.postgresql.org/download/\u003e to install postgres locally.\n\nYou will then need to configure postgres for ceramic.\n\n    $ psql postgres\n\n    CREATE DATABASE ceramic;\n\n    CREATE ROLE ceramic WITH PASSWORD 'password' LOGIN;\n\n    GRANT ALL PRIVILEGES ON DATABASE \"ceramic\" to ceramic;\n\nThe connection string you provide to wheel will then be `postgres://ceramic:password@127.0.0.1:5432/ceramic`\n\n### Option 2: Using Docker\n\nFor local development and testing, you can run a postgres in docker rather than installing a postgres server locally. The wheel defaults are to use sqlite, however, this is an option if you want to verify postgres indexing. It is not recommended to run a production node this way! This requires having [Docker](https://docs.docker.com/engine/install/) and [Docker compose](https://docs.docker.com/compose/install/) installed. You can read more about the [official Postgres image](https://www.docker.com/blog/how-to-use-the-postgres-docker-official-image/).\n\nCopy the [compose.yaml](https://github.com/ceramicstudio/wheel/blob/main/compose.yaml) file to your computer. You are welcome to change the values, but by default the connection string for wheel will be `postgres://ceramic:password@127.0.0.1:5432/ceramic`. Start the container:\n\n    docker compose up -d\n\nTo stop it\n\n    docker compose down # include -v to delete the data\n\nPostgres data will be stored in the `./ceramic-data` folder using a docker volume.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fceramicstudio%2Fwheel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fceramicstudio%2Fwheel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fceramicstudio%2Fwheel/lists"}