SkillAgentSearch skills...

Lazywarden

Automatic Bitwarden Backup

Install / Use

/learn @querylab/Lazywarden
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<div align="center"> <a href="https://imgur.com/k4VWmn7"> <img src="https://i.imgur.com/k4VWmn7.png" title="source: imgur.com" width="350" /> </a> </div>

Secure, Automated, and Multi-Cloud Bitwarden Backup and Import System

Lazywarden is a Python automation tool designed to Backup and Restore data from your vault, including Bitwarden attachments. It allows you to upload backups to multiple cloud storage services and receive notifications across multiple platforms. It also offers AES encrypted backups and uses key derivation with Argon2, ensuring maximum security for your data.

<span style="display: flex; align-items: center;"><img src="https://raw.githubusercontent.com/querylab/svg/main/start.gif" width="50" style="vertical-align: middle; margin-right: 10px;"> Features</span>

  • 🔒 Maximum Security: Data protection with AES-256 encryption and Argon2 key derivation.
  • 🔄 Automated Backups and Imports: Keep your Bitwarden vault up to date and secure.
  • Integrity Verification: SHA-256 hash to ensure data integrity on every backup.
  • ☁️ Multi-Cloud Support: Store backups to services such as Dropbox, Google Drive, pCloud, MEGA, NextCloud, Seafile, Storj, Cloudflare R2, Backblaze B2, Filebase (IPFS) and via SMTP.
  • 🖥️ Local Storage: Save backups to a local path for greater control.
  • 🔔 Real-Time Alerts: Instant notifications on Discord, Telegram, Ntfy and Slack.
  • 🗓️ Schedule Management: Integration with CalDAV, Todoist and Vikunja to manage your schedule.
  • 🐳 Easy Deployment: Quick setup with Docker Compose.
  • 🤖 Full Automation and Custom Scheduling: Automatic backups with flexible scheduling options (daily, weekly, monthly, yearly). Integration with CalDAV, Todoist and Vikunja for complete tracking and email notifications.
  • 🔑 Bitwarden Export to KeePass: Export Bitwarden items to a KeePass database (kdbx), including TOTP-seeded logins, URI, custom fields, card, identity attachments and secure notes.

<span style="display: inline-flex; align-items: center;"><img src="https://media.tenor.com/-AyTtMgs2mMAAAAi/nyan-cat-nyan.gif" width="60" style="vertical-align: middle; margin-right: 10px;"> Platform Compatibility</span>

<div style="display: flex; justify-content: space-around;"> <a href="https://imgur.com/Xz2k5O8"><img src="https://i.imgur.com/Xz2k5O8.png" title="source: imgur.com" width="30"/></a> <a href="https://imgur.com/9oZa9uU"><img src="https://imgur.com/9oZa9uU.png" title="source: imgur.com" width="30"/></a> <a href="https://imgur.com/jWZzbvl"><img src="https://imgur.com/jWZzbvl.png" title="source: imgur.com" width="30"/></a> <a href="https://imgur.com/O0PZyxN"><img src="https://i.imgur.com/O0PZyxN.png" title="source: imgur.com" width="30"/></a> <a href="https://imgur.com/59ktW6q"><img src="https://imgur.com/59ktW6q.png" title="source: imgur.com" width="30"/></a> <a href="https://imgur.com/aa100eH"><img src="https://i.imgur.com/aa100eH.png" title="source: imgur.com" width="30"/></a> <a href="https://imgur.com/Grlq9aN"><img src="https://i.imgur.com/Grlq9aN.png" title="source: imgur.com" width="30"/></a> <a href="https://imgur.com/UYGpfR8"><img src="https://i.imgur.com/UYGpfR8.png" title="source: imgur.com" width="30"/></a> <a href="https://imgur.com/SVshyRn"><img src="https://imgur.com/SVshyRn.png" title="source: imgur.com" width="30"/></a> <a href="https://imgur.com/G37MsuK"><img src="https://i.imgur.com/G37MsuK.png" title="source: imgur.com" width="30"/></a> <a href="https://imgur.com/XpWPF0w"><img src="https://i.imgur.com/XpWPF0w.png" title="source: imgur.com" width="30"/></a> <a href="https://imgur.com/YMGE85n"><img src="https://i.imgur.com/YMGE85n.png" title="source: imgur.com" width="30"/></a> <a href="https://imgur.com/w9PULK5"><img src="https://i.imgur.com/w9PULK5.png" title="source: imgur.com" width="30"/></a> <a href="https://imgur.com/hjuaEcF"><img src="https://i.imgur.com/hjuaEcF.png" title="source: imgur.com" width="30"/></a> <a href="https://imgur.com/BhI5DBR"><img src="https://imgur.com/BhI5DBR.png" title="source: imgur.com" width="30"/></a> <a href="https://imgur.com/krgaizW"><img src="https://imgur.com/krgaizW.png" title="source: imgur.com" width="30"/></a> <a href="https://imgur.com/hRwMM9n"><img src="https://imgur.com/hRwMM9n.png" title="source: imgur.com" width="30"/></a> <a href="https://imgur.com/zdTnwat"><img src="https://imgur.com/zdTnwat.png" title="source: imgur.com" width="30"/></a> <a href="https://imgur.com/i1hBmAD"><img src="https://imgur.com/i1hBmAD.png" title="source: imgur.com" width="30"/></a> <a href="https://imgur.com/DTXNqTW"><img src="https://imgur.com/DTXNqTW.png" title="source: imgur.com" width="30"/></a>

