Skip to content

Latest commit

 

History

History
48 lines (33 loc) · 1.93 KB

File metadata and controls

48 lines (33 loc) · 1.93 KB

Simple File Server

Simple File Server Demo

A lightweight, containerized plug-and-play solution to upload, manage, and serve static files with open CORS policies. Ideal for feeding AI annotation platforms like Label Studio, or as a modern, secure alternative to a traditional FTP server.

Key Features

  • Visual UI (Filebrowser): Intuitive web interface to manage files directly from your browser.
  • Nginx CORS API: Uses a highly efficient Nginx container to serve static files with Access-Control-Allow-Origin: * automatically enabled, removing the need for complex proxy configurations.
  • Environment Variables: Fully customizable credentials and host ports via a .env file.
  • Plug & Play Persistence: Uses standard Docker-managed volumes. No manual host preparation required.

Architecture

The deployment spins up two services sharing the same storage volume:

  1. filebrowser_ui: Listens on the port defined by FB_PORT.
  2. api_fotos_cors: Nginx server listening on the port defined by API_PORT.

Quick Start

1. Setup Environment

Create a .env file in the root directory (based on .env.example):

FB_USER=admin
FB_PASSWORD=MySecurePassword123
FB_PORT=80
API_PORT=8000

2. Deploy with Docker

Make sure you have Docker and Docker Compose installed, then run:

docker-compose up -d

3. Access the Services

Once running, you can access your services at:

  • Admin Panel (Filebrowser): http://localhost:80 (or your FB_PORT)
  • Asset API (CORS Enabled): http://localhost:8000 (or your API_PORT)

Note

Notes on Initial Setup: The filebrowser service uses the official :latest Docker image. We use a custom entrypoint script that reads your FB_USER and FB_PASSWORD variables to automatically configure the database only during the first boot. If you need to change the password later on, do it directly from the Filebrowser UI settings.

Author: calebrio02