Giter VIP home page Giter VIP logo

murmur's Introduction

Murmur Docker Container

Latest Build Status Docker Pulls Docker Stars MB License

Docker Tag Murmur Version Description Release Date
latest 1.3.4 Latest stable release 2021-02-10
1.3.4 1.3.4 Static stable release tag/image 2021-02-10


Usage

This container exposes four volumes:

  • /opt/murmur/cert - Murmur SSL certificate files
  • /opt/murmur/config - Murmur configuration files
  • /opt/murmur/data - Murmur database and other data files
  • /opt/murmur/log - Murmur log for troubleshooting

This container exposes two ports:

  • 64738/tcp Murmur server TCP port
  • 64738/udp Murmur server UDP port

The most basic way to run this container:

$ docker run --name murmur -d \
    -p 64738:64738/udp -p 64738:64738 \
    goofball222/murmur

Recommended: run via Docker Compose:

Have the container store the config & logs on a local file-system or in a specific, known data volume (recommended for persistence and troubleshooting):

version: '3'

services:
  murmur:
    image: goofball222/murmur
    container_name: murmur
    ports:
      - 64738:64738
      - 64738:64738/udp
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - ./cert:/opt/murmur/cert
      - ./config:/opt/murmur/config
      - ./data:/opt/murmur/data
      - ./log:/opt/murmur/log
    environment:
      - TZ=UTC

Example docker-compose.yml file


Environment variables:

Variable Default Description
DEBUG false Set to true for extra entrypoint script verbosity for debugging
MURMUR_OPTS unset Any additional custom run flags for the container murmur.x86 process
MURMUR_SUPW unset Used to set/change the superuser password on the command line. NB/IMPORTANT: By design Murmur will not fully start or accept connections with the -supw command line option set. Start the container once to change the password, then stop the container and remove the variable.
PGID 999 Specifies the GID for the container internal murmur group (used for file ownership)
PUID 999 Specifies the UID for the container internal murmur user (used for process and file ownership)
RUN_CHOWN true Set to false to disable the container automatic chown at startup. Speeds up startup process on overlay2 Docker hosts. NB/IMPORTANT: It's critical that you insure directory/data permissions on all mapped volumes are correct before disabling this or murmur will not start.

SSL custom certificate support (LetsEncrypt, etc.):

  1. Map the Docker host cert storage location or volume to the /opt/murmur/cert volume exposed by the container
  2. Must contain a PEM format SSL private key corresponding to the SSL certificate to be installed. Private key file MUST be named privkey.pem.
  3. Must contain a PEM format SSL certificate file with the full certification chain. LetsEncrypt handles this automatically, other providers may need manual work (https://www.digicert.com/ssl-support/pem-ssl-creation.htm). Certificate file MUST be named fullchain.pem.
  4. Start the container. sslCert and sslKey paths in murmur.ini are updated automatically during startup if SSL certificate files are detected. Status, errors, etc. can be found in the container log, IE: docker logs <containername>

If you don't want to use a custom SSL certificate then the /opt/murmur/cert volume can be left unmapped. Alternatively if the privkey.pem and/or fullchain.pem file are not present SSL customization will be skipped.

To revert from a custom cert to a Murmur self-signed certificate: stop the container, rename or remove both privkey.pem and fullchain.pem from /DATA_VOLUME/murmur/cert. Then edit the murmur.ini file in /DATA_VOLUME/murmur/config and change the lines sslCert=/opt/murmur/cert/fullchain.pem to ;sslCert= & sslKey=/opt/murmur/cert/privkey.pem to ;sslKey=, save the file, and restart the container.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.