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

This starts a web server and opens your browser automatically.

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.1.0.tar.gz (409.8 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.1.0-py3-none-any.whl (479.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: filechest-0.1.0.tar.gz
  • Upload date:
  • Size: 409.8 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.1.0.tar.gz
Algorithm Hash digest
SHA256 6fb122008ac17acafb65f3f20eee9a9ca3b2d6f3efe320e751a5a44acdd9c5ff
MD5 49a3194a00f26a59c77b414609ec9a1f
BLAKE2b-256 64790e95127bea38f80ab88465d878dafbc475178bea0eb375fa3f74c662e7f1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: filechest-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 479.4 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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 29f37f37f708937caf6e432c3b88e16374f672c376ddb86326f1bee68e1cb2d4
MD5 83af4d8d8c4e1f5f7bb0c593fc46f19d
BLAKE2b-256 a05df1d150b25162fac1d06665918e8a07bfe3f05132305e1bb4ac7c62025d07

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