brand new rails app can't use remote builder

hey!

I have JUST launched an app and the deploy phase is stuck, investigating the remote builder, I only see this:

2022-07-08T23:13:17.871 app[0e28673df76986] ams [info] time="2022-07-08T23:13:17.871571729Z" level=debug msg="checking docker activity"

2022-07-08T23:13:17.873 app[0e28673df76986] ams [info] time="2022-07-08T23:13:17.872266071Z" level=debug msg="Calling GET /v1.41/containers/json?filters=%7B%22status%22%3A%7B%22running%22%3Atrue%7D%7D&limit=0"

2022-07-08T23:13:18.873 app[0e28673df76986] ams [info] time="2022-07-08T23:13:18.873626340Z" level=debug msg="checking docker activity"

2022-07-08T23:13:18.874 app[0e28673df76986] ams [info] time="2022-07-08T23:13:18.874018486Z" level=debug msg="Calling GET /v1.41/containers/json?filters=%7B%22status%22%3A%7B%22running%22%3Atrue%7D%7D&limit=0"

on and on and on

trying local-only mode is not very helpful:

❯ flyctl deploy --local-only --verbose
Update available 0.0.349 -> v0.0.351.
Run "flyctl version update" to upgrade.
==> Verifying app config
--> Verified app config
==> Building image
Error failed to fetch an image or build from source: docker is unavailable to build the deployment image

has anyone seen something like this before?

Those remote builder logs make it look like it’s doing something. What did the deploy logs say when it used a remote builder?

The error with local build is saying we can’t connect to Docker. If you have Docker installed, restarting it my help. This fixed that error on a Macbook the other day.

Also can you post your fly.toml? I’d like to see if it’s using a build pack or a dockerfile.

Nothing, just like this:

Sending build context to Docker daemon  164.2kB
[+] Building 36.9s (0/1)
 => [internal] load remote build context                                                                                                          36.9s

and the timer increases.

here is my toml file:

# fly.toml file generated for fatia-pizza-app on 2022-07-09T00:51:16+02:00

app = "fatia-pizza-app"
kill_signal = "SIGINT"
kill_timeout = 5
processes = []

[build]
  [build.args]
    BUNDLER_VERSION = "2.3.17"
    NODE_VERSION = "14"
    RUBY_VERSION = "3.1.2"

[deploy]
  release_command = "bundle exec rails db:migrate"

[env]
  PORT = "8080"
  RAILS_ENV = "production"
  SERVER_COMMAND = "bundle exec puma -C config/puma.rb"

[experimental]
  allowed_public_ports = []
  auto_rollback = true

[[services]]
  http_checks = []
  internal_port = 8080
  processes = ["app"]
  protocol = "tcp"
  script_checks = []
  [services.concurrency]
    hard_limit = 25
    soft_limit = 20
    type = "connections"

  [[services.ports]]
    force_https = true
    handlers = ["http"]
    port = 80

  [[services.ports]]
    handlers = ["tls", "http"]
    port = 443

  [[services.tcp_checks]]
    grace_period = "1s"
    interval = "15s"
    restart_limit = 0
    timeout = "2s"

[[statics]]
  guest_path = "/app/public"
  url_prefix = "/"

just wanted to note that deleting the remote builder didn’t help but cancel and retry the flyctl deploy command eventually worked

interesting, fixed with fly wg websockets enable

Are you running a local firewall or VPN setup? It’s good to know the websocket workaround helped, we’re going to fallback to websockets automatically soon.

Funny that you mentioned, I’m using the iCloud Private Relay actually