<span style="display: inline-flex; align-items: center;"><img src="https://user-images.githubusercontent.com/74038190/212257472-08e52665-c503-4bd9-aa20-f5a4dae769b5.gif" width="36" style="vertical-align: middle; margin-right: 10px;"> Demo Backup</span>

<img src="https://raw.githubusercontent.com/querylab/svg/main/lazy-oficial.gif" /> <img src="https://raw.githubusercontent.com/querylab/svg/main/lazy-video.gif" />

<span style="display: inline-flex; align-items: center;"> <img src="https://raw.githubusercontent.com/querylab/svg/main/server2.gif" width="50" style="vertical-align: middle; margin-right: 10px;"> <img src="https://raw.githubusercontent.com/querylab/svg/main/process2.gif" width="50" style="vertical-align: middle; margin-right: 15px;"> System Requirements </span>

  • Operating System: Compatible with major Linux distributions

    • ✅ Ubuntu
    • ✅ Debian

<span style="display: inline-flex; align-items: center;"><img src="https://github.com/Anmol-Baranwal/Cool-GIFs-For-GitHub/assets/74038190/2c0eef4b-7b75-42bd-9722-4bea97a2d532" width="60" style="vertical-align: middle; margin-right: 15px;">Installation</span>

Clone the repository

   git clone https://github.com/querylab/lazywarden.git
   cd lazywarden

Configure Environment Variables & Bitwarden Secrets Manager

  • Create a .env file based on the on this .env.sample example file and fill in the necessary variables.
#---------------------------------------------------------------------------------------
# These are the 6 variables that are mandatory requirements for Bitwarden Secret Manager
BW_URL=f22bba66-e55d-1111-9a93-abf0dfad069e
BW_USERNAME=5eb0f2bb-1111-4e42-94f8-9333fda803cf
BW_PASSWORD=ba4dc990-1111-4d18-ae6b-0b899d513759
ENCRYPTION_PASSWORD=103c803c-1111-40d4-8578-8b3134c6e93e
ZIP_PASSWORD=2f9fb3a2-96a3-1111-990d-5d6399153e11
ZIP_ATTACHMENT_PASSWORD=b2abc553-1111-4b49-9172-1a94f9072715

#---------------------------------------------------------------------------------------

# TOTP Seed for Aegis,Authy,Ente,GoogleAuth (Optional)
BW_TOTP_SECRET=

# pCloud Credentials (Optional)
PCLOUD_USERNAME=
PCLOUD_PASSWORD=

