Anyone has an idea what I might be doing wrong? After running “docker-compose up”, I get the following:
stack_1 | INFO Setting up Identity Server
stack_1 | error:cmd/internal/shared:initialize_identity_server (could not initialize Identity Server)
stack_1 | --- parse "postgres://root@cockroach:26257/ttn_lorawan?sslmode=disable": first path segment in URL cannot contain colon
ttn_stack_1 exited with code 255
I went ahead and edited “postgres://root@cockroach:26257/ttn_lorawan?sslmode=disable” in docker-compose.yml and removed the first colon: “postgres//root@cockroach:26257/ttn_lorawan?sslmode=disable”
Although that error doesn’t make sense to me, I now got a different error after removing the colons:
stack_1 | INFO Setting up Identity Server
stack_1 | error:cmd/internal/shared:initialize_identity_server (could not initialize Identity Server)
stack_1 | --- dial tcp: lookup postgres on 127.0.0.11:53: server misbehaving
ttn_stack_1 exited with code 255
I am running everything in an Ubuntu Bionic VM on localhost or 127.0.0.1
I also saw this error when removing the colons only as above:
stack_1 | INFO Setting up Identity Server
stack_1 | error:cmd/internal/shared:initialize_identity_server (could not initialize Identity Server)
stack_1 | --- dial tcp 127.0.0.1:5432: connect: connection refused
As far as I understand, port 5432 should only be available if I use the Postgres DB instead of CockroachDB. I am only using CockroachDB per the default configuration so I don’t understand why it’s trying to connect to port 5432. Maybe because CockroachDB URL became wrong after I removed the colons so now it’s falling back to postgres?
Hi @jwijngaard - thanks for replying! Actually, the error you mentioned I have seen only once when I accidentally removed both cockroach and postgres from the yml file, which is still weird and sounds to me like a bug in the container. However, if you look at the other two errors I listed, they correctly mention the IP address 127.0.0.1
So unfortunately the problem I mentioned earlier persist
I switched from using CockroachDB to using Postgres instead, and now I am seeing a different error:
stack_1 | INFO Setting up Identity Server
stack_1 | error:cmd/internal/shared:initialize_identity_server (could not initialize Identity Server)
stack_1 | --- error:pkg/identityserver:db_needs_migration (the database needs to be migrated)
stack_1 | --- error:pkg/identityserver/store:database_table (database table `accounts` does not exist)
stack_1 | table=accounts
ttn_stack_1 exited with code 255
I also noticed this in the logs which could be relevant:
postgres_1 | 2020-01-10 01:22:10.011 UTC [23] LOG: database system was shut down at 2020-01-09 23:24:35 UTC
postgres_1 | 2020-01-10 01:22:10.024 UTC [1] LOG: database system is ready to accept connections
However, after I run: docker-compose run --rm stack is-db init
I still see the following error:
Starting ttn-stack_redis_1 ... done
Starting ttn-stack_cockroach_1 ... done
INFO Connecting to Identity Server database...
parse "postgres://root@cockroach:26257/ttn_lorawan?sslmode=disable": first path segment in URL cannot contain colon
That was exactly my issue! Thanks a lot @carlomissaglia!
I was able to run without errors unitl docker-compose up, I got the following error:
stack_1 | --- error:pkg/gatewayserver:listen_frontend (failed to start frontend listener `MQTT/tls` on address `:8882`)
stack_1 | address=:8882
stack_1 | protocol=MQTT/tls
stack_1 | --- open cert.pem: no such file or directory
I know the cert.pem file exists in the same directory where I have docker-compose.yml and run the docker-compose up command from. I also made sure I have run chown 866:866 ./cert.pem. Even when I changed it to an absolute file path in the docker-compose.yml, I still got the same error. What could I be missing here?