mirror of
https://github.com/StarWhiz/docker_deployment_notes
synced 2024-11-18 21:25:41 +00:00
68 lines
2.1 KiB
Markdown
68 lines
2.1 KiB
Markdown
|
### 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
|
||
|
|
||
|
```
|
||
|
|