[GH-ISSUE #866] Unable to use postwoman with latest docker image from docker hub #295

Closed
opened 2026-03-16 14:24:05 +03:00 by kerem · 9 comments
Owner

Originally created by @axeII on GitHub (May 12, 2020).
Original GitHub issue: https://github.com/hoppscotch/hoppscotch/issues/866

Describe the bug
Unable to use postwoman with latest docker image from hub. Latest version after visiting site - keeps loading forever. Please see error log.

To Reproduce
Steps to reproduce the behavior:

  1. Go to hub.docker.com
  2. docker pull liyasthomas/postwoman:latest
  3. Remove old container and start new one docker run -d --rm -p 4000:3000 liyasthomas/postwoman:latest
  4. Keeps loading, console shows error
[Error] FirebaseError: [code=invalid-argument]: projectId must be a string in FirebaseApp.options
e — 2dd25b44c8067b3563f3.js:2:49533
(anonymous function) — 2dd25b44c8067b3563f3.js:2:265403
t — 2dd25b44c8067b3563f3.js:2:261812
(anonymous function) — 2dd25b44c8067b3563f3.js:2:296596
(anonymous function) — 2dd25b44c8067b3563f3.js:2:24457
(anonymous function) — 2dd25b44c8067b3563f3.js:2:22861
[native code]
(anonymous function) — 3e4e4c4821703484b334.js:1:382
n — 32c37f3c50b7a88b4843.js:1:582
(anonymous function) — 3e4e4c4821703484b334.js:1:27596
n — 32c37f3c50b7a88b4843.js:1:582
n
promiseReactionJob

	promiseReactionJob

Expected behaviour
Webpages would load normally with UI

Desktop (please complete the following information):

  • OS: macOS
  • Browser: Safari Technology Preview
  • Version: Release 105 (Safari 13.2, WebKit 15610.1.10)
Originally created by @axeII on GitHub (May 12, 2020). Original GitHub issue: https://github.com/hoppscotch/hoppscotch/issues/866 **Describe the bug** Unable to use postwoman with latest docker image from hub. Latest version after visiting site - keeps loading forever. Please see error log. **To Reproduce** Steps to reproduce the behavior: 1. Go to hub.docker.com 2. `docker pull liyasthomas/postwoman:latest` 3. Remove old container and start new one `docker run -d --rm -p 4000:3000 liyasthomas/postwoman:latest` 4. Keeps loading, console shows error ``` [Error] FirebaseError: [code=invalid-argument]: projectId must be a string in FirebaseApp.options e — 2dd25b44c8067b3563f3.js:2:49533 (anonymous function) — 2dd25b44c8067b3563f3.js:2:265403 t — 2dd25b44c8067b3563f3.js:2:261812 (anonymous function) — 2dd25b44c8067b3563f3.js:2:296596 (anonymous function) — 2dd25b44c8067b3563f3.js:2:24457 (anonymous function) — 2dd25b44c8067b3563f3.js:2:22861 [native code] (anonymous function) — 3e4e4c4821703484b334.js:1:382 n — 32c37f3c50b7a88b4843.js:1:582 (anonymous function) — 3e4e4c4821703484b334.js:1:27596 n — 32c37f3c50b7a88b4843.js:1:582 n promiseReactionJob promiseReactionJob ``` **Expected behaviour** Webpages would load normally with UI **Desktop (please complete the following information):** - OS: macOS - Browser: Safari Technology Preview - Version: Release 105 (Safari 13.2, WebKit 15610.1.10)
kerem 2026-03-16 14:24:05 +03:00
Author
Owner

@liyasthomas commented on GitHub (May 12, 2020):

Hi @axeII , thanks for reporting the issue. From #856 onwards, you'll need an .env file in root directory to get the Firebase functionalities working. An example .env.example file can be found in repo's root. Edit those env variable with your own keys and rename it to .env and restart the server.

This also allows users to create a more independent instance of Postwoman in their containers apart from the public version. The public (production deployment: https://postwoman.io) is kept intact with the previous Firebase account. To use the previous build, kindly visit the web app.

Let me know if you've any queries. Kindly close this issue if you were able to resolve the current behaviour with the mentioned fix.

<!-- gh-comment-id:627278612 --> @liyasthomas commented on GitHub (May 12, 2020): Hi @axeII , thanks for reporting the issue. From #856 onwards, you'll need an `.env` file in `root` directory to get the Firebase functionalities working. An example [`.env.example`](https://github.com/liyasthomas/postwoman/blob/master/.env.example) file can be found in repo's root. Edit those env variable with your own keys and rename it to `.env` and restart the server. This also allows users to create a more independent instance of Postwoman in their containers apart from the public version. The public (production deployment: https://postwoman.io) is kept intact with the previous Firebase account. To use the previous build, kindly visit the [web app](https://postwoman.io). Let me know if you've any queries. Kindly close this issue if you were able to resolve the current behaviour with the mentioned fix.
Author
Owner

@tfenster commented on GitHub (May 12, 2020):

@liyasthomas you write

From #856 onwards, you'll need an .env file in root directory to get the Firebase functionalities working.

Are the "Firebase functionalities" optional or mandatory? If they are optional, how can I turn them off and what would I miss?

<!-- gh-comment-id:627332728 --> @tfenster commented on GitHub (May 12, 2020): @liyasthomas you write > From #856 onwards, you'll need an `.env` file in `root` directory to get the Firebase functionalities working. Are the "Firebase functionalities" optional or mandatory? If they are optional, how can I turn them off and what would I miss?
Author
Owner

@liyasthomas commented on GitHub (May 12, 2020):

Firebase functionalities are completely optional. These includes sign-in with Google and GitHub, syncing History, Collections, Environments and Notes.

When not using these functionalities, all are synced in localstorage. Once the user sign-in, everything is synced again.

<!-- gh-comment-id:627344504 --> @liyasthomas commented on GitHub (May 12, 2020): Firebase functionalities are completely optional. These includes sign-in with Google and GitHub, syncing History, Collections, Environments and Notes. When not using these functionalities, all are synced in `localstorage`. Once the user sign-in, everything is synced again.
Author
Owner

@nikoheikkila commented on GitHub (May 12, 2020):

Just stumbled into this myself, thanks for pinning it. 😉

I find the .env requirement a bit problematic since often we want to pass environment variables when starting the container with -e flag for docker run (or define those in the docker-compose.yml file). Containerized applications should not require a particular file to be present on disk for environment variables.

<!-- gh-comment-id:627347811 --> @nikoheikkila commented on GitHub (May 12, 2020): Just stumbled into this myself, thanks for pinning it. 😉 I find the `.env` requirement a bit problematic since often we want to pass environment variables when starting the container with `-e` flag for `docker run` (or define those in the `docker-compose.yml` file). Containerized applications should not require a particular file to be present on disk for environment variables.
Author
Owner

@tfenster commented on GitHub (May 12, 2020):

@liyasthomas thanks for the feedback. As I can't start the Docker container while they are enabled, how can I switch them off?

<!-- gh-comment-id:627347911 --> @tfenster commented on GitHub (May 12, 2020): @liyasthomas thanks for the feedback. As I can't start the Docker container while they are enabled, how can I switch them off?
Author
Owner

@liyasthomas commented on GitHub (May 12, 2020):

I think dotenv integration is making a lowered traffic. I'm temporarily reverting 😄

I need to find some best practices integrating dotenv. sorry for the delay, new build will be up in a jiffy.

<!-- gh-comment-id:627349387 --> @liyasthomas commented on GitHub (May 12, 2020): I think `dotenv` integration is making a lowered traffic. I'm temporarily reverting 😄 I need to find some best practices integrating `dotenv`. sorry for the delay, new build will be up in a jiffy.
Author
Owner

@screencomuser commented on GitHub (May 12, 2020):

Hi,

I just stumbled on the same and I'm wondering how to disable the use of Firebase. Since it's optional, how do I disable it?

I tried en empty .env file, but the problem persists. If it's optional, shouldn't it Just Work(™) without one?

It would be helpful to adjust the docs on this :-)

<!-- gh-comment-id:627354099 --> @screencomuser commented on GitHub (May 12, 2020): Hi, I just stumbled on the same and I'm wondering how to disable the use of Firebase. Since it's optional, how do I disable it? I tried en empty .env file, but the problem persists. If it's optional, shouldn't it Just Work(™) without one? It would be helpful to adjust the docs on this :-)
Author
Owner

@liyasthomas commented on GitHub (May 12, 2020):

Okay guys. I've made a hotfix to solve evn issues. Please let me know pulling raw container works.

Now let's get back to decoupling Firebase functionalities.
Essential features are solely working with with the auth + sync features. Without Firebase, I afraid this isn't possible. Anyways I'm working on finding a way to turn off Firebase facilities.

env is kept and is optional. If you or your team wants to host a seperate custom version, update env with you keys. By default PW uses production envs.

<!-- gh-comment-id:627358455 --> @liyasthomas commented on GitHub (May 12, 2020): Okay guys. I've made a hotfix to solve evn issues. Please let me know pulling raw container works. Now let's get back to decoupling Firebase functionalities. Essential features are solely working with with the auth + sync features. Without Firebase, I afraid this isn't possible. Anyways I'm working on finding a way to turn off Firebase facilities. env is kept and is optional. If you or your team wants to host a seperate custom version, update env with you keys. By default PW uses production envs.
Author
Owner

@tfenster commented on GitHub (May 12, 2020):

yes, works again for me

<!-- gh-comment-id:627362681 --> @tfenster commented on GitHub (May 12, 2020): yes, works again for me
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/hoppscotch#295
No description provided.