Tagem - A Self-hosted Feature-Rich File Manager for Your Server

Tagem - A Self-hosted Feature-Rich File Manager for Your Server

A single page application, with associated command-line utilities, for the rapid categorising and accessing of files, based on assignable attributes such as (hierarchical) tags, named variables, file sizes, hashes, and audio duration.

Features

  • Supports most common file formats
  • Hashing of local files.
    • Hashes include MD5, SHA256, and DCT (visual hashing of images and video).
    • These hashes can be used in qry to facilitate fast manual de-duplication.
    • Hashing of remote files is planned.
  • Text editor
    • More of a text creator atm, as editing existing files is currently restricted.
  • Ordering, filtering etc. of results in the tables on the page.
  • qry: A simple query language that allows for short and human-friendly queries that automatically translate to complex SQL queries
    • Combine ANDs and ORs (intersections and unions) of many different filters (for attributes like size, views, likes, tags; hashes in common with other files; etc).
    • It can search for all types of things, not just files but also the tags themselves.
    • See the full documentation.
  • Heirarchical tags
    • Any tag can have any number of parent tags and any number of child tags.
  • Everything can be tagged
    • Eras, files, directories, devices, and even tags themselves (as parent tags)
    • For instance, the directory https://www.youtube.com/watch?v- could be tagged Video, and that tag will be applied to all files within.
  • Support for remote files
    • Remote files are as accessible as local files (except for some sites that tell the browser not to display them within iframes - though there's a relatively simple workaround for that).
    • You can add files from the server's attached storage devices, and also from remote websites (including an option for downloading with youtube-dl). Local copies of remote files are treated as backups, and are listed on the remote file's page.
    • With the view filesystem option, this means that - provided the server has access to a script written for the specific website - a website's contents could be easily viewable in the table view.
  • Eras
    • Tagged time intervals of audio and video files.
    • These can be searched for, and used in playlists interchangeably with files themselves.
    • Eras can be downloaded (from a local file or remote URL) into their own file.
      • NOTE: This currently requires ffmpeg to be installed alongside this server. However, it will eventually be combined into the server itself.
  • Playlists
    • Playlists can be created on the fly out of any selection of files and/or eras (in any combination).
  • Support for other databases
    • Files can be associated with posts from other databases, so long as those databases follow a strict structure.
    • For instance, a Reddit post could be scraped, and associated with the URL of the linked article, as here
    • Each external database can, if it includes the necessary tables, display a lot more information than just the comments under a post, even listing all the posts (translated to our files) that a single user has commented on.
    • An example script for scraping Reddit posts is included in this project
  • Tag thumbnails
    • These thumbnails are inherited from their parents, unless the child has a thumbnail of its own.
  • file2 values
    • Files can be assigned arbitrary values, currently integers and datetimes.
    • For instance, you could have a Score attribute for each user to assign to files.
  • Permissions system
    • Different users can be assigned different blocklists of tags, and will not be able to view any era/file/directory/device with such a tag, or a descendant of such a tag.
    • Different users can have different allowed actions, such as viewing files, editing tags, creating eras, assigning tags, and adding files.
    • A big caveat here is that the login system is currently only a placeholder - it does not yet even ask for a password.
  • Low footprint
    • Almost all executed JavaScript was written by hand - only one 3rd party library is loaded
    • On Firefox, each page consumes 10-15MB - comparable to a Google search results page
    • The CSS is designed to avoid unnecessarily moving parts

Supported Systems

  • Linux

License

The app is released under the GPL-3.0 License

Resources

GitHub - NotCompsky/tagem: A broad family of utilities for organising files based on hierarchical tagging, from web server to a computer vision dataset creation pipeline.
A broad family of utilities for organising files based on hierarchical tagging, from web server to a computer vision dataset creation pipeline. - NotCompsky/tagem







Read more

EHrapy: The Ultimate Open-Source Tool for Simplifying Healthcare Data and Medical Records Analysis

EHrapy: The Ultimate Open-Source Tool for Simplifying Healthcare Data and Medical Records Analysis

Healthcare researchers and data scientists often grapple with processing vast amounts of complex, sensitive Electronic Health Records (EHR) data. EHrapy, an open-source Python package developed by TheisLab, tackles these challenges head-on. It streamlines the handling, analysis, and exploration of healthcare data—especially EHR data—in a privacy-preserving and user-friendly manner.

By Hazem Abbas



Open-source Apps

9,500+

Medical Apps

500+

Lists

450+

Dev. Resources

900+

/