Skip to content

silv3rr/glftpd-webui

Repository files navigation

glftpd-webui (v4)

/gl wɛb ʊi/

Docker

Web GUI for glftpd (Linux only)

Shows online users, status and stops/starts glftpd. Can also be used to view logs, edit config files and browse site. All user management can be done using forms. Includes a browser terminal that displays gl_spy, useredit and bot partyline (using websockets). It should display fine on mobile devices too.

Main page UI, click to enlarge

main

Usage

Start: ./docker-run.sh or docker run ghcr.io/silv3rr/glftpd-webui

Open url: https://your.ip:4444 and login: shit/EatSh1t (basic web auth).

Installation

Pick one of these 3 options

1) The easiest and preferred way to use glftpd-webui is to run both glftpd and webui in 2 docker containers.

Oh, look -- here's a *Ready-to-go complete glftpd install, including webui: https://github.com/silv3rr/docker-glftpd

2) If you do not want to use glftpd in docker, use 'local' mode (glftpd-webui itself will still run in container)

3) Install webui, without using docker at all. Ether try running local-install.sh or manually

Configuration

Options such as 'webui-mode', 'auth', a custom html title and display settings can be changed in config.php.

For details about installation and settings see docs/Setup.md

Auth and http user/passwd can be changed via webui after logging in.

Compose

Run pre-made images from github:

docker compose up --detach

Build and run local images:

docker compose --profile full up --build --detach local-web

(starts both webui and gl containers)

Edit 'docker-compose.yml' to change mounts, ports, vars etc. If you dont want the docker-glftpd container, remove 'glftpd' service.

Image

  • base: latest alpine (or debian*)
  • size: ~50mb
  • webserver: nginx, php8 fpm
  • stand-alone & fully separate image from 'glftpd'
  • logs: nginx logs to stderr/stdout
  • view access logs with docker logs glftpd-web

* debian image available for using systemd and dbus broker, not needed usually

Variables

Options can be set with environment variables, or (permanently) in docker-run.sh or docker-compose.yml.

Example:

as env var in shell: WEBUI_AUTH_MODE="both"

or edit docker-run.sh: WEBUI_AUTH_MODE="both" (default: "./glftpd")

or use docker compose:

# add to docker-compose.yml
services:
  web:
    image: ghcr.io/silv3rr/docker-glftpd-web:latest
    # <...>
    environment:
        WEBUI_AUTH_MODE="both"

Troubleshooting

See docs/Troubleshooting.md

Stack

Cutting-edge tech used:

Screenshots

Notification about added gadmin

notification

Terminal modal showing bot

bot


View more images