---
title: Deployment Guide
product: tide
doc_type: guide
version: master
source: git2docs (code-derived, validation-filtered)
canonical: https://git2docs.com/wabam/docs/tide/tide-capital-pressure-observatory/deployment-guide
---

# Deployment Guide

_Running TIDE as a persistent service_

## Overview

This guide explains how to run TIDE — Capital Pressure Observatory as a persistent service so your dashboard stays current without manual intervention. It covers adapting the development servers (`make dev-api` and `make dev-web`) for production use, configuring the Scheduler to refresh data automatically after market close each weekday, and keeping the Scheduler alive across reboots using a systemd unit. If you have already completed the quickstart, start at the [Running as a persistent service](#running-as-a-persistent-service) section.

## Prerequisites

Before following this guide you should have already completed the TIDE quickstart — the database must be initialised, at least one full ingest must have run, and the composite history must have been backfilled. You also need:

- **Python ≥ 3.10** (the backend `pyproject.toml` requires ≥ 3.11 in practice)
- **Node.js and npm** (for the SvelteKit frontend build)
- **make** (the Makefile is the primary developer interface)
- **A FRED API key** — set as `FRED_API_KEY` in your `.env` file (free at [fred.stlouisfed.org](https://fred.stlouisfed.org/docs/api/api_key.html))
- **A virtualenv** at the path recorded in `VENV` (default: `~/sandbox/envs/tideenv`)
- **systemd** if you want the Scheduler to survive reboots (Linux only; adapt to your process manager on other platforms)
- An always-on internet connection — TIDE pulls from FRED, Yahoo Finance, CFTC, AAII, SqueezeMetrics, and Treasury TIC on every ingest cycle
