# docker-finance | modern accounting for the power-user # # Copyright (C) 2021-2024 Aaron Fiore (Founder, Evergreen Crypto LLC) # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . services: docker-finance: image: @DOCKER_FINANCE_IMAGE@ container_name: @DOCKER_FINANCE_CONTAINER@ build: . # NOTE: env bind mounts are used exclusively because volumes should be # reserved for persistant data that the *container* generates/needs. # In docker-finance, the container and client (host) are largely transparent # and treated as one (and dangling volumes are not desired). volumes: - ${DOCKER_FINANCE_CLIENT_CONF}/container:${DOCKER_FINANCE_CONTAINER_CONF} - ${DOCKER_FINANCE_CLIENT_FLOW}:${DOCKER_FINANCE_CONTAINER_FLOW} - ${DOCKER_FINANCE_CLIENT_REPO}/container:${DOCKER_FINANCE_CONTAINER_REPO}:ro - ${DOCKER_FINANCE_CLIENT_SHARED}:${DOCKER_FINANCE_CONTAINER_SHARED} # Needed for when upstream data is localtime instead of UTC # NOTE: although TZ can be used within the container, this should be more dynamic # TODO: for Ubuntu hosts/containers, mount /etc/timezone (not needed w/ Arch) - /etc/localtime:/etc/localtime:ro environment: - DOCKER_FINANCE_CONTAINER_CMD=${DOCKER_FINANCE_CONTAINER_CMD} - DOCKER_FINANCE_CONTAINER_CONF=${DOCKER_FINANCE_CONTAINER_CONF} - DOCKER_FINANCE_CONTAINER_EDITOR=${DOCKER_FINANCE_CONTAINER_EDITOR} - DOCKER_FINANCE_CONTAINER_FLOW=${DOCKER_FINANCE_CONTAINER_FLOW} - DOCKER_FINANCE_CONTAINER_REPO=${DOCKER_FINANCE_CONTAINER_REPO} - DOCKER_FINANCE_CONTAINER_SHARED=${DOCKER_FINANCE_CONTAINER_SHARED} - DOCKER_FINANCE_DEBUG=${DOCKER_FINANCE_DEBUG} - GID=${DOCKER_FINANCE_GID} - UID=${DOCKER_FINANCE_UID} # Container's view of client's hledger-flow (for logging purposes) - DOCKER_FINANCE_CLIENT_FLOW=${DOCKER_FINANCE_CLIENT_FLOW} deploy: resources: limits: cpus: ${DOCKER_FINANCE_CPUS} memory: ${DOCKER_FINANCE_MEMORY} restart: no init: true networks: docker-finance: ports: - ${DOCKER_FINANCE_PORT_HLEDGER}:5000 - ${DOCKER_FINANCE_PORT_ROOT}:8080 networks: docker-finance: external: true name: @DOCKER_FINANCE_NETWORK@ # vim: sw=2 sts=2 si ai et