All notable changes to this project are grouped by day.
2026-08-23
Added
- Changelog
- MIT
LICENSE.md(e9li GmbH) andCONTRIBUTING.md - ExDoc (
mix docs) for Hex publication - ExUnit coverage for config, remote script, sudoers rendering, and exclude merging
- Optional remote deploy lock (
flockwhen installed on the server; no-op otherwise so existing hosts keep working) - SSH
ConnectTimeout/ServerAliveIntervalon deploy and setup .deploy.lockrsync exclude
Fixed
- Deploy reported success when the systemd service never became active (now waits up to ~60s, then fails)
mix deploy.initprinted “configuration written” even when it skipped an existing config block- Sudo check grepped for the English word “password” (locale-fragile); now uses
sudo -nexit codes systemctl stop … || trueignored real stop failures; inactive units are still skipped so first-start deploys work- Remote script interpolated
app_name/service_name/deploy_dirunquoted mix deploy.setupranscp/sshthrough a shell string and a predictable/tmp/vps_deploy_setup.shpath- Sudo password was written to a temp file (now piped to
sudo -S bash -s; echo hidden withstty -echo) - Overridden
excludescould omit.env, sorsync --deletecould wipe the server env file - Failed migrate after stop left the service down with no restart attempt
Changed
- Version 0.1.7
.envis sourced in a subshell around migrations only (same values, no leak into later commands)
2026-06-21
Fixed
- Environment variables leaking between apps when several applications share the same server
2026-05-18
Added
esbuild.installduring the remote build
Changed
- Version bump
2026-03-17
Changed
- Git dependency URL
2026-03-11
Added
mix deploy.setupand sudoers installation for passwordlesssystemctl- Optional database / Ecto migrations (
use_databaseyes/no)
Fixed
- SSH errors during deploy
- Sudo prompting mid-deploy
- Password prompt echoing in the terminal
2026-03-10
Changed
- Gitignore
- Remote build deletes
mix.lockbeforemix deps.get(kept for compatibility with existing projects)
2026-02-11
Added
- Initial
mix deploy/mix deploy.initfor Phoenix apps over rsync + SSH
Fixed
:stdinhandling- Dumping all environment variables during deploy