Skip to main content
Table of contents

Application: service-manual-publisher

Publishes the Service Manual on GOV.UK

AWS, on the backend machine class
Continuously deployed?
Rake tasks
Integration, Staging or ⚠️ Production ⚠️

Example pages published by service-manual-publisher


Service Manual Publisher is used for publishing and maintaining This application, together with service-manual-frontend replaced the previous Jekyll-based service manual.


Landing page screenshot

Edit interface screenshot


  • Guide: A guide is the main document format used for manuals.
  • Guide Community: A profile page that represents the community who curate a collection of guides.
  • Topic: A collection of guides.
  • Point: A point from the service standard.

Technical documentation

PostgreSQL-backed Rails publishing application for internal use, with no public facing aspect.

There is some disparity between the content as it appears in the database, and the content as it appears in the publishing api. This will need to be addressed if we switch to using the publishing api as our main data store in the future.

The Service manual's guide pages have a nested URL structure which is unusual for GOV.UK. The pros and cons to the nested URL structure are retrospectively documented.


Optional dependencies

To handle image uploads

To persist and render guides

NB: Every application above may have its own dependencies

You will need to clone down all these repositories, and run the following commands for each one:

bundle exec rake db:setup


To run the application in development you will need at least one user in the application database. In a rails console do:

User.create!(name: "My Name", email: "")

You can use Bowler to automatically run the application and all of its dependencies. To do this, you'll need to check out the development repository where the Pinfile is located.

cd /var/govuk/development
bowl service-manual-publisher service-manual-frontend

Alternatively, run ./ in the service-manual-publisher directory on the development VM.

cd /var/govuk/service-manual-publisher

The application runs on port 3111 by default. If you're using the GDS VM it's exposed on

The application has a style guide that can be accessed on /style-guide.


bundle exec rake


MIT License