npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

node-file-manager-esm

v3.3.3

Published

A simple file manager, based on Koa and Angular.js. Standalone, Koa-mountable. Import-able as ES6 and Babel module.

Downloads

13

Readme

For more info see https://www.npmjs.com/package/node-file-manager-esm

screenshot v3

File Manager

File manager web server based on Node.js with Koa, Angular.js and Bootstrap, updated to use a recent Koa and be mount compatible and is rewritten to be an ECMAScript Module (or Babel). Has multi file upload. Reduced dependencies. Usable from cli.

Supported: ESM-importable, standalone, docker

Environment variables

These are relevant for the container

  • FM_PORT -- [5000] The server port to use, if no port param was given, tries FM_PORT then PORT
  • FM_SECURE -- Is off by default! Use BASIC-AUTH with the htpasswd of the path provided. To use FM_USER or --user, set FM_SECURE=true
  • FM_USER -- If FM_SECURE is used (or FM_SECURE=true), users can be added manually. pw can be a clear password or a password hash created by htpasswd. It will ignore any htpasswd file from FM_SECURE. Example FM_USER="adam:adam123\neve:eve123"
  • FM_MAXSIZE -- [300] Set the max file size for uploads in MB
  • FM_LOGGING -- Output logging info [using just * resolves to fm:* and can be set as environment variable with DEBUG=fm:* as well. FM_LOGGING=traffic will only show fm:traffic] To see all possible output, set DEBUG=*
  • FM_FILTER -- ["zip|tar.gz|7z|..."] Important files to filter for. The pattern is seperated by |. Example: zip|mp4|txt
  • FM_MIMEFILTER -- ["video/|audio/|image/*"] Only for file selection upload dialog in the web interface. Example: video/*|image/*
  • FM_NAME -- ["File Manager"] Overwrite the web ui title

Generating htaccess, proxy, ...

For more details see:

https://www.npmjs.com/package/node-file-manager-esm

Volumes

Exposed are

  • /data for the folder to use
  • /logs for the folder to save any logs to
  • /secure for the folder where the htpasswd file is (to be used as FM_SECURE=/secure/htpasswd)

Use

\> docker run -p 5000:5000 -it --volume D:\:/data --name node-filemanager-esm bananaacid/docker-node-filemanager-esm

Changes

  • added support for big files (v3.2.0)
  • upload progress and file updates for all connected clients (v3.2.0)
  • max upload filesize (v3.2.0)
  • handling of canceled files (v3.2.0)
  • full standalone support (v3.2.0)
    • relative paths support for --directory and --secure (v3.2.0)
  • file renaming if error named file exists and alike (v3.3.1)
  • adding users by commandline/env (v3.3.1)
  • fixed env presented to docker to be FM_USER (v3.3.2)
  • added compose file (v3.3.2)
  • reducing docker image from 1GB to 211MB (v3.3.3)

docker-compose.yaml

version: '3.3'

services:
  file-manager:
    image: bananaacid/docker-node-filemanager-esm:latest
    restart: unless-stopped
    container_name: file-manager
    hostname: file-manager

    environment:
      FM_FILTER: "zip|tar.gz|7z|7zip|tar|gz|tgz|tbz|tar.bz2|tar.bz|txt|md|doc|docx|otf|ppt|pptx|xls|xlsx|csv|indd|jpg|jpeg|heic|heif|png|ps|svg|ai|avi|mp4|mpg|wav|flac|mpeg|mov"
      FM_MIMEFILTER: "video/*|audio/*|image/*"
      FM_SECURE:
      FM_USER:
      FM_MAXSIZE: 300
      FM_LOGGING: "*"
      FM_NAME: 
    expose:
      - "5000"
    volumes:
      - /data
      - /logs
      - /secure
networks:
  filemanager: