deploy/nas/casaos/docker-compose.yml
Rama main · réplica de lectura del repositorio original.
# CasaOS / ZimaOS app-store manifest.
#
# An ordinary Compose file with `x-casaos` metadata blocks, which is exactly
# what the CasaOS AppStore takes — so this file is both the store entry and a
# working Compose file anywhere else.
#
# To install before it is in a store: CasaOS → App Store → the ⋮ menu →
# "Install a customized app", then paste this in.
#
# To submit it: fork IceWhaleTech/CasaOS-AppStore, add
# Apps/Stocktake/docker-compose.yml plus icon.svg, thumbnail.png and at least
# one screenshot, and open a pull request. Every URL below must resolve before
# that will be accepted: `icon` does, but `screenshot_link` names
# docs/assets/screenshot-dashboard.png, which does not exist yet.
name: stocktake
services:
stocktake:
image: ghcr.io/jarrodruggiero/stocktake:latest
container_name: stocktake
restart: unless-stopped
network_mode: bridge
ports:
- target: 8000
published: "8000"
protocol: tcp
environment:
APP_CONFIG_FILE: /config/config.yaml
# Containers run UTC. Left wrong, every date decision — which financial
# year today is in, whether a trade is dated in the future — is a day out
# for part of each day.
TZ: Australia/Melbourne
volumes:
# /DATA/AppData/$AppID is the CasaOS convention, and CasaOS creates these
# owned such that the container can write them. Both are needed: /data
# holds the database, and /config is where the first-run wizard WRITES
# config.yaml. A read-only /config leaves the wizard unable to save.
- type: bind
source: /DATA/AppData/$AppID/data
target: /data
- type: bind
source: /DATA/AppData/$AppID/config
target: /config
deploy:
resources:
reservations:
memory: 128M
healthcheck:
# /readyz also checks the database; /healthz only says the process is up.
test: ["CMD-SHELL", "python -c \"import urllib.request;urllib.request.urlopen('http://localhost:8000/readyz')\""]
interval: 30s
timeout: 5s
start_period: 40s
retries: 3
x-casaos:
envs:
- container: TZ
description:
en_US: Your timezone, e.g. Australia/Melbourne. Every date decision uses it.
ports:
- container: "8000"
description:
en_US: Web interface.
volumes:
- container: /data
description:
en_US: Your portfolio database. This is the only thing that needs backing up.
- container: /config
description:
en_US: Configuration. Written by the setup wizard on first run.
x-casaos:
architectures:
- amd64
- arm64
main: stocktake
author: jarrodruggiero
developer: jarrodruggiero
category: Finance
icon: https://raw.githubusercontent.com/jarrodruggiero/stocktake/main/docs/assets/icon.png
screenshot_link:
- https://raw.githubusercontent.com/jarrodruggiero/stocktake/main/docs/assets/screenshot-dashboard.png
thumbnail: https://raw.githubusercontent.com/jarrodruggiero/stocktake/main/docs/assets/icon.png
title:
en_US: Stocktake
tagline:
en_US: Self-hosted share portfolio tracker for Australian investors
description:
en_US: >-
Tracks holdings, valuations and performance; works out financial-year
capital gains with FIFO parcel matching, the CGT discount and franking
credits; imports broker CSV, OFX and dividend statement PDFs; and builds
charts you design yourself.
Privacy is the point. Only ticker symbols ever leave your server, and only
to fetch prices — never your holdings, quantities or balances. Dividend
statements are parsed locally, with no cloud OCR. Turn the price feed off
and it makes no outbound requests at all.
Runs on SQLite by default: one file, nothing else to install. Postgres is
supported if you already have one. A setup wizard handles the first run,
so there is no configuration file to write beforehand.
tips:
before_install:
en_US: >-
Nothing to prepare. Open the web UI after it starts and a wizard will
create your account and write the configuration for you.
index: /
port_map: "8000"
scheme: http
project_url: https://github.com/jarrodruggiero/stocktake
website: https://github.com/jarrodruggiero/stocktake
repo: https://github.com/jarrodruggiero/stocktake
support: https://github.com/jarrodruggiero/stocktake/issues
docs: https://jarrodruggiero.github.io/stocktake