docker_deployment_notes/meshcentral/README.md

68 lines
2.1 KiB
Markdown
Raw Normal View History

### Introduction
THIS IS A WIP DO NOT USE...
### Minimum File Structure
```
/home/
└── ~/
└── docker/
└── meshcentral/
├── config.json.template
├── docker-compose.yml
└── Dockerfile
└── startup.sh
```
You will need the files in this GitHubs folder to build the meshcentral image and deploy it.
### Add to Caddyfile (from ~/docker/caddy)
Remember to `docker exec -w /etc/caddy caddy caddy reload` after editing your Caddyfile.
The `tls_insecure_skip_verify` line is not recommemded. This tutorial is a WIP until I figure out how
to get caddy to work with meshcentral without the `tls_insecure_skip_verify` line.
```
meshcentral.joindigital.com {
tls /certs/cert.pem /certs/key.pem
reverse_proxy meshcentral:4430 {
header_up Host {http.reverse_proxy.upstream.hostport}
header_up X-Real-IP {http.request.remote}
header_up X-Forwarded-For {http.request.remote}
transport http {
tls_insecure_skip_verify
}
}
}
```
### docker-compose.yml
Replace YOURDOMAIN.com with your actual domain.
```
version: '3'
services:
meshcentral:
restart: unless-stopped
container_name: meshcentral
build: .
# ports:
# - 4430:4430 #I Used 4430 because caddy v2 doesn't play well with a container using port 443. Can change 4430 to something else in the environment var CONTAINER_PORT below
environment:
- HOSTNAME=meshcentral.YOURDOMAIN.com
- CONTAINER_PORT=4430
- REVERSE_PROXY=YOURDOMAIN.com
- REVERSE_PROXY_TLS_PORT=443
- IFRAME=false
- ALLOW_NEW_ACCOUNTS=true
- WEBRTC=true
volumes:
- ./data:/opt/meshcentral/meshcentral-data #config.json and other important files live here. A must for data persistence
- ./user_files:/opt/meshcentral/meshcentral-files #where file uploads for users live
networks:
default:
external:
name: caddy_net
```