Depending on how your app or website is built, recordings can take a lot of disk space. To manage this, we have the following retention policy options in place.
PostHog Cloud
Recordings are automatically deleted after 1 month (3 months for paid customers). The deletion is not immediate meaning that recordings may still appear for a short time in the UI after the retention period expires or when manually deleted via the UI.
Preserving recordings
Pinned or Shared recordings are kept for as long as they are actively in use. Alternatively, any individual recording that you would like to preserve for longer can be done by downloading them locally. Downloaded recordings can then be imported back into PostHog for future playback, even if the original recording has expired.
Self-hosted
In order to make PostHog cheaper and easier to run and maintain we are deprecating storing recordings in ClickHouse.
Pinning a non-deprecated version
The final PostHog release to officially support ClickHouse stored recordings can be pinned using the deploy-hobby
script. All subsequent releases only support blob storage backed recordings.
Or edit your docker compose file to replace image: posthog/posthog:$POSTHOG_APP_TAG
with image: posthog/posthog:9c68581779c78489cfe737cfa965b73f7fc5503c
Managing storage
Self-hosted installations, pinned to earlier versions,
are able to control the TTL by updating the RECORDINGS_TTL_WEEKS
configuration on your instance settings page.
Please note,
for versions of PostHog that rely on Clickhouse storage,
you need to manage the available capacity.
Ensure you increase volume capacity before changing the RECORDINGS_TTL_WEEKS
value (even if you're decreasing the value).
ClickHouse requires abundant free disk space to manage the session_recording_events
table.
In later versions (which do not use Clickhouse for recording storage), the installation will be relying on its configured blob storage. You can manage storage using blob storage lifecycle policies. This will vary by environment.