CLI Reference — Everyday Commands

Questbee ships with a command-line tool that handles every common task — starting, stopping, updating, and monitoring the server — without needing to type Docker commands.

Mac / Linux: ./questbee <command> — run from the community/ folder.
Windows: questbee <command> — double-click questbee.bat or run from Command Prompt.


First-time setup

./questbee install

Runs the full first-time setup wizard:

  1. Checks that Docker is installed and running (offers to install it on Linux)
  2. Prompts for your admin email and password
  3. Generates strong random secrets for the database and JWT signing key
  4. Writes your .env file automatically
  5. Starts all containers
  6. Prints the dashboard URL and your login email

Run this once. If .env already exists, the command exits safely with instructions on how to start the server.


Start

./questbee start

Starts all containers in the background. Use this after a stop, after a system reboot, or any time the server is down.

→ Starting Questbee…
✓ Questbee started.
  http://localhost:3000
  http://192.168.1.42:3000

Stop

./questbee stop

Gracefully stops all containers. Data is preserved — this does not delete anything.

→ Stopping Questbee…
✓ Questbee stopped.

Restart

./questbee restart

Stops and restarts all containers without rebuilding. Useful after editing .env for non-image-level config changes.


View logs

./questbee logs

Streams live logs from all containers (API, web, database). Press Ctrl+C to exit.

To filter logs by service, use Docker directly:

docker compose logs -f api    # API logs only
docker compose logs -f web    # Dashboard logs only
docker compose logs -f db     # Database logs only

Status

./questbee status

Shows whether each container is running, healthy, or stopped.

NAME              STATUS           PORTS
community-db-1    Up (healthy)
community-api-1   Up (healthy)     0.0.0.0:8000->8000/tcp
community-web-1   Up (healthy)     0.0.0.0:3000->3000/tcp

A container showing Up (healthy) is ready to serve requests. Up (health: starting) means it just launched and is still initializing — wait 20–30 seconds and check again.


Update

./questbee update

Pulls the latest version from GitHub, rebuilds the Docker images, and restarts all containers. Your data, uploads, and .env are preserved.

1. Checking Git…
✓ Git is ready.

2. Pulling latest version…
   (git pull output)

3. Rebuilding images…
   (docker build output)

4. Restarting…
✓ Questbee updated and restarted.
  http://localhost:3000

Tip: Run ./questbee logs after an update to confirm everything started cleanly.


Find the server address

./questbee hostname

Prints all URLs where Questbee is reachable on the local network. Use the LAN IP (e.g. 192.168.x.x) when entering the server URL in Settings → Mobile Pairing so the phone can reach the server over Wi-Fi.

Questbee is reachable at:

  http://localhost:3000
  http://192.168.1.42:3000

  Share any of these with users on the same network.
  Use the LAN IP when pairing the mobile app over Wi-Fi.

Help

./questbee help
./questbee -h
./questbee --help

Prints all available commands with a short description.


Quick reference card

Command What it does When to use it
./questbee installFirst-time setup wizardOnce, on a fresh clone
./questbee startStart the serverAfter a stop or reboot
./questbee stopStop the serverBefore maintenance or shutdown
./questbee restartRestart all containersAfter editing .env
./questbee logsView live logsDebugging or monitoring
./questbee statusCheck container healthAfter start, to confirm it's up
./questbee updatePull latest version & restartWhen a new release is available
./questbee hostnamePrint all server URLsBefore pairing the mobile app
./questbee helpShow all commandsAny time

Troubleshooting with the CLI

Server not responding after start

./questbee status   # check if all containers are Up
./questbee logs     # look for error messages

Web dashboard opens but shows errors

docker compose logs web   # dashboard-specific logs
docker compose logs api   # API-specific logs

Mobile app can't connect

./questbee hostname   # get the correct LAN IP to enter in Settings → Mobile Pairing

After a server reboot

./questbee start

Containers do not auto-start on reboot by default. To make them start automatically, enable Docker's start-on-boot option for your operating system, or add a systemd service.

Full reset — delete all data and start over

docker compose down -v   # removes containers AND data volumes
rm .env
./questbee install       # set up fresh

Warning: docker compose down -v permanently deletes all submissions, uploads, and the database. Back up first.


Next steps