> For the complete documentation index, see [llms.txt](https://docs.hivel.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hivel.ai/archive/generic/hivel-on-premises-deployment-guide-generic/8.-deployment-methods/method-1-deployment-using-deploy.sh-script-recommended.md).

# Method 1: Deployment Using deploy.sh Script (Recommended)

On-Prem Deployment Guide (Generic)

### Deploy VM1 Services

**Goal:** bring up every VM1 service in one command.

On VM1 only:

```
cd /opt/docker-onprem-installer

# Deploy all VM1 services
./deploy.sh --vm1
```

This deploys:

* Redis Cache
* Auth Service
* Insightly Service
* GitHub Service
* GitLab Service
* Jira Service
* Insightly UI
* API Gateway

Or deploy a specific service:

```
./deploy.sh --service auth-svc
./deploy.sh --service insightly-svc
```

**Expected result**: ./deploy.sh --status on VM1 shows all VM1 services as Up.

**If it fails:** see Services not starting in [Troubleshooting](/archive/generic/hivel-on-premises-deployment-guide-generic/11.-troubleshooting.md).

### Deploy VM2 Services

On VM2 only:

```
cd /opt/docker-onprem-installer

# Deploy VM2 services
./deploy.sh --vm2
```

This deploys:

* Git Util Service

Or deploy a specific service:

```
./deploy.sh --service git-util
```

**Expected result:** `./deploy.sh --status` on VM2 shows the Git Util Service as Up.

**If it fails:** see Services not starting in [Troubleshooting](/archive/generic/hivel-on-premises-deployment-guide-generic/11.-troubleshooting.md).

**Next step:** [Log Rotation Setup](/archive/generic/hivel-on-premises-deployment-guide-generic/9.-log-rotation-setup.md), then Verification and Access to confirm everything actually works.

### Available deploy.sh Commands

```
# Deploy all services (VM1 + VM2 on same instance - NOT recommended)
./deploy.sh --all

# Deploy VM1 services only
./deploy.sh --vm1

# Deploy VM2 services only
./deploy.sh --vm2

# Deploy specific service
./deploy.sh --service <service-name>

# Check service status
./deploy.sh --status

# Check service health
./deploy.sh --health

# View logs
./deploy.sh --logs
./deploy.sh --logs <service-name>

# Start services
./deploy.sh --start

# Stop services
./deploy.sh --stop

# Restart services
./deploy.sh --restart

# Update services (pull latest images)
./deploy.sh --update

# List all services
./deploy.sh --list

# Show help
./deploy.sh --help
```

{% columns %}
{% column %} <a href="/archive/generic/hivel-on-premises-deployment-guide-generic/8.-deployment-methods.md" class="button primary" data-icon="backward">Deployment Methods</a>
{% endcolumn %}

{% column %}

{% endcolumn %}

{% column %} <a href="/archive/generic/hivel-on-premises-deployment-guide-generic/8.-deployment-methods/method-2-using-docker-compose-directly.md" class="button primary" data-icon="forward">Method 2: Using Docker Compose Directly</a>
{% endcolumn %}
{% endcolumns %}
