YunoHost-Apps / vaultwarden_ynh

Open source password management solutions for YunoHost
https://bitwarden.com/
GNU General Public License v3.0
58 stars 18 forks source link

Latest update fails #164

Closed linuxissuper closed 2 years ago

linuxissuper commented 2 years ago

Ok, the update works but the application cannot start anymore 😅

sudo yunohost tools upgrade apps                                                                                                                                                                                                                                                                              
Info: Now upgrading vaultwarden...                                                                                                                                                                                                                                                                                             
Info: [+...................] > Loading installation settings...                                                                                                                                                                                                                                                                
Info: [#+..................] > Checking version...                                                                                                                                                                                                                                                                             
Info: [##+.................] > Backing up the app before upgrading (may take a while)...                                                                                                                                                                                                                                       
Info: [###+................] > Stopping a systemd service...                                                                                                                                                                                                                                                                   
Info: The service vaultwarden has correctly executed the action stop.                                                                                                                                                                                                                                                          
Info: [####+...............] > Ensuring downward compatibility...                                                                                                                                                                                                                                                              
Info: [#####+..............] > Making sure dedicated system user exists...                                                                                                                                                                                                                                                     
Info: [######+.............] > Upgrading NGINX web server configuration...                                                                                                                                                                                                                                                     
Info: [#######+............] > Upgrading dependencies...                                                                                                                                                                                                                                                                       
Info: [########+...........] > Making upgrade...                                                                                                                                                                                                                                                                               
Info: [#########+..........] > Updating a configuration file...                                                                                                                                                                                                                                                                
Info: [##########+.........] > Upgrading systemd configuration...                                                                                                                                                                                                                                                              
Info: [###########+........] > Integrating service in YunoHost...                                                                                                                                                                                                                                                              
Info: [############+.......] > Starting a systemd service...                                                                                                                                                                                                                                                                   
Warning: (this may take some time)                                                                                                                                                                                                                                                                                             
Warning: The service vaultwarden didn't fully executed the action start before the timeout.                                                                                                                                                                                                                                    
Warning: Please find here an extract of the end of the log of the service vaultwarden:                                                                                                                                                                                                                                         
Warning: Jan 22 04:48:09 vaultwarden[25101]: Error: Error downloading icon: Empty response or unable find a valid icon. connect.ubisoft.com                                                                                                                                                                                    
Warning: Jan 22 04:48:31 systemd[1]: Stopping vaultwarden Server (Rust Edition)...                                                                                                                                                                                                                                             
Warning: Jan 22 04:48:31 systemd[1]: vaultwarden.service: Main process exited, code=killed, status=15/TERM                                                                                                                                                                                                                     
Warning: Jan 22 04:48:31 systemd[1]: vaultwarden.service: Succeeded.                                                                                                                                                                                                                                                           
Warning: Jan 22 04:48:31 systemd[1]: Stopped vaultwarden Server (Rust Edition).                                                                                                                                                                                                                                                
Warning: Jan 22 04:48:44 systemd[1]: Started vaultwarden Server (Rust Edition).                                                                                                                                                                                                                                                
Warning: Jan 22 04:48:44 vaultwarden[23513]: /--------------------------------------------------------------------\                                                                                                                                                                                                            
Warning: Jan 22 04:48:44 vaultwarden[23513]: |                        Starting Vaultwarden                        |                                                                                                                                                                                                            
Warning: Jan 22 04:48:44 vaultwarden[23513]: |--------------------------------------------------------------------|                                                                                                                                                                                                            
Warning: Jan 22 04:48:44 vaultwarden[23513]: | This is an *unofficial* Bitwarden implementation, DO NOT use the   |                                                                                                                                                                                                            
Warning: Jan 22 04:48:44 vaultwarden[23513]: | official channels to report bugs/features, regardless of client.   |                                                                                                                                                                                                            
Warning: Jan 22 04:48:44 vaultwarden[23513]: | Send usage/configuration questions or feature requests to:         |                                                                                                                                                                                                            
Warning: Jan 22 04:48:44 vaultwarden[23513]: |   https://vaultwarden.discourse.group/                             |                                                                                                                                                                                                            
Warning: Jan 22 04:48:44 vaultwarden[23513]: | Report suspected bugs/issues in the software itself at:            |                                                                                                                                                                                                            
Warning: Jan 22 04:48:44 vaultwarden[23513]: |   https://github.com/dani-garcia/vaultwarden/issues/new            |                                                                                                                                                                                                            
Warning: Jan 22 04:48:44 vaultwarden[23513]: \--------------------------------------------------------------------/                                                                                                                                                                                                            
Warning: Jan 22 04:48:44 vaultwarden[23513]: [INFO] No .env file found.                                                                                                                                                                                                                                                        
Warning: Jan 22 04:48:44 systemd[1]: vaultwarden.service: Main process exited, code=exited, status=1/FAILURE                                                                                                                                                                                                                   
Warning: Jan 22 04:48:44 systemd[1]: vaultwarden.service: Failed with result 'exit-code'.                                                                                                                                                                                                                                      
Info: [#############+......] > Reconfiguring Fail2Ban...                                                                                                                                                                                                                                                                       
Info: The service fail2ban has correctly executed the action reload-or-restart.                                                                                                                                                                                                                                                
Info: [##############+.....] > Reloading NGINX web server...                                                                                                                                                                                                                                                                   
Info: [###############+....] > Upgrade of vaultwarden completed                                                                                                                                                                                                                                                                
Success! vaultwarden upgraded                                                                                                                                                                                                                                                                                                  
Success! Upgrade complete  
systemctl status vaultwarden.service 
● vaultwarden.service - vaultwarden Server (Rust Edition)
   Loaded: loaded (/etc/systemd/system/vaultwarden.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Sat 2022-01-22 06:31:13 CET; 4min 7s ago
     Docs: https://github.com/dani-garcia/vaultwarden
  Process: 13179 ExecStart=/var/www/vaultwarden/live/vaultwarden (code=exited, status=1/FAILURE)
 Main PID: 13179 (code=exited, status=1/FAILURE)
akitakedits commented 2 years ago

Same issue here, highly bothersome and hope a new update will come out soon. In the meantime I've restored the pre-install backup.

eeeple commented 2 years ago

Same problem. Rolled back to the previous version.
The systemd service complained about a missing .env file Jan 22 14:19:45 myserver vaultwarden[24441]: [INFO] No .env file found.

Tagadda commented 2 years ago

The systemd service complained about a missing .env file Jan 22 14:19:45 myserver vaultwarden[24441]: [INFO] No .env file found.

This already happens in 1.23~ynh1 and it's working without issue

yalh76 commented 2 years ago

Can you check the content of /etc/systemd/system/vaultwarden.service there is a line starting with EnvironmentFile= giving the path to the .env file. This should be something like: /var/www/vaultwarden/live/vaultwarden.env

Can you check if the file is at that location

oufmilo commented 2 years ago

Can you check if the file is at that location

I've check and the file is at that location.

kriom commented 2 years ago

Can you check if the file is at that location

I confirme:

the file is at that location.

admin@yuno:~$ sudo cat /etc/systemd/system/vaultwarden.service | grep EnvironmentFile
EnvironmentFile=/var/www/vaultwarden/live/vaultwarden.env

admin@yuno:~$ sudo ls -lh /var/www/vaultwarden/live/vaultwarden.env
-r-------- 1 vaultwarden vaultwarden 13K Jan 22 21:08 /var/www/vaultwarden/live/vaultwarden.env
kriom commented 2 years ago

I tried this:

root@yuno:/var/www/vaultwarden/live# cp -a vaultwarden.env .env

root@yuno:/var/www/vaultwarden/live#  sudo service vaultwarden start

but it does not work better :

root@yuno:/var/www/vaultwarden/live# tail -10 /var/log/daemon.log

Jan 22 22:16:30 yuno vaultwarden[23469]: |                        Starting Vaultwarden                        |
Jan 22 22:16:30 yuno vaultwarden[23469]: |--------------------------------------------------------------------|
Jan 22 22:16:30 yuno vaultwarden[23469]: | This is an *unofficial* Bitwarden implementation, DO NOT use the   |
Jan 22 22:16:30 yuno vaultwarden[23469]: | official channels to report bugs/features, regardless of client.   |
Jan 22 22:16:30 yuno vaultwarden[23469]: | Send usage/configuration questions or feature requests to:         |
Jan 22 22:16:30 yuno vaultwarden[23469]: |   https://vaultwarden.discourse.group/                             |
Jan 22 22:16:30 yuno vaultwarden[23469]: | Report suspected bugs/issues in the software itself at:            |
Jan 22 22:16:30 yuno vaultwarden[23469]: |   https://github.com/dani-garcia/vaultwarden/issues/new            |
Jan 22 22:16:30 yuno vaultwarden[23469]: \--------------------------------------------------------------------/
Jan 22 22:16:30 yuno systemd[1]: vaultwarden.service: Main process exited, code=exited, status=1/FAILURE

I don't have the message:

Jan 22 22:16:49 yuno vaultwarden[23498]: [INFO] No .env file found.

But I don't have a usable log to understand what is happening.

yalh76 commented 2 years ago

Can you provide the content of the /var/www/vaultwarden/live/vaultwarden.env to see if there is something wrong in it

4abhinavjain commented 2 years ago

For me, the update went through yesterday but the webapp is now giving 502 error. However, the chrome extension continues to work.

linuxissuper commented 2 years ago

/var/www/vaultwarden/live/vaultwarden.env

## vaultwarden Configuration File
## Uncomment any of the following lines to change the defaults
##
## Be aware that most of these settings will be overridden if they were changed
## in the admin interface. Those overrides are stored within DATA_FOLDER/config.json .

## Main data folder
DATA_FOLDER=/home/yunohost.app/vaultwarden

## Database URL
## When using SQLite, this is the path to the DB file, default to %DATA_FOLDER%/db.sqlite3
# DATABASE_URL=data/db.sqlite3
## When using MySQL, specify an appropriate connection URI.
## Details: https://docs.diesel.rs/diesel/mysql/struct.MysqlConnection.html
# DATABASE_URL=mysql://user:password@host[:port]/database_name
## When using PostgreSQL, specify an appropriate connection URI (recommended)
## or keyword/value connection string.
## Details:
## - https://docs.diesel.rs/diesel/pg/struct.PgConnection.html
## - https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNSTRING
# DATABASE_URL=postgresql://user:password@host[:port]/database_name

## Database max connections
## Define the size of the connection pool used for connecting to the database.
# DATABASE_MAX_CONNS=10

## Individual folders, these override %DATA_FOLDER%
# RSA_KEY_FILENAME=data/rsa_key
# ICON_CACHE_FOLDER=data/icon_cache
# ATTACHMENTS_FOLDER=data/attachments
# SENDS_FOLDER=data/sends

## Templates data folder, by default uses embedded templates
## Check source code to see the format
# TEMPLATES_FOLDER=/path/to/templates
## Automatically reload the templates for every request, slow, use only for development
# RELOAD_TEMPLATES=false

## Client IP Header, used to identify the IP of the client, defaults to "X-Client-IP"
## Set to the string "none" (without quotes), to disable any headers and just use the remote IP
# IP_HEADER=X-Client-IP

## Cache time-to-live for successfully obtained icons, in seconds (0 is "forever")
# ICON_CACHE_TTL=2592000
## Cache time-to-live for icons which weren't available, in seconds (0 is "forever")
# ICON_CACHE_NEGTTL=259200

## Web vault settings
WEB_VAULT_FOLDER=web-vault/
WEB_VAULT_ENABLED=true

## Enables websocket notifications
WEBSOCKET_ENABLED=true

## Controls the WebSocket server address and port
WEBSOCKET_ADDRESS=127.0.0.1
WEBSOCKET_PORT=3012

## Enable extended logging, which shows timestamps and targets in the logs
# EXTENDED_LOGGING=true

## Timestamp format used in extended logging.
## Format specifiers: https://docs.rs/chrono/latest/chrono/format/strftime
# LOG_TIMESTAMP_FORMAT="%Y-%m-%d %H:%M:%S.%3f"

## Logging to file
## It's recommended to also set 'ROCKET_CLI_COLORS=off'
LOG_FILE=/var/log/vaultwarden/vaultwarden.log

## Logging to Syslog
## This requires extended logging
## It's recommended to also set 'ROCKET_CLI_COLORS=off'
# USE_SYSLOG=false

## Log level
## Change the verbosity of the log output
## Valid values are "trace", "debug", "info", "warn", "error" and "off"
## Setting it to "trace" or "debug" would also show logs for mounted
## routes and static file, websocket and alive requests
# LOG_LEVEL=Info

## Enable WAL for the DB
## Set to false to avoid enabling WAL during startup.
## Note that if the DB already has WAL enabled, you will also need to disable WAL in the DB,
## this setting only prevents vaultwarden from automatically enabling it on start.
## Please read project wiki page about this setting first before changing the value as it can
## cause performance degradation or might render  the service unable to start.
# ENABLE_DB_WAL=true

## Database connection retries
## Number of times to retry the database connection during startup, with 1 second delay between each retry, set to 0 to retry indefinitely
# DB_CONNECTION_RETRIES=15

## Disable icon downloading
## Set to true to disable icon downloading, this would still serve icons from $ICON_CACHE_FOLDER,
## but it won't produce any external network request. Needs to set $ICON_CACHE_TTL to 0,
## otherwise it will delete them and they won't be downloaded again.
# DISABLE_ICON_DOWNLOAD=false

## Icon download timeout
## Configure the timeout value when downloading the favicons.
## The default is 10 seconds, but this could be to low on slower network connections
# ICON_DOWNLOAD_TIMEOUT=10

## Icon blacklist Regex
## Any domains or IPs that match this regex won't be fetched by the icon service.
## Useful to hide other servers in the local network. Check the WIKI for more details
## NOTE: Always enclose this regex withing single quotes!
# ICON_BLACKLIST_REGEX='^(192\.168\.0\.[0-9]+|192\.168\.1\.[0-9]+)$'

## Any IP which is not defined as a global IP will be blacklisted.
## Useful to secure your internal environment: See https://en.wikipedia.org/wiki/Reserved_IP_addresses for a list of IPs which it will block
# ICON_BLACKLIST_NON_GLOBAL_IPS=true

## Disable 2FA remember
## Enabling this would force the users to use a second factor to login every time.
## Note that the checkbox would still be present, but ignored.
# DISABLE_2FA_REMEMBER=false

## Maximum attempts before an email token is reset and a new email will need to be sent.
# EMAIL_ATTEMPTS_LIMIT=3

## Token expiration time
## Maximum time in seconds a token is valid. The time the user has to open email client and copy token.
# EMAIL_EXPIRATION_TIME=600

## Email token size
## Number of digits in an email token (min: 6, max: 19).
## Note that the vaultwarden clients are hardcoded to mention 6 digit codes regardless of this setting!
# EMAIL_TOKEN_SIZE=6

## Controls if new users can register
SIGNUPS_ALLOWED=false

## Controls if new users need to verify their email address upon registration
## Note that setting this option to true prevents logins until the email address has been verified!
## The welcome email will include a verification link, and login attempts will periodically
## trigger another verification email to be sent.
# SIGNUPS_VERIFY=false

## If SIGNUPS_VERIFY is set to true, this limits how many seconds after the last time
## an email verification link has been sent another verification email will be sent
# SIGNUPS_VERIFY_RESEND_TIME=3600

## If SIGNUPS_VERIFY is set to true, this limits how many times an email verification
## email will be re-sent upon an attempted login.
# SIGNUPS_VERIFY_RESEND_LIMIT=6

## Controls if new users from a list of comma-separated domains can register
## even if SIGNUPS_ALLOWED is set to false
# SIGNUPS_DOMAINS_WHITELIST=example.com,example.net,example.org

## Controls which users can create new orgs.
## Blank or 'all' means all users can create orgs (this is the default):
# ORG_CREATION_USERS=
## 'none' means no users can create orgs:
# ORG_CREATION_USERS=none
## A comma-separated list means only those users can create orgs:
# ORG_CREATION_USERS=admin1@example.com,admin2@example.com

## Token for the admin interface, preferably use a long random string
## One option is to use 'openssl rand -base64 48'
## If not set, the admin panel is disabled
ADMIN_TOKEN=removedforpaste

## Enable this to bypass the admin panel security. This option is only
## meant to be used with the use of a separate auth layer in front
# DISABLE_ADMIN_TOKEN=false

## Invitations org admins to invite users, even when signups are disabled
# INVITATIONS_ALLOWED=true
## Name shown in the invitation emails that don't come from a specific organization
# INVITATION_ORG_NAME=vaultwarden

## Per-organization attachment limit (KB)
## Limit in kilobytes for an organization attachments, once the limit is exceeded it won't be possible to upload more
# ORG_ATTACHMENT_LIMIT=
## Per-user attachment limit (KB).
## Limit in kilobytes for a users attachments, once the limit is exceeded it won't be possible to upload more
# USER_ATTACHMENT_LIMIT=

## Controls the PBBKDF password iterations to apply on the server
## The change only applies when the password is changed
# PASSWORD_ITERATIONS=100000

## Whether password hint should be sent into the error response when the client request it
# SHOW_PASSWORD_HINT=true

## Domain settings
## The domain must match the address from where you access the server
## It's recommended to configure this value, otherwise certain functionality might not work,
## like attachment downloads, email links and U2F.
## For U2F to work, the server must use HTTPS, you can use Let's Encrypt for free certs
DOMAIN=removedforpaste

## Allowed iframe ancestors (Know the risks!)
## https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/frame-ancestors
## Allows other domains to embed the web vault into an iframe, useful for embedding into secure intranets
## This adds the configured value to the 'Content-Security-Policy' headers 'frame-ancestors' value.
## Multiple values must be separated with a whitespace.
# ALLOWED_IFRAME_ANCESTORS=

## Yubico (Yubikey) Settings
## Set your Client ID and Secret Key for Yubikey OTP
## You can generate it here: https://upgrade.yubico.com/getapikey/
## You can optionally specify a custom OTP server
# YUBICO_CLIENT_ID=11111
# YUBICO_SECRET_KEY=AAAAAAAAAAAAAAAAAAAAAAAA
# YUBICO_SERVER=http://yourdomain.com/wsapi/2.0/verify

## Duo Settings
## You need to configure all options to enable global Duo support, otherwise users would need to configure it themselves
## Create an account and protect an application as mentioned in this link (only the first step, not the rest):
## https://help.bitwarden.com/article/setup-two-step-login-duo/#create-a-duo-security-account
## Then set the following options, based on the values obtained from the last step:
# DUO_IKEY=<Integration Key>
# DUO_SKEY=<Secret Key>
# DUO_HOST=<API Hostname>
## After that, you should be able to follow the rest of the guide linked above,
## ignoring the fields that ask for the values that you already configured beforehand.

## Authenticator Settings
## Disable authenticator time drifted codes to be valid.
## TOTP codes of the previous and next 30 seconds will be invalid
##
## According to the RFC6238 (https://tools.ietf.org/html/rfc6238),
## we allow by default the TOTP code which was valid one step back and one in the future.
## This can however allow attackers to be a bit more lucky with there attempts because there are 3 valid codes.
## You can disable this, so that only the current TOTP Code is allowed.
## Keep in mind that when a sever drifts out of time, valid codes could be marked as invalid.
## In any case, if a code has been used it can not be used again, also codes which predates it will be invalid.
# AUTHENTICATOR_DISABLE_TIME_DRIFT = false

## Rocket specific settings, check Rocket documentation to learn more
# ROCKET_ENV=staging
ROCKET_ADDRESS=127.0.0.1
ROCKET_PORT=8095
# ROCKET_TLS={certs="/path/to/certs.pem",key="/path/to/key.pem"}
# Workaround for YunoHost CI
ROCKET_WORKERS=1

## Mail specific settings, set SMTP_HOST and SMTP_FROM to enable the mail service.
## To make sure the email links are pointing to the correct host, set the DOMAIN variable.
## Note: if SMTP_USERNAME is specified, SMTP_PASSWORD is mandatory
SMTP_HOST=127.0.0.1
SMTP_FROM=removedforpaste
SMTP_FROM_NAME=vaultwarden
SMTP_PORT=25
SMTP_SSL=false
# SMTP_EXPLICIT_TLS=true # N.B. This variable configures Implicit TLS. It's currently mislabelled (see bug #851)
# SMTP_USERNAME=username
# SMTP_PASSWORD=password
# SMTP_AUTH_MECHANISM="Plain"
# SMTP_TIMEOUT=15

## Defaults for SSL is "Plain" and "Login" and nothing for Non-SSL connections.
## Possible values: ["Plain", "Login", "Xoauth2"].
## Multiple options need to be separated by a comma ','.
# SMTP_AUTH_MECHANISM="Plain"

## Server name sent during the SMTP HELO
## By default this value should be is on the machine's hostname,
## but might need to be changed in case it trips some anti-spam filters
# HELO_NAME=

## SMTP debugging
## When set to true this will output very detailed SMTP messages.
## WARNING: This could contain sensitive information like passwords and usernames! Only enable this during troubleshooting!
# SMTP_DEBUG=false

## Accept Invalid Hostnames
## DANGEROUS: This option introduces significant vulnerabilities to man-in-the-middle attacks!
## Only use this as a last resort if you are not able to use a valid certificate.
# SMTP_ACCEPT_INVALID_HOSTNAMES=false

## Accept Invalid Certificates
## DANGEROUS: This option introduces significant vulnerabilities to man-in-the-middle attacks!
## Only use this as a last resort if you are not able to use a valid certificate.
## If the Certificate is valid but the hostname doesn't match, please use SMTP_ACCEPT_INVALID_HOSTNAMES instead.
# SMTP_ACCEPT_INVALID_CERTS=false

## Require new device emails. When a user logs in an email is required to be sent.
## If sending the email fails the login attempt will fail!!
# REQUIRE_DEVICE_EMAIL=false

## HIBP Api Key
## HaveIBeenPwned API Key, request it here: https://haveibeenpwned.com/API/Key
# HIBP_API_KEY=

# vim: syntax=ini
oufmilo commented 2 years ago

same here !

eupheng commented 2 years ago

I tried this:

root@yuno:/var/www/vaultwarden/live# cp -a vaultwarden.env .env

root@yuno:/var/www/vaultwarden/live#  sudo service vaultwarden start

but it does not work better :

root@yuno:/var/www/vaultwarden/live# tail -10 /var/log/daemon.log

Jan 22 22:16:30 yuno vaultwarden[23469]: |                        Starting Vaultwarden                        |
Jan 22 22:16:30 yuno vaultwarden[23469]: |--------------------------------------------------------------------|
Jan 22 22:16:30 yuno vaultwarden[23469]: | This is an *unofficial* Bitwarden implementation, DO NOT use the   |
Jan 22 22:16:30 yuno vaultwarden[23469]: | official channels to report bugs/features, regardless of client.   |
Jan 22 22:16:30 yuno vaultwarden[23469]: | Send usage/configuration questions or feature requests to:         |
Jan 22 22:16:30 yuno vaultwarden[23469]: |   https://vaultwarden.discourse.group/                             |
Jan 22 22:16:30 yuno vaultwarden[23469]: | Report suspected bugs/issues in the software itself at:            |
Jan 22 22:16:30 yuno vaultwarden[23469]: |   https://github.com/dani-garcia/vaultwarden/issues/new            |
Jan 22 22:16:30 yuno vaultwarden[23469]: \--------------------------------------------------------------------/
Jan 22 22:16:30 yuno systemd[1]: vaultwarden.service: Main process exited, code=exited, status=1/FAILURE

I don't have the message:

Jan 22 22:16:49 yuno vaultwarden[23498]: [INFO] No .env file found.

But I don't have a usable log to understand what is happening.

This worked for me. Thanks!

jerometerrier commented 2 years ago

Upgrade done. Working now. Thank you for your work!