Skip to main content

LTS 23.10 is now out of support, we recommend upgrading to the latest LTS 24.10. To upgrade, please update your deployment to the latest LTS 23.10 release. You can then upgrade to the latest patch release of LTS 24.10.

Single Node Installs: Storage and Backup Guidelines

General storage recommentations for single-node instances

  • /data is where the standalone deployment installs PostgreSQL data and Element Deployment data. It should be a distinct mount point.
    • Ideally this would have an independent lifecycle from the server itself
    • Ideally this would be easily snapshot-able, either at a filesystem level or with the backing storage

Adminbot storage:

  • Files stored with uid=10006/gid=10006, default config uses /data/element-deployment/adminbot for single-node instances
  • Storage space required is proportional to the number of user devices on the server. 1GB is sufficient for most servers

Auditbot storage:

  • Files stored with uid=10006/gid=10006, default config uses /data/element-deployment/auditbot for single-node instances
  • Storage space required is proportional to the number of events tracked.

Synapse storage:

  • Media:
    • File stored with uid=10991/gid=10991, default config uses /data/element-deployment/synapse for single-node instances
    • Storage space required grows with the number and size of uploaded media. For more information, see ESS Sizing

Postgres (in-cluster) storage:

  • Files stored with uid=999/gid=999, default config uses /data/postgres for single-node instances

Backup Guidance:

  • Adminbot:
    • Backups should be made by taking a snapshot of the PV (ideally) or rsyncing the backing directory to backup storage
  • Auditbot:
    • Backups should be made by taking a snapshot of the PV (ideally) or rsyncing the backing directory to backup storage
  • Synapse Media:
    • Backups should be made by taking a snapshot of the PV (ideally) or rsyncing the backing directory to backup storage
  • Postgres (in-cluster):
    • Backups should be made by kubectl -n element-onprem exec -it postgres-synapse-0 -- sh -c 'pg_dump -U $POSTGRES_USER $POSTGRES_DB' > synapse_postgres_backup_$(date +%Y%m%d-%H%M%S).sql
  • Postgres (external):
    • Backup procedures as per your DBA
  • Configuration:
    • Please ensure that your entire configuration directory (that contains at least parameters.yml & secrets.yml but may also include other sub-directories & configuration files) is regularly backed up
      • The suggested configuration path in Element's documentation is ~/.element-onpremise-config but could be anything. It is whatever directory you used with the installer.