Ryker / Docs / Install Ryker

Install Ryker

The installer starts Ryker and its worker on your host. You then connect Slack and GitHub in the browser and ask a question about one of your repositories.

On this page

What you need

  • A trusted host with Git, Docker, Docker Compose v2, OpenSSL, curl, and tar.
  • A model account. The installer signs in to Codex inside the private co:op worker, separately from any account on your host.
  • Permission to create and install apps in your Slack workspace and GitHub account or organization.

The first installation builds its images locally. The included voice and search models add about 4 GB of images and use about 3.5 GB of memory, on top of Ryker and its worker. Their first build downloads about 2.8 GB. See the services on your host.

Ryker’s source is available under Business Source License 1.1. Non-production use is allowed; production use requires a commercial license.

Start the services

git clone https://github.com/AndrewDryga/ryker ryker
cd ryker
./install.sh

The installer creates .ryker/, generates database credentials and encryption keys, builds the images, and starts the services. It asks you to sign in to the model account when needed. Running it again keeps your existing keys and data.

When the services are ready, it prints a sign-in link that opens setup. The link works once and expires after an hour. For a new link, run:

scripts/compose.sh sign-in

On a remote host, open the console through an SSH tunnel or HTTPS address. Its default address is http://127.0.0.1:4321.

Connect your tools

  1. Connect Slack. Create an app from Ryker’s Slack manifest. Generate an app-level token with connections:write, install the app, and paste its app and bot tokens into setup. Choose the people who can manage Ryker.
  2. Connect GitHub. Create and install a GitHub App with the required permissions and events. Enter its App ID and private key in Ryker, then copy the webhook settings Ryker supplies into GitHub.
  3. Add code. Import a repository under Work › Repositories. Create an environment under Work › Environments and add it there. Choose it as the default repository. The default requires read/write access; asking the question below does not start a code task.
  4. Choose a Slack channel. Send /invite @Ryker, then choose its environment under Work › Channels or press Customize on the welcome message.

Integration credentials are encrypted in PostgreSQL. The generated encryption keys live in the owner-only .ryker/compose.env; keep that file with your backups.

You can add Emisar later for access to running systems.

Ask about your code

In the channel you configured, replace the repository name and send:

@Ryker what does your-team/your-repository do, and how do its tests run?

Ryker should answer using the repository’s files. Open the reply’s request in Activity to see what it read and did. Setup marks this step complete after the Slack reply arrives.

You can also ask in the console’s Chat. That checks repository and model access; the Slack reply checks delivery to your workspace too.

If something does not work

The console asks for a sign-in link
Run scripts/compose.sh sign-in on the host. Slack operators can also use /ryker sign-in.
Ryker cannot see the repository
Check the GitHub App installation, the imported repository, and the channel’s environment. All three must include it.
No Slack reply arrives
Check Integrations › Slack, confirm Ryker joined the channel, and mention it directly. Find the request in Activity; its timeline and the Failures page show where it stopped.
Work waits for a worker or model
Check Settings › Advanced and Work › Working copies. If the model needs a new sign-in, run scripts/compose.sh model-login. See health and recovery for service checks.

After the first answer

New channels reply only to mentions unless you changed the default. Background learning is on. Proactive participation, draft pull requests, and weekly reports are separate settings.

Next, choose the repositories and tools Ryker should use together. Then try a code change with a repository marked read/write.