Install via Script

Quick Start

Download and run the installation script:

# Download the script
curl -fsSLo rollout_node.sh https://raw.githubusercontent.com/flashbacknetwork/flashback_installer/refs/heads/main/rollout_node.sh

# Make it executable
chmod +x rollout_node.sh

# Run the installation
sudo ./rollout_node.sh \
  -r eu-central-1 \
  -d mycompany.com \
  -p gcp \
  -o 00000000-0000-0000-0000-000000000000 \
  -k /path/to/private_key.pem \
  -b https://backend.flashback.tech

Note: Ensure you have completed all prerequisites before running the installation script.

Required Arguments

  • -r <region> - AWS region (e.g., eu-central-1, us-east-1)

  • -d <root-domain> - Your root domain (e.g., mycompany.com)

  • -o <org-id> - Your organization ID

  • -k <private-key-path> - Path to your RSA private key file

Optional Arguments

  • -p <provider> - Cloud provider (e.g., aws, gcp, azure)

  • -b <backend-url> - Backend URL (default: https://backend.flashback.tech)

  • -n <network-json-path> - Path to flashback-network-delegated.json

Domain Convention

The script will create these domains:

  • s3-<region>[-<provider>].<root-domain>

  • gcs-<region>[-<provider>].<root-domain>

  • blob-<region>[-<provider>].<root-domain>

SSL Certificates

You need three certificate pairs that support:

  • S3: s3-<region>[-<provider>].<root-domain> and *.s3-<region>[-<provider>].<root-domain>

  • GCS: gcs-<region>[-<provider>].<root-domain>

  • BLOB: blob-<region>[-<provider>].<root-domain> and *.blob-<region>[-<provider>].<root-domain>

Examples

Using GCP with Let's Encrypt certificates (.crt, .key files)

sudo ./rollout_node.sh -r eu-central-1 -d mydomain.com -p gcp \
   -o 00000000-0000-0000-0000-000000000000 \
   -k private_key.pem -b https://backend.flashback.tech \
  -1 ~/s3-eu-central-1-gcp.mydomain.com.crt \
  -2 ~/s3-eu-central-1-gcp.mydomain.com.key \
  -3 ~/gcs-eu-central-1-gcp.mydomain.com.crt \
  -4 ~/gcs-eu-central-1-gcp.mydomain.com.key \
  -5 ~/blob-eu-central-1-gcp.mydomain.com.crt \
  -6 ~/blob-eu-central-1-gcp.mydomain.com.key

Using GCP with PFX certificates

sudo ./rollout_node.sh -r eu-central-1 -d mydomain.com -p gcp \
   -o 00000000-0000-0000-0000-000000000000 \
   -k private_key.pem -b https://backend.flashback.tech \
   -s3pfx ~/s3-eu-central-1-gcp.mydomain.com.pfx \
   -gcspfx ~/gcs-eu-central-1-gcp.mydomain.com.pfx \
   -blobpfx ~/blob-eu-central-1-gcp.mydomain.com.pfx

Using AWS with separate certificate files

sudo ./rollout_node.sh \
  -r us-east-1 \
  -d mycompany.com \
  -p aws \
  -o 12345678-1234-1234-1234-123456789012 \
  -k ~/private_key.pem \
  -1 ~/s3-us-east-1-aws.crt \
  -2 ~/s3-us-east-1-aws.key \
  -3 ~/gcs-us-east-1-aws.crt \
  -4 ~/gcs-us-east-1-aws.key \
  -5 ~/blob-us-east-1-aws.crt \
  -6 ~/blob-us-east-1-aws.key

Custom backend URL

sudo ./rollout_node.sh \
  -r eu-central-1 \
  -d mycompany.com \
  -p gcp \
  -o 12345678-1234-1234-1234-123456789012 \
  -k /home/ubuntu/private_key.pem \
  -b https://custom-backend.example.com \
  -s3pfx ~/s3.pfx \
  -gcspfx ~/gcs.pfx \
  -blobpfx ~/blob.pfx

What the Script Does

The rollout_node.sh script automates the complete setup of your private Flashback node:

  1. System Preparation - Updates system packages and installs Docker with Docker Compose

  2. Directory Setup - Creates the necessary directory structure under /opt/flashback

  3. Certificate Processing - Handles SSL certificates in both separate (.crt/.key) and PFX formats

  4. Configuration Generation - Creates Nginx configuration for reverse proxy and SSL termination

  5. Service Deployment - Sets up Docker containers for S3, GCS, and Blob APIs

  6. Backend Integration - Fetches encrypted configuration from the Flashback backend

  7. Node Registration - Registers your node with the Flashback platform

  8. Service Startup - Starts all services and verifies they're running correctly

The script handles all the complex configuration automatically, ensuring your node is properly integrated with the Flashback ecosystem.

Verification

After installation, check that services are running:

sudo docker ps
sudo docker logs 

Last updated

Was this helpful?