> For the complete documentation index, see [llms.txt](https://docs.jetadmin.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.jetadmin.io/jet-bridge-deployment/cloud-jet-bridge-and-on-premises/on-premise/deploy-on-premise-jet-admin-with-docker.md).

# Deploy On-Premise Jet Admin with Docker

Learn how to deploy an instance of On-Premise Jet Admin using Docker-compose.

This deployment method grants you access to the full suite of Jet Admin services, empowering your workflow with comprehensive functionality.

## Requirements

* Command-line experience
* Experience with and setups involving Docker Engine and Docker Compose are required.

### Configuration

For On-premise Jet Admin instances, you need a Linux-based machine that fulfills the following criteria:

* Ubuntu 22.04 or later.&#x20;
* 8GiB memory.
* 4x vCPUs.
* 60GiB storage.
* `curl` and `unzip` software packages installed.

### **Install On-Premise Jet Admin:**

Navigate to the environment settings. From the left menu, select "On-premise" and designate the app deployment type as "On-premise".

{% @arcade/embed flowId="Ims6qU1aaFAnsQR1t8sa" url="<https://app.arcade.software/share/Ims6qU1aaFAnsQR1t8sa>" %}

* Open a terminal or command prompt and execute the following command:

```less
sudo sh -c "$(curl -sS https://link-dev.jetadmin.io/install/o23b1j05tktey5glysf504xm6ayi5mklao3kuf60ltt9jzjl)"
```

{% hint style="info" %}
The link provided here is just an example. You need to copy your personalized project link from your project. If you need to know how to find the link, follow the instructions provided in the clip.
{% endhint %}

* This command retrieves a script from the specified URL (<https://link-dev.jetadmin.io/install/o23b1j05tktey5glysf504xm6ayi5mklao3kuf60ltt9jzjl>) and runs it using `sh`.&#x20;
* This script will handle the installation process for the Jet Admin package

{% embed url="<https://www.loom.com/share/688fec3577de4681b4c769f1354dfa68?sid=e368e4ea-37e9-4693-8127-ddb723dfefdf>" %}

### **Run Jet Admin On-Premise:**

* After the installation is complete, you can run Jet Admin on-premise using Docker-compose.
* Navigate to the jet-onpremise directory where Jet Admin is installed.
* Run the following command to start Jet Admin and its components in the background:

  ```
  sudo docker-compose up -d
  ```
* The application should now be accessible at the specified NGINX port (default is 80) on your localhost (`http://localhost:80`).

{% embed url="<https://www.loom.com/share/a55213e22f854f8ca086932cc5cbe876?sid=8bcf4961-de80-4da3-96a0-e0a414234675>" %}

### **Verification:**

* To verify that Jet Admin is running, open a web browser and navigate to `http://localhost:80`.
* Proceed to create a new account, then create a project and add resources.

{% embed url="<https://www.loom.com/share/04a605f83cda438d9d63f72e59c7375c?sid=95cd8a8f-82bc-46e3-b27f-fa9d6de5125f>" %}

{% hint style="success" %}
**Performance Optimization (Optional)**

To improve runtime efficiency after your initial deployment, we recommend stopping additional JetAdmin migration containers once they have completed their tasks (typically within \~10 minutes post-deployment). On your on-premise server, run the following command to force-remove any residual migration containers:

`sudo docker ps -aq --filter "name=migrations_run" | xargs -r sudo docker rm -f`

This step helps free system resources and can enhance overall performance of your JetAdmin instance.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.jetadmin.io/jet-bridge-deployment/cloud-jet-bridge-and-on-premises/on-premise/deploy-on-premise-jet-admin-with-docker.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
