Extension Files


Extension Basics

Title
Files
Name
ckanext-files
Type
Public extension
Description
Files as first-class citizens of CKAN. Upload, manage, and remove files directly with support for multiple storage backends.
CKAN versions

~2.9, ~2.10, ~2.11

Show details
Download-Url (zip)
Download-Url commit date
2025-08-29
Url to repo
Category
Cloud Infrastructure & Storage


Background Infos

Description (long)
Show details

Advanced file management API for CKAN that treats files as first-class entities. Supports multiple storage adapters including filesystem, Redis, S3, Google Cloud, OpenDAL, and libcloud. Provides comprehensive file operations including multipart uploads, file transfers between storages, search capabilities, and flexible permission management. Includes TypeScript-based upload widgets and extensive CLI tools for storage management. Built on the file-keeper library for portable file abstractions.

Version
v1.1.0a0
Version release date
2025-08-29
Contact name
DataShades
Contakt email
(not set)
Contact Url
(not set)


Installation Guide

Configuration hints

Requires file-keeper>=0.1.0. Database migration required. Configure storage backends via ckanext.files.storage.NAME.type with supported types: files:fs (filesystem), files:redis, files:s3, files:google_cloud, files:opendal, files:libcloud. Each storage type has specific configuration options (e.g., path, bucket, credentials). Optional extras available for different backends: [opendal], [libcloud]. Includes CLI commands via ‘ckan files’ for storage management, adapter operations, and file transfers. Migration from CKAN core file storage supported.

Plugins to configure (ckan.ini)
files files_manager file_upload_widget
CKAN Settings (ckan.ini)
# Default storage configuration (filesystem example) # ckanext.files.storage.default.type = files:fs # ckanext.files.storage.default.path = /tmp/ckan_storage # ckanext.files.storage.default.initialize = true # Redis storage example # ckanext.files.storage.redis.type = files:redis # ckanext.files.storage.redis.bucket = ckan_files # S3 storage example # ckanext.files.storage.s3.type = files:s3 # ckanext.files.storage.s3.bucket = my-bucket # ckanext.files.storage.s3.region = us-east-1
DB migration to be executed
files
<< back to Extensions