[GH-ISSUE #7007] videos/* ressources not loading when using alternate base dir #35541

Closed
opened 2026-07-13 20:22:03 -05:00 by GiteaMirror · 4 comments
Owner

Originally created by @igoltz on GitHub (Mar 24, 2026).
Original GitHub issue: https://github.com/dani-garcia/vaultwarden/issues/7007

Prerequisites

Vaultwarden Support String

Your environment (Generated via diagnostics page)

  • Vaultwarden version: v1.35.4
  • Web-vault version: v2026.1.1
  • OS/Arch: linux/x86_64
  • Running within a container: true (Base: Alpine)
  • Database type: SQLite
  • Database version: 3.51.2
  • Uses config.json: false
  • Uses a reverse proxy: true
  • IP Header check: true (X-Forwarded-For)
  • Internet access: true
  • Internet access via a proxy: false
  • DNS Check: true
  • TZ environment: Europe/Berlin
  • Browser/Server Time Check: true
  • Server/NTP Time Check: true
  • Domain Configuration Check: true
  • HTTPS Check: true
  • Websocket Check: true
  • HTTP Response Checks: true

Config & Details (Generated via diagnostics page)

Show Config & Details

Config:

{
  "_duo_akey": null,
  "_enable_duo": true,
  "_enable_email_2fa": true,
  "_enable_smtp": true,
  "_enable_yubico": true,
  "_icon_service_csp": "",
  "_icon_service_url": "",
  "_ip_header_enabled": true,
  "_max_note_size": 10000,
  "_smtp_img_src": "***:",
  "admin_ratelimit_max_burst": 3,
  "admin_ratelimit_seconds": 300,
  "admin_session_lifetime": 20,
  "admin_token": "***",
  "allowed_connect_src": "",
  "allowed_iframe_ancestors": "",
  "attachments_folder": "/data/attachments",
  "auth_request_purge_schedule": "30 * * * * *",
  "authenticator_disable_time_drift": false,
  "data_folder": "/data",
  "database_conn_init": "",
  "database_idle_timeout": 600,
  "database_max_conns": 10,
  "database_min_conns": 2,
  "database_timeout": 30,
  "database_url": "****************",
  "db_connection_retries": 15,
  "disable_2fa_remember": false,
  "disable_admin_token": false,
  "disable_icon_download": false,
  "dns_prefer_ipv6": false,
  "domain": "*****://*******************************",
  "domain_origin": "*****://************************",
  "domain_path": "*******",
  "domain_set": true,
  "duo_context_purge_schedule": "30 * * * * *",
  "duo_host": null,
  "duo_ikey": null,
  "duo_skey": null,
  "duo_use_iframe": false,
  "email_2fa_auto_fallback": false,
  "email_2fa_enforce_on_verified_invite": false,
  "email_attempts_limit": 3,
  "email_change_allowed": false,
  "email_expiration_time": 600,
  "email_token_size": 6,
  "emergency_access_allowed": true,
  "emergency_notification_reminder_schedule": "0 3 * * * *",
  "emergency_request_timeout_schedule": "0 7 * * * *",
  "enable_db_wal": true,
  "enable_websocket": true,
  "enforce_single_org_with_reset_pw_policy": false,
  "event_cleanup_schedule": "0 10 0 * * *",
  "events_days_retain": 90,
  "experimental_client_feature_flags": "",
  "extended_logging": true,
  "helo_name": null,
  "hibp_api_key": null,
  "http_request_block_non_global_ips": true,
  "http_request_block_regex": null,
  "icon_blacklist_non_global_ips": true,
  "icon_blacklist_regex": null,
  "icon_cache_folder": "/data/icon_cache",
  "icon_cache_negttl": 259200,
  "icon_cache_ttl": 2592000,
  "icon_download_timeout": 10,
  "icon_redirect_code": 302,
  "icon_service": "internal",
  "incomplete_2fa_schedule": "30 * * * * *",
  "incomplete_2fa_time_limit": 3,
  "increase_note_size_limit": false,
  "invitation_expiration_hours": 120,
  "invitation_org_name": "redactedxxxxx",
  "invitations_allowed": true,
  "ip_header": "X-Forwarded-For",
  "job_poll_interval_ms": 30000,
  "log_file": null,
  "log_level": "info",
  "log_timestamp_format": "%Y-%m-%d %H:%M:%S.%3f",
  "login_ratelimit_max_burst": 10,
  "login_ratelimit_seconds": 60,
  "org_attachment_limit": null,
  "org_creation_users": "",
  "org_events_enabled": false,
  "org_groups_enabled": true,
  "password_hints_allowed": true,
  "password_iterations": 600000,
  "purge_incomplete_sso_auth": "0 20 0 * * *",
  "push_enabled": false,
  "push_identity_uri": "https://identity.bitwarden.com",
  "push_installation_id": "***",
  "push_installation_key": "***",
  "push_relay_uri": "https://push.bitwarden.com",
  "reload_templates": false,
  "require_device_email": true,
  "rsa_key_filename": "/data/rsa_key",
  "send_purge_schedule": "0 5 * * * *",
  "sendmail_command": null,
  "sends_allowed": true,
  "sends_folder": "/data/sends",
  "show_password_hint": false,
  "signups_allowed": false,
  "signups_domains_whitelist": "*********",
  "signups_verify": true,
  "signups_verify_resend_limit": 6,
  "signups_verify_resend_time": 3600,
  "smtp_accept_invalid_certs": false,
  "smtp_accept_invalid_hostnames": false,
  "smtp_auth_mechanism": "Plain",
  "smtp_debug": false,
  "smtp_embed_images": true,
  "smtp_explicit_tls": null,
  "smtp_from": "*********************",
  "smtp_from_name": "********************************",
  "smtp_host": "************************",
  "smtp_password": null,
  "smtp_port": 25,
  "smtp_security": "starttls",
  "smtp_ssl": null,
  "smtp_timeout": 15,
  "smtp_username": null,
  "sso_allow_unknown_email_verification": true,
  "sso_audience_trusted": null,
  "sso_auth_only_not_session": false,
  "sso_authority": "*****://*******************************************************************",
  "sso_authorize_extra_params": "",
  "sso_callback_path": "*****://************************************************************",
  "sso_client_cache_expiration": 0,
  "sso_client_id": "************************************",
  "sso_client_secret": "***",
  "sso_debug_tokens": false,
  "sso_enabled": true,
  "sso_master_password_policy": null,
  "sso_only": true,
  "sso_pkce": true,
  "sso_scopes": "openid profile offline_access User.Read",
  "sso_signups_match_email": false,
  "templates_folder": "/data/templates",
  "tmp_folder": "/data/tmp",
  "trash_auto_delete_days": 90,
  "trash_purge_schedule": "0 5 0 * * *",
  "use_sendmail": false,
  "use_syslog": false,
  "user_attachment_limit": null,
  "user_send_limit": null,
  "web_vault_enabled": true,
  "web_vault_folder": "web-vault/",
  "yubico_client_id": null,
  "yubico_secret_key": null,
  "yubico_server": null
}

Vaultwarden Build Version

v1.35.4

Deployment method

Official Container Image

Custom deployment method

with Helm https://github.com/guerzon/vaultwarden

Reverse Proxy

haproxy

Host/Server Operating System

Linux

Operating System Version

Kubernetes

Clients

Web Vault

Client Version

No response

Steps To Reproduce

Deploy a Vaultwarden instance with "alternate base dir" as described here: https://github.com/dani-garcia/vaultwarden/wiki/Using-an-alternate-base-dir

  1. Go to URL of Vaultwarden instance
  2. Start your onboarding process
  3. You reach a page which invites you to download the browser extensions. In the page center are 3 empty boxes
    Via browsers developer toolbox you see
    Failed to load resource: the server responded with a status of 404 for
    videos/new-login-item.mp4
    videos/onboarding-autofill.mp4
    videos/browser-extension-easy-access.mp4

Here the embedding misses the configured alternate base directory

Expected Result

The last page in the onboarding, the one which invites to download the browser extensions, should take alternate base dir into account when referencing the embedded video files:
alternate_base_dir/videos/new-login-item.mp4
alternate_base_dir/videos/onboarding-autofill.mp4
alternate_base_dir/videos/browser-extension-easy-access.mp4

Actual Result

You reach a page which invites you to download the browser extensions. In the page center are 3 empty boxes
Via browsers developer toolbox you see
Failed to load resource: the server responded with a status of 404 for
videos/new-login-item.mp4
videos/onboarding-autofill.mp4
videos/browser-extension-easy-access.mp4

Here the embedding misses the configured alternate base directory

Logs


Screenshots or Videos

Image

Additional Context

No response

Originally created by @igoltz on GitHub (Mar 24, 2026). Original GitHub issue: https://github.com/dani-garcia/vaultwarden/issues/7007 ### Prerequisites - [x] I have searched the existing **Closed _AND_ Open** [Issues](https://github.com/dani-garcia/vaultwarden/issues?q=is%3Aissue%20) **_AND_** [Discussions](https://github.com/dani-garcia/vaultwarden/discussions?discussions_q=) - [x] I have searched and read the [documentation](https://github.com/dani-garcia/vaultwarden/wiki/) ### Vaultwarden Support String ### Your environment (Generated via diagnostics page) * Vaultwarden version: v1.35.4 * Web-vault version: v2026.1.1 * OS/Arch: linux/x86_64 * Running within a container: true (Base: Alpine) * Database type: SQLite * Database version: 3.51.2 * Uses config.json: false * Uses a reverse proxy: true * IP Header check: true (X-Forwarded-For) * Internet access: true * Internet access via a proxy: false * DNS Check: true * TZ environment: Europe/Berlin * Browser/Server Time Check: true * Server/NTP Time Check: true * Domain Configuration Check: true * HTTPS Check: true * Websocket Check: true * HTTP Response Checks: true ### Config & Details (Generated via diagnostics page) <details><summary>Show Config & Details</summary> **Config:** ```json { "_duo_akey": null, "_enable_duo": true, "_enable_email_2fa": true, "_enable_smtp": true, "_enable_yubico": true, "_icon_service_csp": "", "_icon_service_url": "", "_ip_header_enabled": true, "_max_note_size": 10000, "_smtp_img_src": "***:", "admin_ratelimit_max_burst": 3, "admin_ratelimit_seconds": 300, "admin_session_lifetime": 20, "admin_token": "***", "allowed_connect_src": "", "allowed_iframe_ancestors": "", "attachments_folder": "/data/attachments", "auth_request_purge_schedule": "30 * * * * *", "authenticator_disable_time_drift": false, "data_folder": "/data", "database_conn_init": "", "database_idle_timeout": 600, "database_max_conns": 10, "database_min_conns": 2, "database_timeout": 30, "database_url": "****************", "db_connection_retries": 15, "disable_2fa_remember": false, "disable_admin_token": false, "disable_icon_download": false, "dns_prefer_ipv6": false, "domain": "*****://*******************************", "domain_origin": "*****://************************", "domain_path": "*******", "domain_set": true, "duo_context_purge_schedule": "30 * * * * *", "duo_host": null, "duo_ikey": null, "duo_skey": null, "duo_use_iframe": false, "email_2fa_auto_fallback": false, "email_2fa_enforce_on_verified_invite": false, "email_attempts_limit": 3, "email_change_allowed": false, "email_expiration_time": 600, "email_token_size": 6, "emergency_access_allowed": true, "emergency_notification_reminder_schedule": "0 3 * * * *", "emergency_request_timeout_schedule": "0 7 * * * *", "enable_db_wal": true, "enable_websocket": true, "enforce_single_org_with_reset_pw_policy": false, "event_cleanup_schedule": "0 10 0 * * *", "events_days_retain": 90, "experimental_client_feature_flags": "", "extended_logging": true, "helo_name": null, "hibp_api_key": null, "http_request_block_non_global_ips": true, "http_request_block_regex": null, "icon_blacklist_non_global_ips": true, "icon_blacklist_regex": null, "icon_cache_folder": "/data/icon_cache", "icon_cache_negttl": 259200, "icon_cache_ttl": 2592000, "icon_download_timeout": 10, "icon_redirect_code": 302, "icon_service": "internal", "incomplete_2fa_schedule": "30 * * * * *", "incomplete_2fa_time_limit": 3, "increase_note_size_limit": false, "invitation_expiration_hours": 120, "invitation_org_name": "redactedxxxxx", "invitations_allowed": true, "ip_header": "X-Forwarded-For", "job_poll_interval_ms": 30000, "log_file": null, "log_level": "info", "log_timestamp_format": "%Y-%m-%d %H:%M:%S.%3f", "login_ratelimit_max_burst": 10, "login_ratelimit_seconds": 60, "org_attachment_limit": null, "org_creation_users": "", "org_events_enabled": false, "org_groups_enabled": true, "password_hints_allowed": true, "password_iterations": 600000, "purge_incomplete_sso_auth": "0 20 0 * * *", "push_enabled": false, "push_identity_uri": "https://identity.bitwarden.com", "push_installation_id": "***", "push_installation_key": "***", "push_relay_uri": "https://push.bitwarden.com", "reload_templates": false, "require_device_email": true, "rsa_key_filename": "/data/rsa_key", "send_purge_schedule": "0 5 * * * *", "sendmail_command": null, "sends_allowed": true, "sends_folder": "/data/sends", "show_password_hint": false, "signups_allowed": false, "signups_domains_whitelist": "*********", "signups_verify": true, "signups_verify_resend_limit": 6, "signups_verify_resend_time": 3600, "smtp_accept_invalid_certs": false, "smtp_accept_invalid_hostnames": false, "smtp_auth_mechanism": "Plain", "smtp_debug": false, "smtp_embed_images": true, "smtp_explicit_tls": null, "smtp_from": "*********************", "smtp_from_name": "********************************", "smtp_host": "************************", "smtp_password": null, "smtp_port": 25, "smtp_security": "starttls", "smtp_ssl": null, "smtp_timeout": 15, "smtp_username": null, "sso_allow_unknown_email_verification": true, "sso_audience_trusted": null, "sso_auth_only_not_session": false, "sso_authority": "*****://*******************************************************************", "sso_authorize_extra_params": "", "sso_callback_path": "*****://************************************************************", "sso_client_cache_expiration": 0, "sso_client_id": "************************************", "sso_client_secret": "***", "sso_debug_tokens": false, "sso_enabled": true, "sso_master_password_policy": null, "sso_only": true, "sso_pkce": true, "sso_scopes": "openid profile offline_access User.Read", "sso_signups_match_email": false, "templates_folder": "/data/templates", "tmp_folder": "/data/tmp", "trash_auto_delete_days": 90, "trash_purge_schedule": "0 5 0 * * *", "use_sendmail": false, "use_syslog": false, "user_attachment_limit": null, "user_send_limit": null, "web_vault_enabled": true, "web_vault_folder": "web-vault/", "yubico_client_id": null, "yubico_secret_key": null, "yubico_server": null } ``` </details> ### Vaultwarden Build Version v1.35.4 ### Deployment method Official Container Image ### Custom deployment method with Helm https://github.com/guerzon/vaultwarden ### Reverse Proxy haproxy ### Host/Server Operating System Linux ### Operating System Version Kubernetes ### Clients Web Vault ### Client Version _No response_ ### Steps To Reproduce Deploy a Vaultwarden instance with "alternate base dir" as described here: https://github.com/dani-garcia/vaultwarden/wiki/Using-an-alternate-base-dir 1. Go to URL of Vaultwarden instance 2. Start your onboarding process 3. You reach a page which invites you to download the browser extensions. In the page center are 3 empty boxes Via browsers developer toolbox you see Failed to load resource: the server responded with a status of 404 for videos/new-login-item.mp4 videos/onboarding-autofill.mp4 videos/browser-extension-easy-access.mp4 Here the embedding misses the configured alternate base directory ### Expected Result The last page in the onboarding, the one which invites to download the browser extensions, should take alternate base dir into account when referencing the embedded video files: alternate_base_dir/videos/new-login-item.mp4 alternate_base_dir/videos/onboarding-autofill.mp4 alternate_base_dir/videos/browser-extension-easy-access.mp4 ### Actual Result You reach a page which invites you to download the browser extensions. In the page center are 3 empty boxes Via browsers developer toolbox you see Failed to load resource: the server responded with a status of 404 for videos/new-login-item.mp4 videos/onboarding-autofill.mp4 videos/browser-extension-easy-access.mp4 Here the embedding misses the configured alternate base directory ### Logs ```text ``` ### Screenshots or Videos <img width="1664" height="684" alt="Image" src="https://github.com/user-attachments/assets/956e37df-74d8-410d-9225-ecb997e0a367" /> ### Additional Context _No response_
GiteaMirror added the bug label 2026-07-13 20:22:03 -05:00
Author
Owner

@stefan0xC commented on GitHub (Mar 24, 2026):

I think the issue is that the videos are not loaded from a relative path. Should be an easy fix (I'll add it to the next web-vault release).

<!-- gh-comment-id:4118608685 --> @stefan0xC commented on GitHub (Mar 24, 2026): I think the issue is that the [videos are not loaded from a relative path](https://github.com/bitwarden/clients/blob/daa6e7ba41d205c06979ce6aa515841c1be4eab8/apps/web/src/app/vault/components/setup-extension/add-extension-videos.component.html#L9-L10). Should be an easy fix (I'll add it to the next web-vault release).
Author
Owner

@jtollet commented on GitHub (Mar 26, 2026):

I am facing same issue

<!-- gh-comment-id:4138272391 --> @jtollet commented on GitHub (Mar 26, 2026): I am facing same issue
Author
Owner

@stefan0xC commented on GitHub (Apr 23, 2026):

I have addressed this with https://github.com/vaultwarden/vw_web_builds/commit/f1734434a081945645d0e832c030dcb055ab2757 so can you check the latest testing image (i.e. based on https://github.com/dani-garcia/vaultwarden/commit/7cf0c5d67eb81c8b4f2e86b5c8d030bb330faa28) if that fixes the issue?

<!-- gh-comment-id:4302071389 --> @stefan0xC commented on GitHub (Apr 23, 2026): I have addressed this with https://github.com/vaultwarden/vw_web_builds/commit/f1734434a081945645d0e832c030dcb055ab2757 so can you check the latest `testing` image (i.e. based on https://github.com/dani-garcia/vaultwarden/commit/7cf0c5d67eb81c8b4f2e86b5c8d030bb330faa28) if that fixes the issue?
Author
Owner

@BlackDex commented on GitHub (Apr 30, 2026):

Closing this are resolved. If not, please reopen and provide details.

<!-- gh-comment-id:4354066263 --> @BlackDex commented on GitHub (Apr 30, 2026): Closing this are resolved. If not, please reopen and provide details.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/vaultwarden#35541