How to Install Vaultwarden on Fedora CoreOS

Vaultwarden is a popular open-source password manager and digital vault that allows users to store and manage their sensitive information securely. In this tutorial, we will guide you through the steps required to install Vaultwarden on Fedora CoreOS latest version.

Prerequisites

To get started, you will need the following:

Step 1: Install Docker and Docker Compose

Vaultwarden runs as a Docker container, so we need to install Docker and Docker Compose on Fedora CoreOS. Both can be installed using the following commands:

sudo mkdir -p /etc/systemd/system/docker.service.d/
sudo touch /etc/systemd/system/docker.service.d/docker.conf
sudo bash -c 'echo -e "[Service]\nExecStart=\nExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock" > /etc/systemd/system/docker.service.d/docker.conf'
sudo systemctl daemon-reload
sudo systemctl restart docker
sudo systemctl enable docker

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

Step 2: Clone the Vaultwarden Repository

Next, we need to clone the Vaultwarden repository from GitHub to our system:

git clone https://github.com/dani-garcia/vaultwarden.git
cd vaultwarden

Step 3: Configure Vaultwarden

Before we start the Vaultwarden container, we need to configure it by creating a .env file in the cloned repository's root directory. Here is an example .env file with default settings:

DOMAIN=example.com
ADMIN_TOKEN=$(openssl rand -base64 48)
DATA_DIR=/data
SIGNUPS_ALLOWED=true
LOG_FILE=/data/logs/vaultwarden.log
LOG_LEVEL=info
ADMIN_ORIGIN=http://localhost:8080
ROCKET_TLS_CERTS=/data/config/ssl/fullchain.pem
ROCKET_TLS_KEY=/data/config/ssl/privkey.pem
ROCKET_WORKERS=$(nproc)
ROCKET_ADDRESS=0.0.0.0
ROCKET_PORT=8080

Note: Replace the DOMAIN variable with your domain name, and make sure you have a valid SSL/TLS certificate and key for the domain. You can obtain a free SSL/TLS certificate for your domain from Let's Encrypt using certbot or any other ACME client.

Step 4: Start Vaultwarden

Once you have edited the .env file, you can start Vaultwarden using Docker Compose. You need to use the following command from the vaultwarden repository's root directory:

sudo docker-compose up -d

This command will start the Vaultwarden container in detached mode and bind it to the host's port 80 and 443. You can check the container status using the following command:

sudo docker ps

This command will show you a list of all running Docker containers.

Note: If you have SELinux enabled, you may experience issues with file permissions. You can fix this by running the following command:

chcon -Rt svirt_sandbox_file_t ./vaultwarden-data

Step 5: Access Vaultwarden Web Interface

Once you have started the Vaultwarden container, you can access its web interface by visiting https://<your-domain-name> in your web browser.

Initially, you will see a registration page where you can create your Vaultwarden account. Once you have created your account, you can start using Vaultwarden to store and manage your passwords and other sensitive information.

Congratulations! You have successfully installed Vaultwarden on Fedora CoreOS!

If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!

Alternatively, for the best virtual desktop, try Shells!