Nasazení na server: Proxmox LXC a Docker
binárka / linux (pull_request) Successful in 10s
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 0s
binárka / linux (pull_request) Successful in 10s
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 0s
Aby se to dalo nechat běžet pořád, ne jen spouštět večer na notebooku. pve-kostky.sh se pouští na uzlu Proxmoxu, založí kontejner a předá řízení lxc-install.sh, který uvnitř stáhne vydanou binárku, ověří kontrolní součet a zapíše službu. Ty dva jsou oddělené schválně: instalátor o Proxmoxu nic neví, takže se dá pustit i v kontejneru, který sis založil sám. Podoba je odkoukaná od community-scripts.org, ale nic z jejich frameworku se nestahuje — jejich build.func si instalační skript hledá natvrdo ve vlastním repozitáři, takže mimo něj nefunguje. Docker se staví ze zdrojáků, ne z binárky: image pak jde sestavit pro obě architektury a nezávisí na tom, jestli release proběhl. Zamčené závislosti z minula dělají sestavení opakovatelné. Compose používá síť hostitele, a to je podstatné. V bridge režimu vidí kontejner uvnitř adresu 172.17.0.2, tabule ji poctivě nabídne a udělá na ni QR kód — jenže z telefonu je nedosažitelná. Ověřeno, ne odhadnuto; kdo bridge potřebuje, musí nastavit DICE_HOST. Aplikace sama nepotřebovala změnit nic. DICE_DB, DICE_PORT a DICE_HOST pokrývají obojí a v LXC má kontejner vlastní adresu v LAN, takže hledání adres i QR kód fungují beze změny.
This commit is contained in:
1 parent
923fc03581
commit
eaa9c12ebc
6 files changed
+449
No files matched your search
@@ -0,0 +1,45 @@
|
||||
# Počitadlo kostek v Dockeru.
|
||||
#
|
||||
# cd deploy && docker compose up -d
|
||||
#
|
||||
# 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:
|
||||
build:
|
||||
context: ..
|
||||
dockerfile: deploy/Dockerfile
|
||||
args:
|
||||
VERSION: ${VERSION:-vlastní sestavení}
|
||||
image: kostky: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:
|
||||
Reference in new issue
Block a user