- Move Astro files from dealplustech-astro/ to project root - Update Dockerfile: PORT environment variable (default 80) - Add vite.config.ts with allowedHosts: true - Matches nixpacks behavior for Easypanel deployment - No hardcoded ports or domains
119 lines
2.5 KiB
Markdown
119 lines
2.5 KiB
Markdown
# 🚢 Image Deployment Options
|
|
|
|
## The Issue
|
|
|
|
When you built `dealplustech-astro:latest`, it's only on your **local Docker**. Easypanel server can't access it.
|
|
|
|
## ✅ Solutions
|
|
|
|
### Option 1: Easypanel Docker Registry (Recommended)
|
|
|
|
Easypanel provides a built-in Docker registry.
|
|
|
|
**Steps:**
|
|
|
|
```bash
|
|
# 1. Get registry URL (usually SERVER_IP:3001)
|
|
# For your setup: 110.164.146.46:3001
|
|
|
|
# 2. Login to registry
|
|
docker login 110.164.146.46:3001
|
|
# Use Easypanel credentials
|
|
|
|
# 3. Tag image
|
|
docker tag dealplustech-astro:latest 110.164.146.46:3001/customerwebsite/dealplustech-astro:latest
|
|
|
|
# 4. Push
|
|
docker push 110.164.146.46:3001/customerwebsite/dealplustech-astro:latest
|
|
|
|
# 5. In Easypanel dashboard, use:
|
|
# Image: 110.164.146.46:3001/customerwebsite/dealplustech-astro:latest
|
|
```
|
|
|
|
---
|
|
|
|
### Option 2: Docker Hub (Public)
|
|
|
|
```bash
|
|
# Tag with your Docker Hub username
|
|
docker tag dealplustech-astro:latest yourusername/dealplustech-astro:latest
|
|
|
|
# Push
|
|
docker push yourusername/dealplustech-astro:latest
|
|
|
|
# In Easypanel, use:
|
|
# Image: yourusername/dealplustech-astro:latest
|
|
```
|
|
|
|
**Note:** Public repository - anyone can see it
|
|
|
|
---
|
|
|
|
### Option 3: Private Registry (Harbor, GitLab, etc.)
|
|
|
|
```bash
|
|
# Tag for your registry
|
|
docker tag dealplustech-astro:latest registry.yourcompany.com/project/dealplustech-astro:latest
|
|
|
|
# Login
|
|
docker login registry.yourcompany.com
|
|
|
|
# Push
|
|
docker push registry.yourcompany.com/project/dealplustech-astro:latest
|
|
```
|
|
|
|
---
|
|
|
|
### Option 4: Direct Server Deployment
|
|
|
|
If you have SSH access to Easypanel server:
|
|
|
|
```bash
|
|
# Export image
|
|
docker save dealplustech-astro:latest > dealplustech-astro.tar
|
|
|
|
# Copy to server
|
|
scp dealplustech-astro.tar user@110.164.146.46:/tmp/
|
|
|
|
# SSH to server and load
|
|
ssh user@110.164.146.46
|
|
docker load < /tmp/dealplustech-astro.tar
|
|
|
|
# In Easypanel, use:
|
|
# Image: dealplustech-astro:latest (local)
|
|
```
|
|
|
|
---
|
|
|
|
## 🎯 Recommended for Your Setup
|
|
|
|
**Use Easypanel's built-in registry:**
|
|
|
|
```bash
|
|
# 1. Login
|
|
docker login 110.164.146.46:3001
|
|
|
|
# 2. Tag
|
|
docker tag dealplustech-astro:latest 110.164.146.46:3001/customerwebsite/dealplustech-astro:latest
|
|
|
|
# 3. Push
|
|
docker push 110.164.146.46:3001/customerwebsite/dealplustech-astro:latest
|
|
|
|
# 4. Create service in Easypanel with:
|
|
# Image: 110.164.146.46:3001/customerwebsite/dealplustech-astro:latest
|
|
```
|
|
|
|
---
|
|
|
|
## 📋 Checklist
|
|
|
|
- [ ] Choose registry option
|
|
- [ ] Login to registry
|
|
- [ ] Tag image correctly
|
|
- [ ] Push to registry
|
|
- [ ] Use full image name in Easypanel
|
|
|
|
---
|
|
|
|
**Next Step:** Push to Easypanel registry, then create service!
|