edgedb initial setup

EdgeDB on Fly · Fly Docs - following this tutorial step by step, where instead of using the default edgedb image I had append to the default image so to add my schema. i added the custom image by having the Dockerfile in my local directory and running flyctl launch.

this is the only deviance from the tutorial.

after running flyctl deploy, i get this log output -


2023-01-04T19:13:46.190 runner[965e1b9e] fra [info] Starting instance

2023-01-04T19:13:48.650 runner[965e1b9e] fra [info] Unpacking image

2023-01-04T19:13:48.655 runner[965e1b9e] fra [info] Preparing kernel init

2023-01-04T19:13:49.007 runner[965e1b9e] fra [info] Configuring firecracker

2023-01-04T19:13:49.107 runner[965e1b9e] fra [info] Starting virtual machine

2023-01-04T19:13:49.375 app[965e1b9e] fra [info] Starting init (commit: f447594)...

2023-01-04T19:13:49.401 app[965e1b9e] fra [info] Preparing to run: `docker-entrypoint.sh edgedb-server` as root

2023-01-04T19:13:49.425 app[965e1b9e] fra [info] 2023/01/04 19:13:49 listening on [fdaa:1:1a8a:a7b:86:965e:1b9e:2]:22 (DNS: [fdaa::3]:53)

2023-01-04T19:13:49.476 app[965e1b9e] fra [info] /usr/local/bin/docker-entrypoint-funcs.sh: line 686: postgres://postgres:XXXXXXXXXX@studylog-postgres.internal:5432: invalid variable name

2023-01-04T19:13:50.410 app[965e1b9e] fra [info] Starting clean up.

where the error is specfically this

2023-01-04T19:13:49.476 app[965e1b9e] fra [info] /usr/local/bin/docker-entrypoint-funcs.sh: line 686: postgres://postgres:XXXXXXXXXX@studylog-postgres.internal:5432: invalid variable name

where the postgres url is set to the ‘EDGEDB_SERVER_BACKEND_DSN_ENV’ secret, as mentioned in the tutorial.

pretty clueless, any ideas?

Hopefully you’ve figured it out. When you attach the current app (edgedb) to your postgres machine,
you should get something along the lines of:

Postgres cluster mypostgres is now attached to roameedgedb
The following secret was added to myedgedb:
  DATABASE_URL=postgres://.........

Where DATABASE_URL was already added as a environment var to your myedgedb app – meaning the setting of the secret of EDGEDB_SERVER_BACKEND_DSN_ENV is looking for another secret environment… It’s confusing. You just need to run their command exactly as written.

1 Like