Choose a way

CareerBot runs anywhere Docker runs, or on Cloudflare Workers; pick where it runs and where its database lives.

CareerBot is open source. You can run your own copy: for yourself, or for a few people you add. A copy has two parts:

  • The web app: the screens you use. In Docker it's a Node server; on Cloudflare it's a Worker.
  • Convex: the database, which also runs the background work (AI steps, syncing, reminders) and sign-in. It runs in Convex's cloud or on your own machine.

A copy you run yourself is a self-hosted copy: / is the app, people sign in with a username and password, and the first account (made with a setup code) owns the copy and adds everyone else. Google and GitHub sign-in are optional.

Where the web app runs

Docker on a server

A server with Coolify or Dokploy, which run the repository's compose.yaml, give it a domain and handle HTTPS. Or plain Docker Compose behind your own proxy.

The usual way for a copy others can reach

A VPS with Coolify ready to install

Hetzner and other providers offer a server with Coolify ready to install. Then follow the Coolify page. See A VPS with Coolify.

The shortest way to a server

Your own computer

Docker Desktop or OrbStack on a Mac, or Docker on Linux or Windows. CareerBot opens at http://localhost:3000. See Your own computer.

Just for you, nothing to pay for hosting

There's also a fourth way: Cloudflare Workers, the way careerbot.dev itself runs, with Convex's cloud as the database. It takes more steps and parts of it are untested for anyone but the maintainer.

Where Convex runs

Convex’s cloud

Convex's free plan, with nothing extra to run. Create a project at dashboard.convex.dev and copy its URL and a production deploy key into .env.

The easy choice for a copy just for you

Self-hosted Convex

Runs in the same compose file, on the same machine (COMPOSE_PROFILES=self-hosted). Your data stays in a Docker volume called convex-data.

What .env.example is set up for

More on both, the dashboard and upgrades: Convex.

What you need

WhatWhyRoughly what it costs
Docker with Compose v2.20 or laterRuns the app (and self-hosted Convex)Free
GitGets the codeFree
A server, or your own computerSomewhere to run itYour computer: nothing. A small VPS: a few euros or dollars a month
A domain (on a server)Three or four hostnames, one per partA domain you already have works
ConvexThe databaseThe free cloud plan, or nothing extra when self-hosted
An OpenRouter keyPays for every AI taskPay as you go at OpenRouter; you set CareerBot's monthly AI budget
An Apollo key (optional)Finds companies, their details and job postingsApollo's own plans and credits
A Brave Search key (optional)Finds a company's job board when its website doesn't link oneBrave's own plans
A Google OAuth client (optional)Google sign-in and Google DriveFree
A GitHub OAuth app (optional)GitHub sign-inFree

CareerBot's images come ready-made from each release, for amd64 and arm64 machines: the server downloads them and builds nothing. On a VPS, pick one with at least 4 GB of memory.

Keys and where each one goes: Keys and accounts.

The code

Terminal
git clone https://github.com/careerbotdev/careerbot.git

Next

Edit this page on GitHub