Skip to main content

A simple file manager for Django with S3 support

Project description

Filechest

A simple file manager for Django with S3 support.

Overview

FileChest is a TinyFileManager-like web-based file manager that can be:

  • Integrated as a Django app - Add file management to your existing Django project
  • Run standalone (adhoc mode) - Quickly browse any local directory or S3 bucket

Quick Start (Adhoc Mode)

Run FileChest for any local directory without configuration:

uvx filechest /path/to/directory

Or for an S3 bucket:

uvx filechest s3://bucket-name/prefix

To browse all accessible S3 buckets:

uvx filechest s3://

This starts a web server and opens your browser automatically. When using s3://, all buckets visible to your AWS credentials are listed on the home page.

Features

  • File/folder listing
  • S3 bucket support
  • Upload files (drag & drop supported)
  • Download files
  • Create, rename, delete files and folders
  • Copy and move files between directories
  • Preview images, videos, audio, PDF, and text files
  • Access control (viewer/editor)

Installation

git clone https://github.com/atsuoishimoto/filechest.git
cd filechest
uv sync
uv run python manage.py migrate
uv run python manage.py createsuperuser
uv run python manage.py runserver

Open http://127.0.0.1:8000/admin/ and configure via Django admin:

  • Filechest > Volumes: Add directories or S3 URLs to manage
  • Filechest > Volume permissions: Assign users access to volumes

Access Control

User Type Condition Access Level
Superuser Always Editor
Authenticated Has VolumePermission with role=editor Editor
Authenticated Has VolumePermission with role=viewer Viewer
Authenticated No permission, public_read=True Viewer
Authenticated No permission, public_read=False No access
Anonymous public_read=True Viewer
Anonymous public_read=False No access

Configuration

Volume Settings

Field Description
name URL-safe identifier (slug)
verbose_name Display name shown in UI
path Local filesystem path or S3 URL (s3://bucket/prefix)
public_read Allow anonymous read access
max_file_size Maximum upload size in bytes (default: 10MB)
is_active Enable/disable the volume

S3 Configuration

For S3 volumes, configure AWS credentials via environment variables:

export AWS_ACCESS_KEY_ID=your-access-key
export AWS_SECRET_ACCESS_KEY=your-secret-key
export AWS_DEFAULT_REGION=us-east-1

Or use IAM roles when running on AWS infrastructure.

License

MIT License

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

filechest-0.2.0.tar.gz (411.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

filechest-0.2.0-py3-none-any.whl (481.2 kB view details)

Uploaded Python 3

File details

Details for the file filechest-0.2.0.tar.gz.

File metadata

  • Download URL: filechest-0.2.0.tar.gz
  • Upload date:
  • Size: 411.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for filechest-0.2.0.tar.gz
Algorithm Hash digest
SHA256 d448c853a48be087cd1220b73163245e8b83427b8b825423702a75930ccdc96d
MD5 6208c51fc0c191514a6509c5b48aaa21
BLAKE2b-256 49d5d9f1f0c706e3c26b30a2b20c3038aecde9b8aed0e922cf3e20f96e9b6915

See more details on using hashes here.

File details

Details for the file filechest-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: filechest-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 481.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for filechest-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 19961fbb3cb7d73b48139253fb83815a806e68df616954d0e54918fdfbe782ae
MD5 145d01a98754824931e608f62c177f5e
BLAKE2b-256 26762beb2370ae2ecef0d8d5f3ed087002ec98a2828c97cd0fe32d05f448619a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page