gitwtfhub

wtf is angie-files?

yoas1/angie-files — explained in plain English

Analysis updated 2026-05-18

2HTMLAudience · ops devopsComplexity · 2/5LicenseSetup · easy

TL;DR

A self-hosted file manager with a dashboard and a public search-friendly directory listing, built on the Angie web server using WebDAV.

Mindmap

mindmap
  root((angie-files))
    What it does
      File manager
      Admin dashboard
      Public directory listing
    Tech stack
      Angie NGINX
      WebDAV
      Python
      Docker
    Use cases
      Home file server
      Air gapped storage
      Locked folder sharing
    Audience
      Self hosters
      Ops devops

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Run a private, password-protected file server for a home network or air-gapped environment.

REASON 2

Give visitors a searchable public directory listing without exposing an admin panel.

REASON 3

Upload, rename, and delete files from the command line using curl instead of a browser.

REASON 4

Share a locked folder with a separate password from the rest of the file server.

What's in the stack?

AngieNGINXWebDAVPythonHTMLCSSJavaScriptDocker

How it stacks up

yoas1/angie-files100/talk_stockalexcybernetic/playground-ai
Stars222
LanguageHTMLHTMLHTML
Last pushed2022-03-24
MaintenanceDormant
Setup difficultyeasymoderateeasy
Complexity2/53/51/5
Audienceops devopsgeneralgeneral

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · easy Time to first run · 5min

Requires Docker to run the container, no other external dependencies.

BSD 2-Clause lets you reuse, modify, and redistribute the code freely, including commercially, as long as you keep the copyright notice.

Wtf does this do

Angie Files is a self-hosted web application for managing files through a browser, built on top of Angie, a fork of the NGINX web server, using the WebDAV protocol. It gives you two ways to look at your files: a public directory listing page with a dark theme, search, and a button to reach the admin dashboard, and a locked admin dashboard where you can upload, delete, rename files, and change your password. One folder can be marked as locked and protected with a password, and that password can be set through environment variables when you start the app or changed later from inside the dashboard. The tool also includes a recursive search feature that looks through directories up to four levels deep and shows the full path for each result, so finding a file buried in subfolders does not require browsing through every level by hand. The project is meant to run with Docker or Docker Compose. The basic setup uses a default admin username and password, but you can supply your own through environment variables, and there is a way to keep your password saved across container restarts using a Docker volume, so it does not reset every time you recreate the container. You can also mount your own existing htpasswd file if you already have one, though in that case the username and password environment variables are ignored. File operations such as uploading, listing, and deleting can also be done directly from the command line using curl requests to the app's HTTP endpoints, not only through the dashboard interface. Behind the scenes it combines Angie for serving files and handling WebDAV, a small Python 3 script for the password change feature, and plain HTML, CSS, and JavaScript for the frontend with no external dependencies, matching its stated goal of working in air gapped, offline settings. It ships under the BSD 2-Clause license, a permissive license that allows you to reuse and modify the code freely.

Yoink these prompts

Prompt 1
Write a Docker Compose file for angie-files that persists both the data and the password volume.
Prompt 2
Show me a curl command to upload a file to a locked directory in angie-files using basic auth.
Prompt 3
Explain how to mount my own .htpasswd file into angie-files instead of using AF_USER and AF_PASS.
Prompt 4
Help me set up angie-files behind a reverse proxy with HTTPS.

Frequently asked questions

wtf is angie-files?

A self-hosted file manager with a dashboard and a public search-friendly directory listing, built on the Angie web server using WebDAV.

What language is angie-files written in?

Mainly HTML. The stack also includes Angie, NGINX, WebDAV.

What license does angie-files use?

BSD 2-Clause lets you reuse, modify, and redistribute the code freely, including commercially, as long as you keep the copyright notice.

How hard is angie-files to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is angie-files for?

Mainly ops devops.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.