All Templates / Automation
Postgres S3 backups
A simple NodeJS app to back up your PostgreSQL database to S3 via a cron
Backup CRON
railwayapp-templates/postgres-s3-backups
Just deployed
The template uses node-cron or Railway cron, written in TypeScript to dump your PostgreSQL data to a file and then upload the file to S3.
Configurable backup schedule: By default, the cron runs at 5 AM every day but is configurable via the BACKUP_CRON_SCHEDULE
environment variable.
Support for custom buckets: The script also supports using a AWS_S3_ENDPOINT
environment variable to use any S3 compliant storage bucket (eg: Wasabi).
AWS_ACCESS_KEY_ID
- AWS access key ID.
AWS_SECRET_ACCESS_KEY
- AWS secret access key, sometimes also called an application key.
AWS_S3_BUCKET
- The name of the bucket that the access key ID and secret access key are authorized to access.
AWS_S3_REGION
- The name of the region your bucket is located in, set to auto
if unknown.
BACKUP_DATABASE_URL
- The connection string of the database to backup.
BACKUP_CRON_SCHEDULE
- The cron schedule to run the backup on. Example: 0 5 * * *
AWS_S3_ENDPOINT
- The S3 custom endpoint you want to use. Applicable for 3-rd party S3 services such as Cloudflare R2 or Backblaze R2.
AWS_S3_FORCE_PATH_STYLE
- Use path style for the endpoint instead of the default subdomain style, useful for MinIO. Default false
RUN_ON_STARTUP
- Run a backup on startup of this application then proceed with making backups on the set schedule.
BACKUP_FILE_PREFIX
- Add a prefix to the file name.
BUCKET_SUBFOLDER
- Define a subfolder to place the backup files in.
SINGLE_SHOT_MODE
- Run a single backup on start and exit when completed. Useful with the platform's native CRON schedular.
SUPPORT_OBJECT_LOCK
- Enables support for buckets with object lock by providing an MD5 hash with the backup file.
BACKUP_OPTIONS
- Add any valid pg_dump option, supported pg_dump options can be found here. Example: --exclude-table=pattern
Template Content
Backup CRON
railwayapp-templates/postgres-s3-backupsAWS_S3_BUCKET
The name of the S3 bucket.
AWS_S3_REGION
The region the S3 bucket is in.
AWS_ACCESS_KEY_ID
The access key ID for the IAM user.
BACKUP_DATABASE_URL
The database url for the database to backup.
AWS_SECRET_ACCESS_KEY
The secret access key for the IAM user.
Details
Railway Templates
Created on Sep 1, 2022
792 total projects
287 active projects
96% success on recent deploys
TypeScript, Dockerfile
Automation
More templates in this category
Tier
A single tool to configure,orchestrate and manage your entire pricing stack
16