You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2.1 KiB

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