bitwarden / self-host

Bitwarden's self-hosted release repository
GNU General Public License v3.0
331 stars 61 forks source link

/etc/nginx/http.d/bitwarden.conf missing in latest dev release #210

Closed RobTheBuilder2 closed 7 months ago

RobTheBuilder2 commented 7 months ago

After updating to the latest dev release docker image 2024.2.0, nginx fails to start. The logs are showing that it fails to find /etc/nginx/http.d/bitwarden.conf. I checked that location manually by exec into the docker container. That file in fact is missing. I had to roll back to 2024.1.2-beta to get my docker container up and running again. In the 2024.1.2-beta image, the /etc/nginx/http.d/bitwarden.conf file is there and nginx starts just fine.

jeremydelattre59 commented 7 months ago

Hello, I have the same problem. Image 2024.2.0-beta is unhealthy at starting. After rollback to 2024.1.2-beta, Bitwarden works again. I can see that application depends of .Net 8 for 2024.2.0-beta (2024.1.2-beta depends of .Net 6). But I can see a download of .Net 6. Is it normal ?

Thanks Jeremy

Dennis14e commented 7 months ago

Same problem, bitwarden/self-host:2024-2.0-beta doesn't start. Log:

bitwarden-bitwarden-1  | You must install or update .NET to run this application.
bitwarden-bitwarden-1  |
bitwarden-bitwarden-1  | App: /usr/local/bin/hbs
bitwarden-bitwarden-1  | Architecture: x64
bitwarden-bitwarden-1  | Framework: 'Microsoft.NETCore.App', version '6.0.0' (x64)
bitwarden-bitwarden-1  | .NET location: /usr/share/dotnet
bitwarden-bitwarden-1  |
bitwarden-bitwarden-1  | The following frameworks were found:
bitwarden-bitwarden-1  |   8.0.1 at [/usr/share/dotnet/shared/Microsoft.NETCore.App]
bitwarden-bitwarden-1  |
bitwarden-bitwarden-1  | Learn more:
bitwarden-bitwarden-1  | https://aka.ms/dotnet/app-launch-failed
bitwarden-bitwarden-1  |
bitwarden-bitwarden-1  | To install missing framework, download:
bitwarden-bitwarden-1  | https://aka.ms/dotnet-core-applaunch?framework=Microsoft.NETCore.App&framework_version=6.0.0&arch=x64&rid=linux-x64&os=debian.12
bitwarden-bitwarden-1  | 2024-02-09 20:06:43,164 INFO Included extra file "/etc/supervisor.d/admin.ini" during parsing
bitwarden-bitwarden-1  | 2024-02-09 20:06:43,164 INFO Included extra file "/etc/supervisor.d/api.ini" during parsing
bitwarden-bitwarden-1  | 2024-02-09 20:06:43,164 INFO Included extra file "/etc/supervisor.d/events.ini" during parsing
bitwarden-bitwarden-1  | 2024-02-09 20:06:43,164 INFO Included extra file "/etc/supervisor.d/icons.ini" during parsing
bitwarden-bitwarden-1  | 2024-02-09 20:06:43,164 INFO Included extra file "/etc/supervisor.d/identity.ini" during parsing
bitwarden-bitwarden-1  | 2024-02-09 20:06:43,164 INFO Included extra file "/etc/supervisor.d/nginx.ini" during parsing
bitwarden-bitwarden-1  | 2024-02-09 20:06:43,164 INFO Included extra file "/etc/supervisor.d/notifications.ini" during parsing
bitwarden-bitwarden-1  | 2024-02-09 20:06:43,164 INFO Included extra file "/etc/supervisor.d/scim.ini" during parsing
bitwarden-bitwarden-1  | 2024-02-09 20:06:43,164 INFO Included extra file "/etc/supervisor.d/sso.ini" during parsing
bitwarden-bitwarden-1  | 2024-02-09 20:06:43,167 INFO RPC interface 'supervisor' initialized
bitwarden-bitwarden-1  | 2024-02-09 20:06:43,167 CRIT Server 'unix_http_server' running without any HTTP authentication checking
bitwarden-bitwarden-1  | 2024-02-09 20:06:43,167 INFO supervisord started with pid 1
bitwarden-bitwarden-1  | 2024-02-09 20:06:44,169 INFO spawned: 'identity' with pid 55
bitwarden-bitwarden-1  | 2024-02-09 20:06:44,170 INFO spawned: 'admin' with pid 56
bitwarden-bitwarden-1  | 2024-02-09 20:06:44,172 INFO spawned: 'api' with pid 57
bitwarden-bitwarden-1  | 2024-02-09 20:06:44,173 INFO spawned: 'icons' with pid 58
bitwarden-bitwarden-1  | 2024-02-09 20:06:44,175 INFO spawned: 'nginx' with pid 59
bitwarden-bitwarden-1  | 2024-02-09 20:06:44,176 INFO spawned: 'notifications' with pid 60
bitwarden-bitwarden-1  | 2024-02-09 20:06:44,176 WARN exited: identity (exit status 150; not expected)
bitwarden-bitwarden-1  | 2024-02-09 20:06:44,177 WARN exited: admin (exit status 150; not expected)
bitwarden-bitwarden-1  | 2024-02-09 20:06:44,177 WARN exited: api (exit status 150; not expected)
bitwarden-bitwarden-1  | 2024-02-09 20:06:44,178 WARN exited: icons (exit status 150; not expected)
bitwarden-bitwarden-1  | 2024-02-09 20:06:44,180 WARN exited: notifications (exit status 150; not expected)
bitwarden-bitwarden-1  | 2024-02-09 20:06:44,183 WARN exited: nginx (exit status 1; not expected)
bitwarden-bitwarden-1  | 2024-02-09 20:06:45,185 INFO spawned: 'identity' with pid 61
bitwarden-bitwarden-1  | 2024-02-09 20:06:45,186 INFO spawned: 'admin' with pid 62
bitwarden-bitwarden-1  | 2024-02-09 20:06:45,187 INFO spawned: 'api' with pid 63
bitwarden-bitwarden-1  | 2024-02-09 20:06:45,188 INFO spawned: 'icons' with pid 64
bitwarden-bitwarden-1  | 2024-02-09 20:06:45,190 INFO spawned: 'nginx' with pid 65
bitwarden-bitwarden-1  | 2024-02-09 20:06:45,191 INFO spawned: 'notifications' with pid 66
bitwarden-bitwarden-1  | 2024-02-09 20:06:45,192 WARN exited: identity (exit status 150; not expected)
bitwarden-bitwarden-1  | 2024-02-09 20:06:45,192 WARN exited: admin (exit status 150; not expected)
bitwarden-bitwarden-1  | 2024-02-09 20:06:45,192 WARN exited: api (exit status 150; not expected)
bitwarden-bitwarden-1  | 2024-02-09 20:06:45,193 WARN exited: icons (exit status 150; not expected)
bitwarden-bitwarden-1  | 2024-02-09 20:06:45,196 WARN exited: notifications (exit status 150; not expected)
bitwarden-bitwarden-1  | 2024-02-09 20:06:45,197 WARN exited: nginx (exit status 1; not expected)
bitwarden-bitwarden-1  | 2024-02-09 20:06:47,200 INFO spawned: 'identity' with pid 67
bitwarden-bitwarden-1  | 2024-02-09 20:06:47,201 INFO spawned: 'admin' with pid 68
bitwarden-bitwarden-1  | 2024-02-09 20:06:47,202 INFO spawned: 'api' with pid 69
bitwarden-bitwarden-1  | 2024-02-09 20:06:47,204 INFO spawned: 'icons' with pid 70
bitwarden-bitwarden-1  | 2024-02-09 20:06:47,205 INFO spawned: 'nginx' with pid 71
bitwarden-bitwarden-1  | 2024-02-09 20:06:47,206 INFO spawned: 'notifications' with pid 72
bitwarden-bitwarden-1  | 2024-02-09 20:06:47,207 WARN exited: identity (exit status 150; not expected)
bitwarden-bitwarden-1  | 2024-02-09 20:06:47,207 WARN exited: admin (exit status 150; not expected)
bitwarden-bitwarden-1  | 2024-02-09 20:06:47,207 WARN exited: api (exit status 150; not expected)
bitwarden-bitwarden-1  | 2024-02-09 20:06:47,209 WARN exited: icons (exit status 150; not expected)
bitwarden-bitwarden-1  | 2024-02-09 20:06:47,211 WARN exited: notifications (exit status 150; not expected)
bitwarden-bitwarden-1  | 2024-02-09 20:06:47,213 WARN exited: nginx (exit status 1; not expected)
bitwarden-bitwarden-1  | 2024-02-09 20:06:50,217 INFO spawned: 'identity' with pid 73
bitwarden-bitwarden-1  | 2024-02-09 20:06:50,218 INFO spawned: 'admin' with pid 74
bitwarden-bitwarden-1  | 2024-02-09 20:06:50,220 INFO spawned: 'api' with pid 75
bitwarden-bitwarden-1  | 2024-02-09 20:06:50,221 INFO spawned: 'icons' with pid 76
bitwarden-bitwarden-1  | 2024-02-09 20:06:50,223 INFO spawned: 'nginx' with pid 77
bitwarden-bitwarden-1  | 2024-02-09 20:06:50,224 INFO spawned: 'notifications' with pid 78
bitwarden-bitwarden-1  | 2024-02-09 20:06:50,225 WARN exited: identity (exit status 150; not expected)
bitwarden-bitwarden-1  | 2024-02-09 20:06:50,225 WARN exited: admin (exit status 150; not expected)
bitwarden-bitwarden-1  | 2024-02-09 20:06:50,225 WARN exited: api (exit status 150; not expected)
bitwarden-bitwarden-1  | 2024-02-09 20:06:50,225 INFO gave up: identity entered FATAL state, too many start retries too quickly
bitwarden-bitwarden-1  | 2024-02-09 20:06:50,226 INFO gave up: admin entered FATAL state, too many start retries too quickly
bitwarden-bitwarden-1  | 2024-02-09 20:06:50,226 INFO gave up: api entered FATAL state, too many start retries too quickly
bitwarden-bitwarden-1  | 2024-02-09 20:06:50,226 WARN exited: icons (exit status 150; not expected)
bitwarden-bitwarden-1  | 2024-02-09 20:06:50,226 INFO gave up: icons entered FATAL state, too many start retries too quickly
bitwarden-bitwarden-1  | 2024-02-09 20:06:50,229 WARN exited: notifications (exit status 150; not expected)
bitwarden-bitwarden-1  | 2024-02-09 20:06:50,230 INFO gave up: notifications entered FATAL state, too many start retries too quickly
bitwarden-bitwarden-1  | 2024-02-09 20:06:50,230 WARN exited: nginx (exit status 1; not expected)
bitwarden-bitwarden-1  | 2024-02-09 20:06:51,231 INFO gave up: nginx entered FATAL state, too many start retries too quickly
sammbw commented 7 months ago

