Dokémon (Dokemon) is a friendly GUI for managing Docker Containers. You can manage multiple servers from a single Dokémon (Dokemon) instance.
You can run the below commands to quickly try out Dokémon (Dokemon).
Directory Version
# Create directory to store Dokémon (Dokemon) data
sudo mkdir /dokemondata
# Run Dokemon
sudo docker run -p 9090:9090 -p 9443:9443\
  --net=host \
  -v /dokemondata:/data \
  -v /var/run/docker.sock:/var/run/docker.sock \
  --restart unless-stopped \
  --name dokemon-server -d javastraat/dokemon-server:latest
Volume Version
# Create Docker volume for Dokémon data
sudo docker volume create dokemondata
# Run Dokémon with volume
sudo docker run -p 9090:9090 \
  --net=host \
  -v dokemondata:/data \
  -v /var/run/docker.sock:/var/run/docker.sock \
  --restart unless-stopped \
  --name dokemon-server -d javastraat/dokemon-server:latest
Docker Compose Directory Version
version: "3"
services:
  dokemon-server:
    container_name: dokemon-server
    image: javastraat/dokemon-server:latest
    ports:
      - 9090:9090
    volumes:
      - /dokemondata:/data
      - /var/run/docker.sock:/var/run/docker.sock
    restart: unless-stopped
Docker Compose Volume Version
version: "3"
services:
  dokemon-server:
    container_name: dokemon-server
    image: javastraat/dokemon-server:latest
    ports:
      - 9090:9090
    volumes:
      - dokemondata:/data
      - /var/run/docker.sock:/var/run/docker.sock
    restart: unless-stopped
volumes:
    dokemondata:
Note: Whenever possible, it is recommended that you run Dokémon (Dokemon) in a private network and do not expose it to the Internet. In cases where this is not possible, for example when running on a VPS to which you only have public access, you should run Dokémon (Dokemon) behind an SSL enabled reverse proxy and use a strong password for maximum security. Refer the next section for sample configuration using Traefik.
This is an example configuration for running Dokémon (Dokemon) behind Traefik with LetsEncrypt SSL certificate.
Note: This is a sample configuration. Please modify it as per your requirements.
version: "3.3"
services:
  traefik:
    image: "traefik:v2.10"
    container_name: "traefik"
    command:
      - "--log.level=DEBUG"
      - "--accesslog=true"
      - "--api.insecure=true"
      - "--providers.docker=true"
      - "--providers.docker.exposedbydefault=false"
      - "--entrypoints.websecure.address=:443"
      - "--certificatesresolvers.dokemon.acme.tlschallenge=true"
      - "--certificatesresolvers.dokemon.acme.email=your.email@example.com"
      - "--certificatesresolvers.dokemon.acme.storage=/letsencrypt/dokemon.json"
    ports:
      - "443:443"
      - "8080:8080"
    volumes:
      - "./letsencrypt:/letsencrypt"
      - "/var/run/docker.sock:/var/run/docker.sock:ro"
  dokemon:
    image: javastraat/dokemon-server:latest
    container_name: dokemon-server
    restart: unless-stopped
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.dokemon.rule=Host(`dokemon.example.com`)"
      - "traefik.http.routers.dokemon.entrypoints=websecure"
      - "traefik.http.routers.dokemon.tls.certresolver=dokemon"
    ports:
      - 9090:9090
    volumes:
      - /dokemondata:/data
      - /var/run/docker.sock:/var/run/docker.sock
In the DNS settings for your domain, add an A record for the Host which you have mentioned in the above config. The A record should point to the public IP address of your virtual machine.
- Create a file named 
compose.yamlon your server. Copy and paste the above YAML definition into the file. Modify the email and host. Make any other changes as per your requirements. - Run 
mkdir ./letsencrypt && mkdir /dokemondata - Run 
docker compose up -d 
Open https://dokemon.example.com (substitute your URL here which you entered as Host in the compose.yaml file) in the browser. It can take a few seconds for the SSL certificate to be provisioned. If you get an error related to SSL, please wait for a few moments and then refresh your browser.
This project is MIT Licensed.



