updates.godlycode.store

Auto-update server for desktop applications. Each project lives under its own path.

Structure

https://updates.godlycode.store/
  {project_name}/
    version.json    ← version check endpoint
    {exe_name}.exe  ← latest binary

version.json format

{
  "project": "project_name",
  "version": "1.0.0",
  "url": "https://updates.godlycode.store/project_name/app.exe"
}

How apps use it

  1. On startup, app GETs /{project}/version.json
  2. Compares version against its own (semver, tuple compare)
  3. If remote is newer, downloads the exe from url
  4. Swaps the running exe and restarts

How to deploy an update

# 1. Upload the new exe
scp dist/app.exe root@155.138.136.41:/var/www/updates.godlycode.store/{project}/

# 2. Update the version
ssh root@155.138.136.41
echo '{"project":"name","version":"1.1.0","url":"https://updates.godlycode.store/name/app.exe"}' \
  > /var/www/updates.godlycode.store/{project}/version.json

Active projects

Adding a new project

# Create the project directory
mkdir -p /var/www/updates.godlycode.store/{new_project}

# Create version.json
cat > /var/www/updates.godlycode.store/{new_project}/version.json <<EOF
{"project":"{new_project}","version":"1.0.0","url":"https://updates.godlycode.store/{new_project}/app.exe"}
EOF

# Upload the first binary
scp dist/app.exe root@155.138.136.41:/var/www/updates.godlycode.store/{new_project}/