# Install your 6ammart code

> Source: https://test-allsweb.allsweb.net/sixpanel/docs/install-app
> Markdown for agents: https://test-allsweb.allsweb.net/sixpanel/docs/install-app.md
> Publisher: AllsWeb (www.allsweb.com)

Part of: SixPanel documentation

**What this page is for.** Get the 6ammart code you bought onto the server and make the project live.

**You need**

- Your 6ammart admin (Laravel) code, as **either**:
  - the **zip** from your CodeCanyon download, or
  - a **git repository** of your own, and its address, branch and a read token
    if it is private. Never done that? **[Put your code in a git
    repository](https://test-allsweb.allsweb.net/sixpanel/docs/put-your-code-in-git)**.
- Your project's web address. You do **not** need it before you start: the
  guided path below asks for it while your code is uploading. Only the direct
  form on the Deploys page needs it saved beforehand, on the **[Domains and
  HTTPS](https://test-allsweb.allsweb.net/sixpanel/docs/domain-ssl)** page. Either way the install writes that address
  into the app's settings, so one has to exist before the install finishes.

---

## Two ways in, and either is fine

Open **Deploys**. The project is not installed yet, so the page offers two
buttons, and they lead to the same place:

- **Put 6amMart on this project** — a short guided path. It asks whether this is
  a brand-new shop or one that already runs somewhere else, takes your code, and
  then asks only for what your files did not already contain. If you are not sure
  which pieces you need, start here.
- **Install 6ammart Admin** — the direct form on this page, described below. Use
  it when you already know your source and your admin details.

The guided path is worth knowing about even for a brand-new shop: it reads your
zip before installing anything and tells you which 6amMart release it is, so a
wrong or partial download is caught before it touches the project rather than
six minutes into an install. Moving a shop that already runs? That path is
written up in **[Bring your shop here from files](https://test-allsweb.allsweb.net/sixpanel/docs/bring-your-shop-here)**.

---

## Zip or git — pick one

Inside either route, the source is a choice of two:

| | Upload the CodeCanyon zip | From a git repository |
|---|---|---|
| What you provide | the zip you already downloaded | the repository address, branch, and a read token if private |
| Updating later | upload the next zip | **Get the latest code**, with a preview of what changed |
| Rollback | to a previous zip you installed here | to any previous version |
| Deploy on `git push` | not available | available |
| Setup effort | none | about twenty minutes, once |

Neither is second-class. If you have never used git and want the site up
today, upload the zip; you can move to git later by installing again from a
repository. If you plan to change the code, or want one-button updates, use
git.

If the page says **Add my domain first** instead, do that on the **Domain &
SSL** page and come back — the install has to know your project's web address.

---

## And then: automatic or the browser wizard

Whichever source you picked, there are two ways to finish the install:

| Way | What happens | When to choose it |
|---|---|---|
| **Automatic install (recommended) — the panel does everything, no browser wizard** | One job installs the code, creates the database contents and your admin login. The project is live when it finishes. | Almost always. It also works before DNS points here, and it works on the code exactly as CodeCanyon ships it. |
| **Browser wizard — walk through 6amMart's own installer yourself** | The panel puts the code in place, then you complete 6ammart's own installer in a browser tab. | Only if you want to watch 6ammart's own installer run. |

**The automatic way works on the untouched CodeCanyon code too.** It used to need
a version of the code carrying an extra command, and on
the plain CodeCanyon download the panel would hand you the browser wizard
instead. It no longer does: the panel runs 6amMart's own installer steps itself —
loads the database 6amMart ships, creates your admin account, sets your business
name, unpacks the shop's default images, and switches the site out of installer
mode. Your CodeCanyon purchase code is not involved; the panel drives only the
steps that come after it.

---

## The automatic install

1. Open **Deploys**.
2. Press **Install 6ammart Admin**.
3. Choose your source:
   - **Upload the CodeCanyon zip** — choose the file. It can be the "Admin
     panel new install" zip, or the whole CodeCanyon download; the panel finds
     the right part inside it. Big uploads take a while and the page shows the
     progress.
   - **From a git repository** — paste the **repository address** first, and the
     panel works with you from there:
     - It says which of the two kinds of address you pasted. An `https://…`
       address takes an **access token** if the repository is private; a
       `git@…` (SSH) address takes a **deploy key** instead.
     - For an SSH address it offers to **create the deploy key** for you, shows
       you the public half to paste into your forge, and names the key after
       this project and this server — `sixpanel-<project>-<server address>` —
       so a forge listing several servers' keys tells you which is which.
     - **Test the connection** checks it while you watch, and says what failed
       rather than leaving you to find out during the install.
     - Once the connection works, the **branch** list is read off the
       repository, with its real default branch already selected. You do not
       have to remember the name.
4. Leave **Automatic install (recommended)** selected.
5. Fill in **Admin email**, **Admin password** and, if you like, a **business
   name**. These become your login for 6ammart's own admin panel — not for
   SixPanel. **Suggest a strong password** generates one and shows it once, so
   copy it before you move on.
6. Press the install button and watch the live log.

Use a plain English-letter email address here. 6ammart's installer rejects
addresses with accented or non-Latin characters, and the panel stops you early
rather than seven minutes into the job.

The panel unpacks or clones the code, creates this project's own Linux user,
PHP-FPM pool and database if they do not exist yet, writes the settings this
server manages, installs the PHP libraries with Composer as that project's own
user, creates the app key, starts the web services, runs 6ammart's install,
rebuilds the caches and starts the background workers.

The library step takes a few minutes on a small server. That is normal.

**The automatic install does not ask for your CodeCanyon purchase code.** It
does not open 6ammart's own installer, and that installer is the only place
that asks for the code. Nothing asks for it after the install either. Keep the
code safe anyway: you need it to download new versions from CodeCanyon, and
6ammart asks for it again if you ever activate a paid add-on inside its own
admin panel.

**Expected result:** the log ends with the site being live, and a message
telling you to log in with the admin email you set.

---

## If a project was left half-installed

A project whose files are on the server but whose database was never created —
every page answering with an error, and no admin account to log in with — can be
finished from the panel. Open **Deploys** and press **Finish install**. It runs
the same steps the automatic install runs, so you do not need a browser tab or
the 6amMart installer. (Older releases refused a project in that state and
pointed you at the browser wizard instead.)

---

## The browser-wizard install

You do not need this. It is here for the case where you want to watch 6amMart's
own installer run.

1. Steps 1 to 3 as above, but choose **Browser wizard — walk through 6amMart's
   own installer yourself**.
2. Start the install and let the code land.
3. When the job finishes, open `https://your-domain/install` in a new tab.
4. Complete 6ammart's own installer. It asks for your CodeCanyon purchase code
   and creates the first admin user.
5. Come back to the panel and press the button that finishes the setup.

Step 5 is not optional. It switches the app out of installer mode and starts
the queue worker and the scheduler. Until you press it, the project is not
finished.

### A 500 error before you press Finish is normal

Between step 2 and step 5 the app is in installer mode. Any page other than
`/install` can answer with a 500 error. That is expected. Complete the
installer, press the finish button, and the error goes away.

---

## How to check it worked

- The **Deploys** page now says the project is live and shows the version it is
  running.
- `https://your-domain` opens your site.
- You can log in to 6ammart's own admin panel at
  `https://your-domain/login/admin` with the **Admin email** and **Admin
  password** you typed above. That address is 6ammart's own login page, not
  SixPanel's — `/admin` and `/login` on their own do not open it.
- **Server → Health** is green, and the project's **Advanced → Services** tab
  shows the queue worker and the scheduler running.
- The health check **The app answers requests** is green. That one asks your
  own site, on this server, what `/api/v1/config` gives back — the first call
  every 6ammart phone app makes. If it is red while everything else is green,
  read its line: it is the app, not the machine.

## If it went wrong

**The button is greyed out, with a note about the domain**
Save the project's domain on the **Domain & SSL** page first.

**"artisan install:headless failed"**
Your copy of the 6ammart code does not include the command the automatic mode
uses. Choose **Browser wizard** instead and follow the steps above.

**The zip upload failed, or the panel says it could not find `artisan`**
The zip must contain a Laravel root — the folder holding `artisan`. The panel
looks inside nested folders for exactly one such place, and says what it found
when there is none or more than one. Re-download the admin zip from CodeCanyon
if the file may be damaged.

**The shop name in the browser tab is not the name I chose**
That name is 6ammart's own `APP_NAME` setting, and the panel deliberately never
writes it — Laravel builds the login cookie and the cache keys from it, so
changing it signs everyone out. Your customer-facing shop name belongs in
6ammart's admin panel, under its business settings. See **[Rename a
project](https://test-allsweb.allsweb.net/sixpanel/docs/project-name)** for what changing `APP_NAME` costs.

**"admin app already present — use Update instead"**
The code is already installed. To bring in newer code, use the update path —
see **[Deploy and update](https://test-allsweb.allsweb.net/sixpanel/docs/deploy-update)**.

**"… is 6amMart 3.8, and SixPanel supports 4.0 and newer"**
Your code is an older release than this panel runs. SixPanel supports **6amMart
4.0 and newer**; 3.x is a different application underneath — a different
Laravel, a different websocket package, and a different set of database tables —
so the panel stops before it changes anything rather than installing something it
cannot run properly.

Nothing on your server was touched. Upgrade the code to 4.0 or newer using
6amtech's own update packages from your CodeCanyon downloads, then install it
here.

The version is read from your code itself, in
`app/Http/Controllers/InstallController.php`, because that is the line 6amMart's
own installer writes. It is **not** read from `.env` — a fresh 6amMart download
ships an `.env` left over from the previous release (a genuine 4.1 download says
`SOFTWARE_VERSION=3.9` in that file), so your admin panel footer can show a
number that is one release behind what you actually have. If the panel and your
footer disagree, the panel is reading the reliable one.

**The install failed part-way**
Fix what the log complains about and press the same button again. A failed
install is retried in place: the panel refreshes the existing copy of the code
rather than making you clean anything up.

**The clone step fails**
Check the repository address, the branch name, and the token. A token only
works with an `https://` repository address. A private repository with no token
fails here. See **[Put your code in a git
repository](https://test-allsweb.allsweb.net/sixpanel/docs/put-your-code-in-git)**.

**"is not empty — clear it before installing"**
Something is already in the app folder from an earlier attempt. Contact support
rather than deleting folders by hand.

**You are moving a project that already exists somewhere else**
Do not run 6ammart's installer at all. Install the code here, then use the
transfer wizard — see **[Move an existing site
here](https://test-allsweb.allsweb.net/sixpanel/docs/move-existing-site)**.

More causes and fixes: **[When something is broken](https://test-allsweb.allsweb.net/sixpanel/docs/troubleshooting)**.
