Skip to content

Wakapi

Mount External Drive

Make sure your external drive is mounted on your host machine. For example, if you're using a Linux system, it might be automatically mounted under /mnt/ or you can manually mount it to a directory of your choice (e.g., /mnt/usb/).

Prepare the Directory**: Create the directory where you want to store your Wakapi data on the external drive

mkdir -p /mnt/usb/docker/wakapi
Set Permissions

Ensure that the Docker daemon has read/write access to the directory. Depending on your system's Docker configuration, you might need to set the directory's permissions to allow access:

sudo chown -R 1000:1000 /mnt/usb/docker/wakapi
sudo chmod -R 755 /mnt/usb/docker/wakapi

The 1000:1000 is a common user ID…

And group ID for the first non-root user in many Linux distributions, and Docker might run under this user. However, the correct UID and GID for your Docker daemon might be different.

Create the Docker Container with Volume Binding

Instead of creating a Docker managed volume, you can bind-mount the directory from your external drive directly:

SALT="$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)"

docker run -d \
  -p 3000:3000 \
  -e "WAKAPI_PASSWORD_SALT=$SALT" \
  -v /mnt/usb/docker/wakapi:/data \
  --name wakapi \
  ghcr.io/muety/wakapi:latest

In the -v flag, the format is host_directory:container_directory. In this case, /mnt/usb/docker/wakapi is the directory on your host machine, and /data is the directory inside the container where Wakapi stores its persistent data.

Control Container

Ensure that your container is running correctly and that Wakapi can read and write to the mounted directory:

docker ps