# Mega Credentials (Optional)
MEGA_EMAIL=
MEGA_PASSWORD=

# Dropbox Credentials (Optional)
DROPBOX_ACCESS_TOKEN=
DROPBOX_REFRESH_TOKEN=
DROPBOX_APP_KEY=
DROPBOX_APP_SECRET=

# Todoist Credentials (Optional)
TODOIST_TOKEN=

# CalDAV Credentials (Optional)
CALDAV_URL=
CALDAV_USERNAME=
CALDAV_PASSWORD=

# Nextcloud Credentials (Optional)
NEXTCLOUD_URL=
NEXTCLOUD_USERNAME=
NEXTCLOUD_PASSWORD=

# Seafile Credentials (Optional)
SEAFILE_SERVER_URL=
SEAFILE_USERNAME=
SEAFILE_PASSWORD=

# Filebase Credentials (Optional)
FILEBASE_ACCESS_KEY=
FILEBASE_SECRET_KEY=

# KeePass Password (Optional)
KEEPASS_PASSWORD=

# Storj Credentials (Optional)
STORJ_ACCESS_KEY=
STORJ_SECRET_KEY=
STORJ_ENDPOINT=

# R2 Credentials (Optional)
R2_ACCESS_KEY_ID=
R2_SECRET_ACCESS_KEY=
R2_ENDPOINT_URL=

# Vikunja Credentials (Optional)
VIKUNJA_API_TOKEN=
VIKUNJA_URL=

# Backblaze B2 Credentials (Optional)
B2_APP_KEY_ID=
B2_APP_KEY=

# Google Drive Settings
GOOGLE_SERVICE_ACCOUNT_FILE=/root/lazywarden/config/bitwarden-drive-backup-google.json
GOOGLE_FOLDER_ID=

# Backup Settings
BACKUP_DIR=/root/lazywarden/backup-drive/
CRON_SCHEDULE="0 0 23 * *"
TIMEZONE=America/New_York
TIMESTAMP=2024_10_31_13_03_29

  
# API URLs for Bitwarden
API_URL=https://vault.bitwarden.com/api
IDENTITY_URL=https://vault.bitwarden.com/identity

# Organization ID
ORGANIZATION_ID=

# Access Token for Bitwarden Authentication
ACCESS_TOKEN=

# Notifications and Alerts (Optional)
TELEGRAM_TOKEN=
TELEGRAM_CHAT_ID=
DISCORD_WEBHOOK_URL=
SLACK_WEBHOOK_URL=
NTFY_URL=

# SMTP Configuration for Email Notifications (Optional)
SMTP_SERVER=mail.smtp2go.com
SMTP_PORT=8025
SMTP_USERNAME=
SMTP_PASSWORD=
EMAIL_RECIPIENT=
SENDER_EMAIL=

<img src="https://raw.githubusercontent.com/querylab/svg/main/ubuntu.gif" width="20" style="vertical-align: middle;"> Ubuntu Configuration

  • Run the script to install all system dependencies and requirements
cd lazywarden/scripts
chmod +x setup-ubuntu-env.sh
./setup-ubuntu-env.sh
  • Run this script to automatically install Docker & Docker-Compose:
chmod +x docker-ubuntu.sh
./docker-ubuntu.sh
  • First, ensure you are in the root directory of the project lazywarden/:
cd .. 
source venv/bin/activate
  • Now Install Bitwarden CLI using the bitwarden-cli-install.py script, which will install all CLI dependencies:
python3 scripts/bitwarden-cli-install.py
  • Change the system timezone using the following command. Replace Region/City with the desired timezone (e.g., America/New_York):
timedatectl set-timezone Region/City
  • For example, to set the timezone to America/New_York, you would run:
timedatectl set-timezone America/New_York
  • Run the Lazywarden program. Navigate to the app/ folder and execute main.py:
View on GitHub
GitHub Stars819
CategoryDevelopment
Updated4h ago
Forks21

Languages

Python

Security Score

100/100

Audited on Mar 31, 2026

No findings