Skip to main content
Single Node Installs: Storage and Backup Guidelines
General storage recommentations for single-node instances
-
/mntdata
(oris awhere commonthe rootstandalone fordeployment allinstalls <component>_data_path
PostgreSQL variables)data and Element Deployment data. It should be a distinct mount pointpoint.
- 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,
sampledefault config uses /mnt/data/element-deployment/adminbot
for single-node instances
The backing path for single node instances can be changed by setting bot_data_path
in the adminbot
config directory
- Storage space required is proportional to the number of user devices on the server. 1GB is sufficient for most servers
The size of the PVC can be changed by setting bot_data_size
in the adminbot
config directory
Auditbot storage:
- Files stored with uid=10006/gid=10006, sample config uses
/mnt/data/element-deployment/auditbot
for single-node instances
The backing path for single node instances can be changed by setting bot_data_path
in the auditbot
config directory
- Storage space required is proportional to the number of events tracked.
1GB is sufficient with the sample config logfile_size
/ logfile_keep
values
The size of the PVC can be changed by setting bot_data_size
in the auditbot
config directory
Dimension storage :
Main:
File stored with uid=10005/gid=1000, sample config uses /mnt/dimension
for single-node instances
The backing path for single node instances can be changed by setting bot_data_path
in the dimension
config directory
Storage space is constant to store a single file. 10M is sufficient for every server
The size of the PVC can be changed by setting bot_data_size
in the dimension
config directory
Postgres (in-cluster):
Files stored with uid=999/gid=999, sample config does not specify a default path for single-node instances
The backing path for single node instances can be changed by setting postgres_data_path
in the dimension
config directory
Storage space is proportional to the number of integration instances. 5GB is sufficient for most servers
The size of the PVC can be changed by setting postgres_storage_size
in the dimension
directory folder
Synapse storage:
Postgres (in-cluster) storage:
- Files stored with uid=999/gid=999,
sampledefault config uses /mnt/data/synapse-postgres
for single-node instances
The backing path for single node instances can be changed by setting postgres_data_path
in parameters.yml
Storage space is proportional to the activity on the homeserver. 5GB is used as a starting point for PoC but can easily be exceeded depending on traffic
The size of the PVC can be changed by setting postgres_storage_size
in parameters.yml
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
Dimension:
- 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.