TimescaleDB: 4. Create the service

This documentation is part of the Automate with the CLI guide. View the full guide here: Start TimescaleDB, retrieve its credentials, and change its configuration programmatically with the Stackhero CLI.

Welcome to the Stackhero documentation!

Stackhero provides a ready-to-use TimescaleDB cloud solution designed to help you get up and running in minutes. Here is what you can look forward to:

  • All the best plugins included, such as PostGIS, PgVector, and more.
  • Convenient access to the PgAdmin web UI for easy database management.
  • Simple, one-click updates to keep your deployment current.
  • Reliable performance and strong security on your own private, dedicated infrastructure.

If you are looking to save time and streamline your workflow, Stackhero's TimescaleDB cloud hosting is designed to make your experience as smooth as possible. You can try it out in as little as 5 minutes!

Here is a sample script that creates a stack, adds your TimescaleDB service to it, waits for it to start, retrieves its configuration (including generated credentials), and then applies a new configuration.

#!/bin/bash
set -e

export STACKHERO_TOKEN="usr-xxxxxx:your-token"

serviceStore="timescaledb"   # The TimescaleDB service store name (see step 2)
instance="..."                # An instance size from step 3
region="europe"               # A region name from step 3

# Create a stack for your service (uses your default organization; add --organization if needed)
stackId=$(stackhero --format=script stack-create \
  --name="My TimescaleDB stack")
echo "Stack created: ${stackId}"

# Add TimescaleDB to the stack (names are resolved automatically)
serviceId=$(stackhero --format=script service-add \
  --stack="My TimescaleDB stack" \
  --service-store="${serviceStore}" \
  --instance="${instance}" \
  --region="${region}")
echo "Service added: timescaledb"

# Wait for the service to be fully running (this may take a couple of minutes)
stackhero service-wait-for --service="timescaledb"

# Retrieve the service configuration, including generated credentials
stackhero service-configuration-get --service="timescaledb" --format=json