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 thecommunity/folder.
Windows:questbee <command>— double-clickquestbee.bator run from Command Prompt.
First-time setup
./questbee install
Runs the full first-time setup wizard:
- Checks that Docker is installed and running (offers to install it on Linux)
- Prompts for your admin email and password
- Generates strong random secrets for the database and JWT signing key
- Writes your
.envfile automatically - Starts all containers
- 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 logsafter 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 install | First-time setup wizard | Once, on a fresh clone |
./questbee start | Start the server | After a stop or reboot |
./questbee stop | Stop the server | Before maintenance or shutdown |
./questbee restart | Restart all containers | After editing .env |
./questbee logs | View live logs | Debugging or monitoring |
./questbee status | Check container health | After start, to confirm it's up |
./questbee update | Pull latest version & restart | When a new release is available |
./questbee hostname | Print all server URLs | Before pairing the mobile app |
./questbee help | Show all commands | Any 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 -vpermanently deletes all submissions, uploads, and the database. Back up first.
Next steps
- Getting Started — First login, first form, mobile pairing
- Deployment Guide — Production setup with HTTPS
- Mobile App Guide — Install the app and collect data offline