Installing KeeWeb Password Manager on Ubuntu 20.04

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:

KeeWeb Dashboard

Add a new password file by clicking the + icon:

Password list

Select New at the bottom:

Master password

Enter your master password, name, backup key, and click Save to to download the password file, completing the setup:

Download password file

Sync

For shortcut keys, click Shortcuts in the left pane:

Keeweb shortcuts

To customize language, theme, and font, click Appearance:

Keeweb theme

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.