# Bring your shop here from files

> Source: https://www.allsweb.com/sixpanel/docs/bring-your-shop-here
> Markdown for agents: https://www.allsweb.com/sixpanel/docs/bring-your-shop-here.md
> Publisher: AllsWeb (www.allsweb.com)

Part of: SixPanel documentation

**What this page is for.** Move a 6amMart shop that already runs somewhere else onto SixPanel by **uploading its files** — no SSH access to the old server needed. Your orders, customers, settings and images all come with it.

**You need**

- A project created here, with its address saved (**[Domains and HTTPS](https://www.allsweb.com/sixpanel/docs/domain-ssl)**).
- Three things from the old server. The panel tells you which of them you actually need — often the first one already contains the rest:
  1. the **6amMart code** as a zip,
  2. the shop's **database** as a `.sql` or `.sql.gz` export,
  3. the shop's **uploaded images** as a zip.
- A quiet half hour.

> **Two other ways to move a shop.** If you have SSH access to the old server, **[Move an existing site here](https://www.allsweb.com/sixpanel/docs/move-existing-site)** does all of this without you downloading anything. If both servers run SixPanel, **[Move a project between servers](https://www.allsweb.com/sixpanel/docs/move-between-servers)** is better still. This page is for the case where you only have files.

---

## Start here

Open **Deploys** and press **Put 6amMart on this project**.

The first screen asks one question: is this a brand-new shop, or one that already runs somewhere? Pick **A shop that already runs somewhere**.

If you pick the wrong one, nothing is lost. The panel reads your files before it installs anything and tells you which one it actually is — and if that disagrees with what you picked, it says so and asks again rather than installing over your data.

> **Starting a brand-new shop instead?** Pick the other card. The same screens follow — upload the code, and the panel reads it and tells you which 6amMart release it is — but instead of asking for a database and images it asks for the admin email and password you want, and generates a password for you if you would rather not think of one. Leave both empty and the panel hands you 6amMart's own browser installer to finish instead. Either way is written up in **[Install your 6ammart code](https://www.allsweb.com/sixpanel/docs/install-app)**.

---

## 1. Upload the code

Choose **Upload the CodeCanyon zip** and pick your zip.

That zip can be either of these, and the panel works out which:

- the **6amMart download from CodeCanyon** — including the big outer zip with everything in it, which the panel opens to find the admin panel inside;
- a **zip of the 6amMart folder from your old server** — which is usually the better choice here, because it already contains your settings file and your images.

While the upload runs, the panel reads what has arrived and reports back:

> This is 6amMart 4.1. It is a shop that has already been running.

That version is read out of the code itself, not out of a settings file — a fresh 6amMart download ships a settings file left over from the previous release, so the code is the reliable one.

---

## 2. Give the panel whatever the zip did not contain

The next screen lists only the pieces that are missing. Anything the zip already carried is marked **already in your upload — not needed** and you are not asked for it.

### The settings file (`.env`)

This is the file that holds your licence, your payment keys and the key that keeps everyone signed in. It has no extension and its name starts with a dot, so some file managers hide it.

- **cPanel:** File Manager → Settings → tick *Show hidden files*, then open the 6amMart folder and download `.env`.
- **aaPanel:** Files → the site's folder → `.env` → Download.
- **SFTP (FileZilla, WinSCP):** Server → *Force showing hidden files*, then download `.env` from the 6amMart folder.

The panel asks for this only when the zip carried the **example** settings file that ships with 6amMart — the one that points at `http://localhost` and has no licence in it. That file cannot run a live shop.

### The database (`.sql` or `.sql.gz`)

- **phpMyAdmin:** pick your database in the left column → **Export** → **Go**. The default settings are fine.
- **cPanel:** **Backup** → *Download a MySQL Database Backup* → click your database.
- **A terminal on the old server:** `mysqldump -u <user> -p <database> > shop.sql`

Gzipped or not, both work. The panel checks the file itself rather than trusting its name, so a `.sql` that is really gzipped is handled correctly.

### The uploaded images

On the old server, open the 6amMart folder, then `storage`, then `app`, then `public`. Select **everything inside `public`** and zip it.

The panel asks for this only when your upload did not already include them. It can tell your images from the demo pictures that ship with 6amMart, so a fresh download does not count as "images included".

If you skip this, the shop still works — its product images are just missing, and you can upload them later under **Advanced → Files**.

---

## 3. Press the button

Press **Set it up**. The panel then does this, one named step at a time, and you can watch each one:

1. pauses the background workers,
2. checks the release is one it supports,
3. puts your code in place,
4. installs **your** settings file, then points only the server-specific values at this server — your licence, mail and payment keys are untouched,
5. installs the PHP dependencies,
6. **checks this project's database is empty**, and refuses to go further if it is not,
7. imports your database, and checks the tables actually arrived,
8. puts your images in place,
9. brings the database up to date with the code if the export was from an older release, saying how far behind it was,
10. rebuilds the caches, adds the measured database indexes, and starts the shop.

At the end it prints the address your shop is now live on, and where to log in. **Your old admin password still works** — the panel never creates an admin account on this path, because your own is already in the database it just imported.

---

## What is kept, and what is not

**Kept**

- Every order, customer, store, rider and setting — the whole database.
- Your `.env`: licence, `APP_KEY`, mail settings, every payment gateway credential.
- Your uploaded images, if you provided them.

**Changed, on purpose**

- The database, Redis and address values in `.env` now point at this server. They have to: the old server's database is not reachable from here.
- The shop's web address becomes this project's address.

**Not touched**

- The old server. Nothing on it is read, changed or contacted — you did the downloading.

---

## If something stops it

**"refusing to import: database … already holds N tables"**
This project already has data in it. That is the guard working: an import replaces a whole database, so it will not run over something that is already there. Create a **new** project for this shop, or delete this one's data first (**Projects** → delete, leaving *also delete the data* ticked).

**"this project already runs an installed shop"**
Same reason, one step earlier. Use a new project.

**"this codebase is 6amMart 3.8, and SixPanel supports 4.0 and newer"**
Older releases are a different application underneath — a different Laravel, a different websocket package, a different set of database migrations. Update the shop on the old server with 6amtech's own update package first, then bring it here. Nothing on this server was changed.

**"the import reported success but the database is still empty"**
The file you uploaded is not a 6amMart database export. Check you exported the right database, and that the export is not an empty file.

**"there is not enough disk space to unpack this upload"**
The message names how much is needed and how much is free. **Server → Resources** has a prune button; the panel's own caches are usually what to clear first.

**The shop is live but images are missing**
The uploads were not included. Zip `storage/app/public` from the old server and upload them under **Advanced → Files**, into the same path.

---

## Afterwards

- **[Backups](https://www.allsweb.com/sixpanel/docs/backups)** — turn on daily backups now, before anything else happens to this shop.
- **[Domains and HTTPS](https://www.allsweb.com/sixpanel/docs/domain-ssl)** — check the certificate, and set up the website address if this shop has a storefront.
- **[Live order updates](https://www.allsweb.com/sixpanel/docs/live-updates)** — the websocket address, so orders announce themselves.
- **[Deploy and update your code](https://www.allsweb.com/sixpanel/docs/deploy-update)** — how to ship the next 6amMart release onto this shop.
