Using Codex / Claude with Legacy Django: Remote Filesystem (SSHFS/Mutagen) vs Git-Based Deployment

Working with Legacy Django Servers: Two Reliable Workflows

When your production host runs an older Python/Django stack, you can still use modern local tools (e.g., AI-assisted coding) without touching the server’s runtime.

1) Remote Filesystem Access (SSHFS or Mutagen)

SSHFS mounts a remote directory over SSH so it appears as a local folder on your machine. You can edit code with your local editor and tooling. Mutagen continuously syncs a local folder with the server, giving you local speed with real-time mirroring to the remote host.

  • Pros: Fast iteration, no changes required on the server, works with existing SSH access.
  • Best for: Day-to-day development, quick fixes, and leveraging local AI/code tools without installing them remotely.

2) Git-Based Deployment

Treat deployments as Git operations to keep production clean and reproducible. Two common patterns:

  • Pull on server: Keep a repo on the server and run git pull to update.
  • Push-to-deploy: Use a bare repo with a post-receive hook that checks out code, runs migrations, collects static files, and restarts the app on each git push.

Why teams prefer this in production: clear history, simple rollbacks, and predictable state.

When to Use What?

  • Daily development: SSHFS/Mutagen to iterate quickly with your local toolchain.
  • Structured releases: Git push-to-deploy for consistent, auditable deployments.

In practice, many teams combine both: develop locally with SSHFS/Mutagen for instant feedback, then ship via Git push-to-deploy for a clean release process.


Tip: With Apache mod_wsgi, touching wsgi.py often reloads the app. With Gunicorn/uWSGI, restart the systemd service after deploy.

Comments