Browse docs All docs
Docs / Exporting your code
Docdeploymill://docs/exporting-your-code

Exporting your code

DeployMill stores each project's repository under DeployMill's own GitHub account, so "give me my code back" is a real action we owe you, not something you can do from your own GitHub. The Code page in the dashboard (/account/code) lets you download any project's full source as a zip, so you can always walk away with a runnable app. This is the portability promise made concrete: DeployMill is neutral and never locks you in.

How to export

  1. Open Code in the dashboard (/account/code).
  2. Find the project you want and click Download.
  3. Your browser downloads <project>-<branch>.zip.

That's it. It's a synchronous download, no job to wait on.

Repos on the Code page are grouped by the GitHub account they live under: the shared house account every workspace gets, plus any of your own GitHub accounts you've connected on the Connections page. The account heading on each group makes it clear which account holds each repo when you have more than one connection.

Disconnecting a repo

If a repo no longer belongs on the Code page, owners and admins can Disconnect it (the button next to Download). Disconnecting does not delete the repo on GitHub. Your code stays exactly where it is under your account, and it just stops the repo from showing in this list.

To bring a disconnected repo back, import it again. Point your agent at it with import_repo and it reappears on the Code page. (Disconnecting is recorded in your workspace's audit log, like other workspace changes.)

What's in the archive

The zip is a full git archive of the project's default branch, so it contains everything in the repo, including:

  • All your source code.
  • The Dockerfile, so the project can be built and run on any platform.
  • The .deploymill/project.json config (it lives in the repo, so it comes

    along for free).

  • Dotfiles and any other committed files.

GitHub wraps the contents in a single top-level project-<commit>/ folder. Your files are inside it.

What's NOT in the archive

The export is code only. It deliberately does not include:

  • Database contents: your managed database isn't dumped into the archive.

    (DeployMill takes encrypted database backups separately, and restoring them is a different flow.)

  • Secrets: secret values are write-only and encrypted at rest by design.

    They are never revealed, in the dashboard, the API, or an export. The archive may reference secret names (e.g. in code or config), never their values.

  • Persistent volumes / object-storage contents: uploaded files and volume

    data are not part of the code archive.

If you need your data back (rather than just your code), that's a separate restore capability, so ask support.

Who can export

Downloading a project's code is gated on the Export code capability. By default that's granted to owners and admins. Bulk source egress is a data-control decision. An admin can grant it to a specific member from the Members page if you want a particular teammate to be able to export.

Every export is recorded in your workspace's audit log (who exported which project, and when), so code downloads are attributable.