A frontend for the Racket Package Catalog.
Go to file
2014-11-08 19:23:58 -05:00
log Initial commit 2014-11-06 22:03:14 -05:00
signals Initial commit 2014-11-06 22:03:14 -05:00
src Count search results 2014-11-08 19:23:58 -05:00
static Count search results 2014-11-08 19:23:58 -05:00
.gitignore Switch to SSL. 2014-11-08 09:37:55 -05:00
Makefile Switch to SSL. 2014-11-08 09:37:55 -05:00
README.md Initial commit 2014-11-06 22:03:14 -05:00
run Initial commit 2014-11-06 22:03:14 -05:00
TODO.md Count search results 2014-11-08 19:23:58 -05:00

Racket Bootstrap Template Website

Local testing

Running src/main.rkt starts a local server.

Deployment

Supervision

Startable using djb's daemontools; symlink this directory into your services directory and start it as usual. The run script starts the program, and log/run sets up logging of stdout/stderr.

If the file run-prelude exists in the same directory as run, it will be dotted in before racket is invoked. I use this to update my PATH to include my locally-built racket bin directory, necessary because I don't have a system-wide racket.

On Debian, daemontools can be installed with apt-get install daemontools daemontools-run, and the services directory is /etc/service/.

Control signals

You can send signals to the running service by creating files in /etc/service/webservice/signals/. For example:

  • creating .pull-required causes the server to shell out to git pull and then exit. Daemontools will restart it.

  • creating .restart-required causes it to exit, to be restarted by daemontools.

So long as sudo chmod 0777 /etc/service/webservice/signals, these are useful for non-root administrators to control the running service.

In particular, a git post-receive hook can be used to create the .pull-required signal in order to update the service on git push.