Files
dice-counter/deploy/docker-compose.yaml
T
gitea-actions 0bb2e0efab
binárka / linux (pull_request) Successful in 11s
image / image (pull_request) Failing after 9s
testy / pytest (3.11) (pull_request) Successful in 1s
testy / pytest (3.12) (pull_request) Successful in 1s
testy / pytest (3.13) (pull_request) Successful in 1s
testy / pytest (3.14) (pull_request) Successful in 1s
Publikovat image do registru balíčků Gitey
Compose soubor měl v sobě build: context: .., takže si image stavěl z
lokálních zdrojáků a bez naklonovaného repozitáře byl k ničemu. Proti LXC
cestě, kde se stahuje hotová binárka, to byla nesrovnalost.

Nové workflow staví image na domácím runneru a při vydání ho pošle do
registru Gitey, pro amd64 i arm64. Compose se tím smrskl na jeden soubor,
který si člověk stáhne a rovnou spustí.

Automatický token Actions na balíčky nestačí — Gitea to zatím neumí a sama
v dokumentaci odkazuje na osobní token. Je v secrets pod PACKAGE_TOKEN;
jméno nesmí začínat na GITEA_, ten prefix si Gitea vyhrazuje.

Nad pull requesty se image staví a zkouší, ale nepublikuje. Dockerfile do
teď v CI žádné pokrytí neměl a rozbil by se až při releasu.

Image se jmenuje podle repozitáře, dice-counter. Zbytek projektu pořád mluví
o kostkách; sjednocení je na samostatné issue, protože se dotkne vydaných
binárek i běžících instalací.
2026-08-23 20:09:20 +02:00

47 lines
1.5 KiB
YAML

# Počitadlo kostek v Dockeru.
#
# curl -fsSLO https://gitea.spacilovi.eu/david-spacil/dice-counter/raw/branch/main/deploy/docker-compose.yaml
# docker compose up -d
#
# Nic dalšího není potřeba — image se stáhne hotový, pro amd64 i arm64.
# Kdo si ho chce postavit ze zdrojáků, přebije ten stažený stejnou značkou:
#
# docker build -f deploy/Dockerfile -t gitea.spacilovi.eu/david-spacil/dice-counter:latest .
#
# Počítá se s domácí sítí. Appka nemá přihlašování, tohle ji nijak
# nezabezpečuje a do internetu nepatří.
services:
kostky:
image: gitea.spacilovi.eu/david-spacil/dice-counter:latest
container_name: kostky
restart: unless-stopped
# Python jako PID 1 nesklízí osiřelé procesy a hůř reaguje na signály.
init: true
# Síť hostitele schválně. V bridge režimu kontejner uvnitř vidí adresu
# jako 172.17.0.2, tabule ji poctivě nabídne a vygeneruje na ni QR kód —
# jenže z telefonu je nedosažitelná. Se sítí hostitele appka najde tu
# adresu, na kterou se telefon opravdu dovolá.
#
# Kdo bridge potřebuje, ať zakomentuje řádek níž, odkomentuje ports
# a nastaví DICE_HOST na adresu hostitele v LAN:
#
# ports:
# - "8000:8000"
# environment:
# DICE_HOST: 192.168.1.10
network_mode: host
environment:
DICE_PORT: 8000
DICE_DB: /data/dice.db
volumes:
- kostky-data:/data
volumes:
# Zálohu si stáhneš rovnou z appky přes /export, takže se sem nemusí lézt.
kostky-data: