KeeWeb is a versatile open-source password manager ideal for both online and offline storage. Fully compatible with KeePass, it is available as a web version and desktop app. KeeWeb facilitates seamless synchronization with popular cloud services like OneDrive, Google Drive, and Dropbox, ensuring your passwords are managed securely. Its robust feature set includes easy tag input, multi-file support, history tracking, theming options, keyboard shortcuts, an inline image viewer, and much more.
This guide will walk you through the installation process of KeeWeb on an Ubuntu 20.04 server.
Prerequisites
- An Ubuntu 20.04 server setup.
- Root password configured on your server.
Getting Started
Before proceeding with the installation, ensure that your system packages are up-to-date. Execute the following command to update the packages:
apt-get update -y
After updating the packages, install the necessary dependencies using this command:
apt-get install apt-transport-https git ca-certificates curl software-properties-common gnupg2 unzip -y
Install Docker
Docker is required for KeeWeb’s installation. First, add Docker’s official repository with the following command:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
Then, install Docker CE by executing:
apt-get install docker-ce -y
Verify your Docker installation with:
docker -v
Expected output:
Docker version 20.10.0, build 7287ab3
Install KeeWeb
Download the latest KeeWeb release using the following command:
git clone https://github.com/SvenC56/docker-keeweb.git
After copying, navigate to the directory and build the Docker image:
cd docker-keeweb docker build -t svenc56/keeweb .
The output of a successful build would appear as:
---> 98ab35023fd6 Step 6/8 : WORKDIR /opt/keeweb ---> Running in e5966f3a3cec Removing intermediate container e5966f3a3cec ---> e36bc8c356bc Step 7/8 : COPY --from=git /keeweb /usr/share/nginx/html ---> 7cde550d672f Step 8/8 : EXPOSE 80 ---> Running in b784c9df85d7 Removing intermediate container b784c9df85d7 ---> 11ddfdbf04f8 Successfully built 11ddfdbf04f8
Check the downloaded images with:
docker images
Output:
REPOSITORY TAG IMAGE ID CREATED SIZE svenc56/keeweb latest 11ddfdbf04f8 About a minute ago 30.5MB ... ... ... ... ...
To create and launch a container for KeeWeb, exposing it on port 80, run:
docker run -d -p 80:80 svenc56/keeweb
The following output confirms the container is running:
70c5b0b493759eca931dfdbe473fb090d8e66d4269b6f7b0b221568ace020721
Verify with:
docker ps
Expected output:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 70c5b0b49375 svenc56/keeweb "/docker-entrypoint.…" 24 seconds ago Up 22 seconds 0.0.0.0:80->80/tcp nostalgic_visvesvaraya
Access KeeWeb Dashboard
Open a web browser and go to http://your-server-ip to access the KeeWeb dashboard. You should see the following screen:
Add a new password file by clicking the + icon:
Select New at the bottom:
Enter your master password, name, backup key, and click Save to to download the password file, completing the setup:
For shortcut keys, click Shortcuts in the left pane:
To customize language, theme, and font, click Appearance:
Conclusion
Congratulations! You’ve successfully installed KeeWeb on your Ubuntu 20.04 server. You can now store passwords securely and synchronize them with your preferred cloud services.
Frequently Asked Questions (FAQ)
Q1: What makes KeeWeb different from KeePass?
A1: KeeWeb is compatible with KeePass but offers additional features such as a modern web interface, inline image viewer, and easier synchronization with cloud services.
Q2: Is KeeWeb secure?
A2: Yes, KeeWeb provides strong security for your password data, supporting encryption and secure synchronization options with third-party cloud services.
Q3: Can I use KeeWeb without Docker?
A3: While this tutorial covers KeeWeb installation via Docker, KeeWeb is also available as standalone web and desktop applications for various platforms.
Q4: How can I update KeeWeb?
A4: To update KeeWeb, pull the latest Docker image from the GitHub repository and rebuild your Docker container following the steps in this guide.