Skip to main content
Table of contents

Application: service-manual-publisher

Publishes the Service Manual on GOV.UK


#govuk-platform-health owns the application and is responsible for updating its dependencies.


The production version of this application is hosted on AWS.

SSH Access (AWS)

gds govuk connect ssh -e integration backend
gds govuk connect ssh -e staging aws/backend
gds govuk connect ssh -e production aws/backend

Run a rake task

Example pages published by service-manual-publisher


Warning The content below is pulled in directly from the repository.
Links might not function properly.

Service Manual Publisher is used for publishing and maintaining This application, together with
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