Server commands
Reach Godspeed Mission Control from your server's terminal. See whether it runs, run its commands in the container, look at routines and logs.
On this page
These commands are for a server installed with the one-line command, where Godspeed runs inside a Docker container. Log in to your server's terminal (your hosting company's control panel shows how) and work as root. Everyday use needs none of this: the notebook and Telegram cover it. A server without Docker, where you ran install-godspeed.sh, is at the end.
Open a terminal on the server
#The installation's folder / is readable by root only. If you logged in as another user who may use sudo, become root first:
sudo -iFind the container
#Go to the installation's folder, so every docker compose command finds it, and list its services:
cd /opt/godspeed-mission-control
docker compose psYou see two services: godspeed, which is Godspeed itself, and https, which gives it its secure web address.
Run a command inside
#From /:
docker compose exec -u hermes godspeed <command>-u hermes runs the command as the account your assistant uses. Use bash as the command to open a shell inside. Inside the container:
/is your mission control folder.opt/ data/ full-candidate/ workspace /holds your media, the pictures and files attached to notes.opt/ data/ full-candidate/ media /is the home of Hermes, the program that runs your assistant, with its settings, routines and commands.opt/ data/ full-candidate/ hermes /holds the product's own files.opt/ godspeed/ kit
All your data is in the Docker volume godspeed-mission-control_godspeed-data, which the container sees as /.
See whether it runs
#From /:
docker compose ps
docker compose logs godspeedThe installer's notes are in /.
The health address answers from anywhere, without a sign-in. Your address is on the line GODSPEED_HOST= in /.
curl -fsS https://<your address>/healthA working server answers with a line that starts {"ok":true. More on Check that it is running.
Routines with hermes cron
#Hermes keeps your routines. Inside the container it is /, already pointed at them:
docker compose exec -u hermes godspeed /opt/hermes/bin/hermes cron listcron list: every routine, with its ID and next run.cron pause <job id>andcron resume <job id>: stop one and start it again.cron run <job id>: run one on the scheduler's next tick, within about a minute.cron runs: recent runs.cron incidents: failures, grouped.cron status: names the scheduler, the notebook (godspeed_notebook), and lists the active routines. It does not check that the notebook runs, but the health address does.
Settings, Routines in the notebook shows the same routines (Pause, move or run a routine).
Your mission control's commands inside
#The mc- commands are in /. Start them in your mission control folder with -w, so each one finds it:
docker compose exec -u hermes -w /opt/data/full-candidate/workspace godspeed /opt/data/full-candidate/hermes/bin/mc-dueTerminal commands describes each one. The notebook's own program works the same way:
docker compose exec -u hermes godspeed node /opt/godspeed/kit/notebook/bin/godspeed.mjs validateTo save its output in a file on the server itself, add -T:
docker compose exec -T -u hermes godspeed node /opt/godspeed/kit/notebook/bin/godspeed.mjs export > notebook-export.jsonMore on The notebook command.
Update the server
#Run the one-line install command again. It keeps your address, your account and all your data, and brings the server to the newest release. It saves no copy of your notebook first, so press Save a backup under Settings, Recovery in the notebook before you run it.
curl -fsSL https://godspeedmissioncontrol.com/server | bashMore on Update Godspeed Mission Control.
A server without Docker
#Here the notebook runs as a service, with no container. The mc- commands and hermes cron work directly in the server's terminal, as on a Linux computer. These show what is wrong:
systemctl status godspeed-integrated-notebook.servicejournalctl -u godspeed-integrated-notebook.service -n 50journalctl -u godspeed-https.service -n 50The first shows whether the notebook runs, and the second what it last said. The third shows what Caddy, the program behind its secure web address, last said. If the server ran its own Caddy before you installed, use journalctl -u caddy -n 50 instead.
If you installed from an account without sudo, the notebook runs as your own user's service. Put --user after systemctl and after journalctl in the first two lines. The third does not apply, because such a server gets no secure web address.
Such a service stops when you log out, and your routines with it, unless the server is set to keep it running. To check, run this with your user name:
loginctl show-user <user> -p Linger --valueno means it stops at logout. To keep it running, ask whoever runs the server to run this once:
sudo loginctl enable-linger <user>This kind of server has no Telegram: you talk to Godspeed in the notebook.
Something wrong or unclear? Tell us on GitHub.