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.
- 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
.envfile. - Plug & Play Persistence: Uses standard Docker-managed volumes. No manual host preparation required.
The deployment spins up two services sharing the same storage volume:
filebrowser_ui: Listens on the port defined byFB_PORT.api_fotos_cors: Nginx server listening on the port defined byAPI_PORT.
Create a .env file in the root directory (based on .env.example):
FB_USER=admin
FB_PASSWORD=MySecurePassword123
FB_PORT=80
API_PORT=8000Make sure you have Docker and Docker Compose installed, then run:
docker-compose up -dOnce running, you can access your services at:
- Admin Panel (Filebrowser):
http://localhost:80(or yourFB_PORT) - Asset API (CORS Enabled):
http://localhost:8000(or yourAPI_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
