auto_start_machines not working on postgres

"Both my ‘postgres’ and my app shut down perfectly when idle. However, when my app receives a request, it tries to connect to postgres and fails, even after retrying multiple times, because postgres does not start again.

I believe my configurations are correct.

image: flyio/postgres-flex:17.2

# fly.toml app configuration file generated for ibpj-db on 2025-02-27T18:28:02-03:00
#
# See https://fly.io/docs/reference/configuration/ for information about how to use this file.
#

app = 'ibpj-db'
primary_region = 'gru'

[env]
  FLY_SCALE_TO_ZERO = '1h'
  PRIMARY_REGION = 'gru'

[[mounts]]
  source = 'pg_data'
  destination = '/data'

[[services]]
  protocol = 'tcp'
  internal_port = 5432
  auto_stop_machines = 'stop'
  auto_start_machines = true
  min_machines_running = 0

  [[services.ports]]
    port = 5432
    handlers = ['pg_tls']

  [services.concurrency]
    type = 'connections'
    hard_limit = 1000
    soft_limit = 1000

[[services]]
  protocol = 'tcp'
  internal_port = 5433
  auto_stop_machines = 'stop'
  auto_start_machines = true

  [[services.ports]]
    port = 5433
    handlers = ['pg_tls']

  [services.concurrency]
    type = 'connections'
    hard_limit = 1000
    soft_limit = 1000

[checks]
  [checks.pg]
    port = 5500
    type = 'http'
    interval = '15s'
    timeout = '10s'
    path = '/flycheck/pg'

  [checks.role]
    port = 5500
    type = 'http'
    interval = '15s'
    timeout = '10s'
    path = '/flycheck/role'

  [checks.vm]
    port = 5500
    type = 'http'
    interval = '15s'
    timeout = '10s'
    path = '/flycheck/vm'

[[metrics]]
  port = 9187
  path = '/metrics'
  https = false

Hi… Auto-start works only with Flycast—and not with the .internal addresses.

Perhaps you’re using the latter in your DATABASE_URL?

1 Like

That was exactly it, thank you very much!

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.