Skip to main content

Production Builds

This page is the primary installation guide for operators and admins deploying SVRunner from a packaged build rather than from source.

Before You Begin

Make sure you have:

  • the correct release artifact for the target system
  • shell access to the host machine
  • a plan for persistent storage and backups
  • network access to the operator workstations that will open the web application
  • the license information needed for first-time setup

SVRunner stores persistent runtime data under a files/ directory by default. In a standard deployment this includes:

  • uploaded assets: files/assets
  • logs: files/logs
  • SQLite database: files/local.db

By default the server listens on port 7376.

Release Contents

A production deployment is expected to provide:

  • the server runtime
  • the built web application
  • the built documentation site
  • the built preview player

In production, the server serves these pieces from a single process:

  • web application: /
  • GraphQL API: /graphql
  • static assets: /static
  • preview player: /preview
  • documentation: /docs

Environment And Paths

SVRunner resolves runtime paths from its executable directory unless you override them.

Important defaults:

  • SVR_SERVER_PORT: defaults to 7376
  • SVR_SERVER_FILES_DIR: defaults to <exec-dir>/files
  • SVR_SERVER_ASSETS_DIR: defaults to <files-dir>/assets
  • SVR_SERVER_LOGS_DIR: defaults to <files-dir>/logs
  • SVR_SERVER_DATABASE_PATH: defaults to <files-dir>/local.db

If you use a .env file, place it in the server execution directory so it can be loaded on startup.

Fresh Install Runbook

  1. Prepare the host.
  • Create a dedicated installation directory.
  • Confirm the host has enough storage for the asset library and logs.
  • Confirm that the intended operator network can reach the server on the chosen port.
  1. Install or unpack the release build.
  • Place the packaged application in the installation directory.
  • Confirm the packaged server, client, docs, and preview assets are present.
  1. Configure environment values if needed.
  • Set SVR_SERVER_PORT if the default 7376 is not appropriate.
  • Set SVR_SERVER_FILES_DIR if persistent data should live outside the executable directory.
  • Add any deployment-specific logging or environment settings required by your environment.
  1. Start the server.
  • Launch the packaged server using the release-specific startup method for your environment.
  • On first startup, SVRunner creates the asset and log directories automatically if they do not already exist.
  1. Confirm the server is reachable.
  • Open http://<server-address>:7376/ if using the default port.
  • Open http://<server-address>:7376/docs/ to confirm the documentation site is being served.
  • Open http://<server-address>:7376/graphql to confirm the API endpoint is reachable.
  1. Complete first-time application setup.
  • Sign in with the initial credentials provided for the deployment.
  • Apply or verify the software license.
  • Create or confirm administrative users.
  • Configure project preferences, players, screens, and canvases.

Validation Checklist

Before handing the system over to operators, verify all of the following:

  • the web application loads from another machine on the network
  • the /docs route loads successfully
  • the /graphql endpoint responds
  • the files/ directory exists in the intended persistent location
  • uploaded media can be created and later retrieved from /static
  • logs are being written into files/logs
  • at least one operator can sign in successfully

Production Build Routes Stub screenshot: browser showing the main app at /, the docs at /docs/, and the GraphQL endpoint at /graphql on a freshly installed system. Save final image at packages/docs/screenshots/installation-production-build-routes.png.

Operational Recommendations

  • Keep the files/ directory on persistent storage.
  • Do not place the database or asset library on ephemeral storage.
  • Treat the application build and the files/ directory differently during upgrades: replace the build, preserve the data.
  • Record the final server address, port, install path, and backup procedure as part of handoff.

If You Deploy In Containers Or Managed Infrastructure

If you are not installing directly onto a host machine:

  • use Docker for container-specific guidance
  • adapt the persistence recommendations in this page so files/ survives redeployments
  • confirm that any mounted volume is available before the application starts