Deploy via Podman Quadlet: docker-compose.yml → .container files → systemd na VPS.
service_manager: quadlet — deploy strategy uses Quadlet instead of composequadlet_dir / quadlet_remote_dir — local + remote paths for .container filescompose section — file, override_files, network, auto_updatessh_port: 2222 — non-standard SSH portenv_file — per-environment .env filessilent: true — health check suppresses curl command echotaskfile deploy — auto-selects strategy (compose local vs quadlet remote)taskfile setup — one-command VPS provisioningtaskfile quadlet generate/upload — Quadlet workflow commandsdocker-compose.yml
↓
taskfile quadlet generate → deploy/quadlet/*.container
↓
taskfile quadlet upload → scp → ~/.config/containers/systemd/
↓
systemctl --user restart → running as rootless Podman
# Local dev
taskfile --env local run dev
# Full prod deploy (build → push → quadlet → restart)
taskfile --env prod run deploy-prod --var TAG=v1.0.0
# Or use built-in deploy command (auto strategy)
taskfile --env prod deploy --var TAG=v1.0.0
# Quadlet workflow step by step
taskfile --env prod run quadlet-generate
taskfile --env prod run quadlet-upload
taskfile --env prod run quadlet-restart
# VPS setup from scratch
taskfile setup 123.45.67.89 --domain app.example.com
# or:
taskfile --env prod run provision
# Monitoring
taskfile --env prod run logs
taskfile --env prod run status
taskfile run health
compose.auto_update: true enables Podman auto-update