Hi there,

I am unable to reproduce this issue, it has been escalated for further investigation. If you have more information that can help us, please add it below.

Thanks!

seanob86 commented 7 months ago

Has also been reported here https://github.com/bitwarden/server/issues/3755

bigwookie commented 7 months ago

I can replicate with anything after 2024.1.2-beta even a fresh install.

RobTheBuilder2 commented 7 months ago

There seems to be a mixing up of two separate issues. My original problem has nothing to do with .NET. My original problem shows only nginx has issues starting up because there is no /etc/nginx/http.d/bitwarden.conf pre-loaded in the docker image. All of my other services start just fine and I do not see any .NET warnings in my logs. My specific issue as mentioned in my first post is very straight forward. I can provide more logs if necessary, but they will just show nginx complaining that /etc/nginx/http.d/bitwarden.conf is missing. I verified in the latest docker image it is missing. When I roll back to an older image, the file is there and I have no issues.

shofutex commented 7 months ago

It looks like bitwarden uses Handlebars to create the nginx config file in the unified docker image (stated here: https://github.com/bitwarden/Handlebars.conf/). The docker image downloads hbs.zip from the handlebars release page, https://github.com/bitwarden/Handlebars.conf/releases, which hasn't been updated since November 2022 and still requires .NET 6. Having .NET 8 on the docker image precludes HBS from running, which prevents creation of the nginx config files.

RobTheBuilder2 commented 7 months ago

It looks like bitwarden uses Handlebars to create the nginx config file in the unified docker image (stated here: https://github.com/bitwarden/Handlebars.conf/). The docker image downloads hbs.zip from the handlebars release page, https://github.com/bitwarden/Handlebars.conf/releases, which hasn't been updated since November 2022 and still requires .NET 6. Having .NET 8 on the docker image precludes HBS from running, which prevents creation of the nginx config files.

Nice find! So they are both related. Thanks for that info!

djsmith85 commented 7 months ago

Closing this as duplicate of https://github.com/bitwarden/server/issues/3755 and as the HandleBars.conf has been updated (kudos to @shofutex for finding that) a duplicate of https://github.com/bitwarden/server/issues/3820.