How is Local creating the site export zip file?

I searched the forum, but seems the export zip structure explanations is outdated.

I’m trying to create a git repository of a site, which can be downloaded as zip, and drag-and-dropped to Local to be imported.

This is not a standard WordPress installation, but a Roots.io Bedrock installation, which has a customized folder structure.

Maybe @clay can point out what I’m doing wrong, so that when the site is imported, it does not detect WordPress and downloads/installs a fresh one over the /app folder?

Here’s the repo: https://github.com/artifex404/local-bedrock

When I have a manually installed Bedrock installation on Local, and do the export, the import works just fine. But if the export file is unziped, and then re-zipped, the import fails. Is there some magic added to the zip file?

Hey @igorb,

First off, thanks sharing that repo with the community!

When Local zips up a site for export, it puts the app, conf, logs, and local-site.json in the root of the zip itself and not inside of a folder. I’ll try to illustrate the difference with screenshots from Finder.


This will work

This won’t. It will be treated as a generic archive


With that said, I would like it to be a little more tolerant of Local exports for this exact use case. I’ll make a note of it :slight_smile:

Great!! That did the trick!

The only thing still missing for complete automation, is that Bedrock has a .env file with the domain name of the site.

So while importing the site, if you chose another domain than the initial, it will look broken.

Is there a way to hook into the Local importing process? If only there were a possibility to write your own shell script with some specific name inside a side export, which can be executed upon import inside the docker image. That could open up a lot of possibilities for customizations and automations.