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
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í.
47 lines
1.5 KiB
YAML
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:
|