NUC yml config backup
This commit is contained in:
123
portainer-compose-stacks/EDGE-AGENT-SETUP.md
Normal file
123
portainer-compose-stacks/EDGE-AGENT-SETUP.md
Normal file
@@ -0,0 +1,123 @@
|
||||
# Portainer Edge Agent Setup Guide
|
||||
|
||||
## Overview
|
||||
Edge Agent allows you to connect Docker environments to Portainer over the network instead of using local socket connection. This is useful when having socket connection issues.
|
||||
|
||||
Reference: https://downloads.portainer.io/edge_agent_guide.pdf
|
||||
|
||||
## Step 1: Access Portainer UI
|
||||
|
||||
Access your Portainer instance:
|
||||
- HTTP: http://localhost:9000
|
||||
- HTTPS: https://localhost:9443
|
||||
|
||||
Complete the initial setup if you haven't already (create admin user).
|
||||
|
||||
## Step 2: Add Edge Environment in Portainer UI
|
||||
|
||||
1. **Log into Portainer**
|
||||
|
||||
2. **Go to Environments** (left sidebar)
|
||||
|
||||
3. **Click "Add environment"**
|
||||
|
||||
4. **Select "Edge Agent Standard"**
|
||||
- Choose "Docker Standalone"
|
||||
- Name: `nuc-edge` (or your preferred name)
|
||||
|
||||
5. **Copy the deployment command** shown in the UI
|
||||
- It will include your `EDGE_ID` and `EDGE_KEY`
|
||||
- The command looks like:
|
||||
```bash
|
||||
docker run -d \
|
||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||
-v /var/lib/docker/volumes:/var/lib/docker/volumes \
|
||||
-v /:/host \
|
||||
-v portainer_agent_data:/data \
|
||||
--restart always \
|
||||
-e EDGE=1 \
|
||||
-e EDGE_ID=xxx \
|
||||
-e EDGE_KEY=xxx \
|
||||
-e CAP_HOST_MANAGEMENT=1 \
|
||||
-e EDGE_INSECURE_POLL=1 \
|
||||
--name portainer_edge_agent \
|
||||
portainer/agent:latest
|
||||
```
|
||||
|
||||
6. **Extract EDGE_ID and EDGE_KEY** from the command
|
||||
|
||||
## Step 3: Configure Edge Agent
|
||||
|
||||
### Option A: Using docker-compose (Recommended)
|
||||
|
||||
1. **Copy the example env file:**
|
||||
```bash
|
||||
cd /mnt/shared/DEV/repos/d-popov.com/scripts/portainer-compose-stacks
|
||||
cp .env.edge-agent.example .env
|
||||
```
|
||||
|
||||
2. **Edit .env file** with your EDGE_ID and EDGE_KEY:
|
||||
```bash
|
||||
nano .env
|
||||
```
|
||||
|
||||
3. **Start the Edge Agent:**
|
||||
```bash
|
||||
docker-compose -f portainer-edge-agent.yml up -d
|
||||
```
|
||||
|
||||
### Option B: Using the Docker command directly
|
||||
|
||||
Just run the command copied from Portainer UI in Step 2.
|
||||
|
||||
## Step 4: Verify Connection
|
||||
|
||||
1. Go back to Portainer UI → **Environments**
|
||||
|
||||
2. Your edge environment should show as **"Connected"** (green)
|
||||
|
||||
3. Click on the environment to manage your Docker containers
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Edge Agent not connecting:
|
||||
|
||||
1. **Check logs:**
|
||||
```bash
|
||||
docker logs portainer-edge-agent
|
||||
```
|
||||
|
||||
2. **Verify Portainer tunnel is accessible:**
|
||||
```bash
|
||||
curl http://localhost:8000
|
||||
```
|
||||
|
||||
3. **Check if agent container is running:**
|
||||
```bash
|
||||
docker ps | grep edge-agent
|
||||
```
|
||||
|
||||
4. **Ensure firewall allows port 8000** (for Edge polling)
|
||||
|
||||
### Environment shows as "Down":
|
||||
|
||||
- Wait 30-60 seconds for initial connection
|
||||
- Check that EDGE_ID and EDGE_KEY are correct
|
||||
- Restart the agent: `docker restart portainer-edge-agent`
|
||||
|
||||
## Cleanup
|
||||
|
||||
To remove Edge Agent:
|
||||
```bash
|
||||
docker-compose -f portainer-edge-agent.yml down -v
|
||||
# or
|
||||
docker stop portainer-edge-agent && docker rm portainer-edge-agent
|
||||
```
|
||||
|
||||
## Notes
|
||||
|
||||
- Edge Agent polls Portainer server every 5 seconds by default
|
||||
- `EDGE_INSECURE_POLL=1` allows connection without TLS (for local testing)
|
||||
- Port 8000 is used for the Edge tunnel communication
|
||||
- Port 9001 is the agent API port (optional, for direct access)
|
||||
|
||||
Reference in New Issue
Block a user