The ARM variants can be built on x86_64 hardware using `multiarch/qemu-user-static`
The ARM variants can be built on x86_64 hardware using `multiarch/qemu-user-static`
```
```bash
docker run --rm --privileged multiarch/qemu-user-static:register --reset
docker run --rm --privileged multiarch/qemu-user-static:register --reset
```
```
Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64`.
Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64`.
## Update the chagelog
## Update the changelog
If you are modifying the Dockerfiles or any of the startup scripts in [root](https://github.com/linuxserver/docker-ubooquity/tree/master/root), add an entry to the changelog
If you are modifying the Dockerfiles or any of the startup scripts in [root](https://github.com/linuxserver/docker-ubooquity/tree/master/root), add an entry to the changelog
[Ubooquity](https://vaemendis.net/ubooquity/) is a free, lightweight and easy-to-use home server for your comics and ebooks. Use it to access your files from anywhere, with a tablet, an e-reader, a phone or a computer.
[Ubooquity](https://vaemendis.net/ubooquity/) is a free, lightweight and easy-to-use home server for your comics and ebooks. Use it to access your files from anywhere, with a tablet, an e-reader, a phone or a computer.
@ -56,6 +56,24 @@ The architectures supported by this image are:
| arm64 | arm64v8-latest |
| arm64 | arm64v8-latest |
| armhf | arm32v7-latest |
| armhf | arm32v7-latest |
## Application Setup
**IMPORTANT**
Ubooquity has now been upgraded to [version 2](http://vaemendis.net/ubooquity/article19/ubooquity-2-1-0) and for existing v1.x users we recommend cleaning your appdata and reinstalling, due to changes in the application itself making the two versions essentially incompatible with each other. Also the admin page and library pages are now on separate ports as detailed below.
Access the admin page at `http://<your-ip>:2203/ubooquity/admin` and set a password.
Then you can access the webui at `http://<your-ip>:2202/ubooquity/`
This container will automatically scan your files at startup.
### MAXMEM
The quantity of memory allocated to Ubooquity depends on the hardware your are running it on. If this quantity is too small, you might sometime saturate it with when performing memory intensive operations. That’s when you get `java.lang.OutOfMemoryError:` Java heap space errors.
You can explicitly set the amount of memory Ubooquity is allowed to use (be careful to set a value lower than the actual physical memory of your hardware). Value is a number of megabytes ( put just a number, without MB )
If no value is set it will default to 512MB.
## Usage
## Usage
@ -90,7 +108,7 @@ services:
### docker cli
### docker cli
```
```bash
docker run -d \
docker run -d \
--name=ubooquity \
--name=ubooquity \
-e PUID=1000 \
-e PUID=1000 \
@ -107,7 +125,6 @@ docker run -d \
ghcr.io/linuxserver/ubooquity
ghcr.io/linuxserver/ubooquity
```
```
## Parameters
## Parameters
Container images are configured using parameters passed at runtime (such as those above). These parameters are separated by a colon and indicate `<external>:<internal>` respectively. For example, `-p 8080:80` would expose port `80` from inside the container to be accessible from the host's IP on port `8080` outside the container.
Container images are configured using parameters passed at runtime (such as those above). These parameters are separated by a colon and indicate `<external>:<internal>` respectively. For example, `-p 8080:80` would expose port `80` from inside the container to be accessible from the host's IP on port `8080` outside the container.
@ -131,7 +148,7 @@ You can set any environment variable from a file by using a special prepend `FIL
As an example:
As an example:
```
```bash
-e FILE__PASSWORD=/run/secrets/mysecretpassword
-e FILE__PASSWORD=/run/secrets/mysecretpassword
```
```
@ -150,39 +167,17 @@ Ensure any volume directories on the host are owned by the same user you specify
In this instance `PUID=1000` and `PGID=1000`, to find yours use `id user` as below:
In this instance `PUID=1000` and `PGID=1000`, to find yours use `id user` as below:
Ubooquity has now been upgraded to [version 2](http://vaemendis.net/ubooquity/article19/ubooquity-2-1-0) and for existing v1.x users we recommend cleaning your appdata and reinstalling, due to changes in the application itself making the two versions essentially incompatible with each other. Also the admin page and library pages are now on separate ports as detailed below.
Access the admin page at `http://<your-ip>:2203/ubooquity/admin` and set a password.
Then you can access the webui at `http://<your-ip>:2202/ubooquity/`
This container will automatically scan your files at startup.
### MAXMEM
The quantity of memory allocated to Ubooquity depends on the hardware your are running it on. If this quantity is too small, you might sometime saturate it with when performing memory intensive operations. That’s when you get `java.lang.OutOfMemoryError:` Java heap space errors.
You can explicitly set the amount of memory Ubooquity is allowed to use (be careful to set a value lower than the actual physical memory of your hardware). Value is a number of megabytes ( put just a number, without MB )
If no value is set it will default to 512MB.
## Docker Mods
## Docker Mods
[![Docker Mods](https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=ubooquity&query=%24.mods%5B%27ubooquity%27%5D.mod_count&url=https%3A%2F%2Fraw.githubusercontent.com%2Flinuxserver%2Fdocker-mods%2Fmaster%2Fmod-list.yml)](https://mods.linuxserver.io/?mod=ubooquity "view available mods for this container.") [![Docker Universal Mods](https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=universal&query=%24.mods%5B%27universal%27%5D.mod_count&url=https%3A%2F%2Fraw.githubusercontent.com%2Flinuxserver%2Fdocker-mods%2Fmaster%2Fmod-list.yml)](https://mods.linuxserver.io/?mod=universal "view available universal mods.")
[![Docker Mods](https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=ubooquity&query=%24.mods%5B%27ubooquity%27%5D.mod_count&url=https%3A%2F%2Fraw.githubusercontent.com%2Flinuxserver%2Fdocker-mods%2Fmaster%2Fmod-list.yml)](https://mods.linuxserver.io/?mod=ubooquity "view available mods for this container.") [![Docker Universal Mods](https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=universal&query=%24.mods%5B%27universal%27%5D.mod_count&url=https%3A%2F%2Fraw.githubusercontent.com%2Flinuxserver%2Fdocker-mods%2Fmaster%2Fmod-list.yml)](https://mods.linuxserver.io/?mod=universal "view available universal mods.")
We publish various [Docker Mods](https://github.com/linuxserver/docker-mods) to enable additional functionality within the containers. The list of Mods available for this image (if any) as well as universal mods that can be applied to any one of our images can be accessed via the dynamic badges above.
We publish various [Docker Mods](https://github.com/linuxserver/docker-mods) to enable additional functionality within the containers. The list of Mods available for this image (if any) as well as universal mods that can be applied to any one of our images can be accessed via the dynamic badges above.
## Support Info
## Support Info
* Shell access whilst the container is running: `docker exec -it ubooquity /bin/bash`
* Shell access whilst the container is running: `docker exec -it ubooquity /bin/bash`
@ -199,6 +194,7 @@ Most of our images are static, versioned, and require an image update and contai
Below are the instructions for updating containers:
Below are the instructions for updating containers:
### Via Docker Compose
### Via Docker Compose
* Update all images: `docker-compose pull`
* Update all images: `docker-compose pull`
* or update a single image: `docker-compose pull ubooquity`
* or update a single image: `docker-compose pull ubooquity`
* Let compose update all containers as necessary: `docker-compose up -d`
* Let compose update all containers as necessary: `docker-compose up -d`
@ -206,6 +202,7 @@ Below are the instructions for updating containers:
* You can also remove the old dangling images: `docker image prune`
* You can also remove the old dangling images: `docker image prune`
### Via Docker Run
### Via Docker Run
* Update the image: `docker pull ghcr.io/linuxserver/ubooquity`
* Update the image: `docker pull ghcr.io/linuxserver/ubooquity`
* Stop the running container: `docker stop ubooquity`
* Stop the running container: `docker stop ubooquity`
* Delete the container: `docker rm ubooquity`
* Delete the container: `docker rm ubooquity`
@ -213,24 +210,29 @@ Below are the instructions for updating containers:
* You can also remove the old dangling images: `docker image prune`
* You can also remove the old dangling images: `docker image prune`
### Via Watchtower auto-updater (only use if you don't remember the original parameters)
### Via Watchtower auto-updater (only use if you don't remember the original parameters)
* Pull the latest image at its tag and replace it with the same env variables in one run:
* Pull the latest image at its tag and replace it with the same env variables in one run:
```
```bash
docker run --rm \
docker run --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower \
containrrr/watchtower \
--run-once ubooquity
--run-once ubooquity
```
```
* You can also remove the old dangling images: `docker image prune`
* You can also remove the old dangling images: `docker image prune`
**Note:** We do not endorse the use of Watchtower as a solution to automated updates of existing Docker containers. In fact we generally discourage automated updates. However, this is a useful tool for one-time manual updates of containers where you have forgotten the original parameters. In the long term, we highly recommend using [Docker Compose](https://docs.linuxserver.io/general/docker-compose).
**Note:** We do not endorse the use of Watchtower as a solution to automated updates of existing Docker containers. In fact we generally discourage automated updates. However, this is a useful tool for one-time manual updates of containers where you have forgotten the original parameters. In the long term, we highly recommend using [Docker Compose](https://docs.linuxserver.io/general/docker-compose).
* We recommend [Diun](https://crazymax.dev/diun/) for update notifications. Other tools that automatically update containers unattended are not recommended or supported.
* We recommend [Diun](https://crazymax.dev/diun/) for update notifications. Other tools that automatically update containers unattended are not recommended or supported.
## Building locally
## Building locally
If you want to make local modifications to these images for development purposes or just to customize the logic:
If you want to make local modifications to these images for development purposes or just to customize the logic: