LinuxServer-style docker image for Fava. The goal is to have this transferred in to LinuxServer.io.
I've not got a Docker Registry account so there's no live image, you'll have to clone this and build it yourself.
Here are some example snippets to help you get started creating a container.
docker create \
--name=fava \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Europe/London \
-e BEANCOUNT_FILE=/config/ledger.beancount \
-p 5000:5000 \
-v <path to data>:/config \
--restart unless-stopped \
linuxserver/fava
Compatible with docker-compose v2 schemas.
---
version: "2.1"
services:
fava:
image: linuxserver/fava
container_name: fava
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/London
- BEANCOUNT_FILE=/config/ledger.beancount
volumes:
- <path to data>:/config
ports:
- 5000:5000
restart: unless-stopped
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.
Parameter | Function |
---|---|
-p 5000 |
WebUI |
-e PUID=1000 |
for UserID - see below for explanation |
-e PGID=1000 |
for GroupID - see below for explanation |
-e TZ=Europe/London |
Specify a timezone to use EG Europe/London. |
-e BEANCOUNT_FILE=/config/ledger.beancount |
Specify the file or comma-separated list of files for Fava to read. |
-v /config |
Contains ledger files. |
You can set any environment variable from a file by using a special prepend FILE__
.
As an example:
-e FILE__PASSWORD=/run/secrets/mysecretpassword
Will set the environment variable PASSWORD
based on the contents of the /run/secrets/mysecretpassword
file.
When using volumes (-v
flags) permissions issues can arise between the host OS and the container, we avoid this issue by allowing you to specify the user PUID
and group PGID
.
Ensure any volume directories on the host are owned by the same user you specify and any permissions issues will vanish like magic.
In this instance PUID=1000
and PGID=1000
, to find yours use id user
as below:
$ id username
uid=1000(dockeruser) gid=1000(dockergroup) groups=1000(dockergroup)
- 2020-05-20: - Initial release