Giter Club home page Giter Club logo

dweebui's Introduction

DweebUI Beta v0.60 ( ๐Ÿ”ฅ Experimental ๐Ÿ”ฅ )

Free and Open-Source WebUI For Managing Your Containers.

Features

  • A dynamically updating dashboard that displays server metrics along with container metrics and container controls.
  • Multi-user support with permissions system.
  • Container actions: Start, Stop, Pause, Restart, View Details, View Logs.
  • Windows, Linux, and MacOS compatable.
  • Light/Dark Mode.
  • Mobile Friendly.
  • Manage your Docker networks, images, and volumes.
  • Easy to install app templates.
  • Docker Compose Support.
  • Update containers (planned).
  • Templates.json maintains compatability with Portainer, allowing you to use the template without needing to use DweebUI.
  • Preset variables (planned).
  • Themes (planned).

About

  • I started this as a personal project to get more familiar with Javascript and Node.js, so there may be some rough edges and spaghetti code.
  • I'm open to any contributions but you may want to wait until I reach v1.0 first.
  • Please post issues and discussions so I know what bugs and features to focus on.
  • DweebUI is a management interface and should not be directly exposed to the internet.

Setup

Docker Compose:

version: "3.9"
services:
  dweebui:
    container_name: dweebui
    image: lllllllillllllillll/dweebui
    environment:
      PORT: 8000
      SECRET: MrWiskers
      HTTPS: false
    restart: unless-stopped
    ports:
      - 8000:8000
    volumes:
      - dweebui:/app/config
      # Docker socket
      - /var/run/docker.sock:/var/run/docker.sock
      # Podman socket
      #- /run/podman/podman.sock:/var/run/docker.sock

    networks:
      - dweebui_net

volumes:
  dweebui:

networks:
  dweebui_net:
    driver: bridge

Windows and MacOS Setup

Compose setup:

  • Paste the above content into a file named docker-compose.yml then place it in a folder named dweebui.
  • Open a terminal in the dweebui folder, then enter docker compose up -d.
  • You may need to use docker-compose up -d or execute the command as root with either sudo docker compose up -d or sudo docker-compose up -d.

Credits

Supporters

  • MM (Patreon)
  • PD (Buymeacoffee)

dweebui's People

Contributors

dependabot[bot] avatar gaby avatar lllllllillllllillll avatar steveiliop56 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

dweebui's Issues

Some improvements to the docker compose file.

Hello,

Awesome project! Just wanted to point some things out for a docker compose file. Here they are:

  1. It would be better to use names like: dweeb-redis and dweeb so you can focus on simple names. Something like DweebUiCache makes things complicated.
  2. I would recommend using unless-stopped on both containers because with the current setup if you stop dweeb with docker stop DweebUI it wont start unless you start it while redis will : )
  3. I saw that you are using redis as cache. Are the data of redis really needed?
  4. It would be better to force users to create the dweeb directory since some users may just create a docker-compose file inside their home directory for example.
  5. I think bind volumes would be more useful since users may need to access dweeb data.

Thats all! Again awesome project!

Image tab unavailable

Hello,

When I click on the Image tab, it says page not found.

`DB Connection: โœ”
Synced Models: โœ”
Listening on http://localhost:8000
file:///app/controllers/images.js:80
if (container_images.includes(images[i].RepoTags[0])) {
^

TypeError: Cannot read properties of null (reading '0')
at Images (file:///app/controllers/images.js:80:57)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)

Node.js v22.2.0
DB Connection: โœ”
Synced Models: โœ”
Listening on http://localhost:8000
file:///app/controllers/images.js:80
if (container_images.includes(images[i].RepoTags[0])) {
^

TypeError: Cannot read properties of null (reading '0')
at Images (file:///app/controllers/images.js:80:57)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)

Node.js v22.2.0
DB Connection: โœ”
Synced Models: โœ”
Listening on http://localhost:8000`

Any hint? Thanks!

[bug] network tab unavailable

saw the image problem in this #85. So i try the dev release.

compose.yaml

version: "3.9"
services:
  dweebui:
    container_name: dweebui
    image: docker.io/lllllllillllllillll/dweebui:v0.70-dev
    networks:
      - traefik
    environment:
      PORT: ${port}
      SECRET: ${secret}
      HTTPS: false
    volumes:
      - type: bind
        source: ${dockerPath}
        target: /var/run/docker.sock
      - type: volume
        source: dweebui
        target: /app/config
    labels:
      # using traefik to expose service
      # enable traefik
      - traefik.enable=true
networks:
  traefik:
    driver: bridge
    external: true
volumes:
  dweebui:
    external: true
    name: dweebui

Logs

DB Connection: โœ”๏ธ
Synced Models: โœ”๏ธ
Listening on http://localhost:8000
file:///app/controllers/networks.js:11
let network_name = containers[i].HostConfig.NetworkMode;
^

TypeError: Cannot read properties of undefined (reading 'NetworkMode')
at Networks (file:///app/controllers/networks.js:11:53)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)

Node.js v22.3.0
DB Connection: โœ”๏ธ
Synced Models: โœ”๏ธ
Listening on http://localhost:8000
file:///app/controllers/networks.js:11
let network_name = containers[i].HostConfig.NetworkMode;
^

TypeError: Cannot read properties of undefined (reading 'NetworkMode')
at Networks (file:///app/controllers/networks.js:11:53)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)

Node.js v22.3.0

Dashboard list view

Awesome project,

maybe I missed something, but a list view would be great for the dashboard, as with docker-compose stacks, containers start with projectname-something.

So I end with projectname-..... with nearly all of my containers.

Thanks

Make username simpler : )

It would be easier for you to have a simpler username so we can easily download the image and not having to find lllllllllllillllllllilllll.

Error: Cannot find module '/app/server.js'

My Compose

  dweebui:
    container_name: dweebui
    image: lllllllillllllillll/dweebui:v0.60
    environment:
      PORT: 8319
      SECRET: MrWiskers
      HTTPS: false
    restart: unless-stopped
    ports:
      - 8319:8000
    volumes:
      - /dkr/config/dweebui:/app
      # Docker socket
      - /var/run/docker.sock:/var/run/docker.sock

Cannot connect to gui, logs show me this error

Node.js v21.6.2
node:internal/modules/cjs/loader:1152
๏ฟฝ
  throw err;
  ^
Error: Cannot find module '/app/server.js'
    at Module._resolveFilename (node:internal/modules/cjs/loader:1149:15)
    at Module._load (node:internal/modules/cjs/loader:990:27)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:142:12)
    at node:internal/main/run_main_module:28:49 {
  code: 'MODULE_NOT_FOUND',
  requireStack: []
}

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.