A web interface for the File Manager API.
10K+
A modern, production-ready web interface for the File Manager API. Built with React, Vite, and Material UI (Material Design 3) for a beautiful and responsive file management experience.
You need the File Manager API running. The UI container will connect to it automatically when using Docker Compose.
Create a docker-compose.yml file:
version: '3.8'
services:
file-manager-api:
image: jandrop/file-manager-api:latest
container_name: file-manager-api
ports:
- "8000:8000"
environment:
- BASE_PATH=/mnt/user
- API_KEY=your_secret_key
- CORS_ORIGINS=["http://localhost:8764"]
volumes:
- /mnt/user:/mnt/user
restart: unless-stopped
networks:
- file-manager-network
file-manager-ui:
image: jandrop/file-manager-ui:latest
container_name: file-manager-ui
ports:
- "8764:8764"
depends_on:
- file-manager-api
restart: unless-stopped
networks:
- file-manager-network
networks:
file-manager-network:
driver: bridge
Then run:
docker-compose up -d
Access the UI at: http://localhost:8764
If you already have the API running, you can run the UI separately:
docker run -d \
--name file-manager-ui \
-p 8764:8764 \
--link file-manager-api:file-manager-api \
jandrop/file-manager-ui:latest
Important: The UI container needs to communicate with the API container. Use --link or a Docker network.
The UI needs to reach the API. The default nginx configuration expects the API at http://file-manager-api:8000.
Using Docker Compose: The network is configured automatically.
Using docker run: Use the --link flag:
docker run -d \
--link file-manager-api:file-manager-api \
jandrop/file-manager-ui:latest
Using custom network:
# Create network
docker network create file-manager-network
# Run API
docker run -d \
--name file-manager-api \
--network file-manager-network \
jandrop/file-manager-api:latest
# Run UI
docker run -d \
--name file-manager-ui \
--network file-manager-network \
jandrop/file-manager-ui:latest
If your API requires an API key:
You can also set it via browser console:
localStorage.setItem('api_key', 'your-api-key-here');
This image supports multiple architectures:
linux/amd64 (x86_64)linux/arm64 (ARM 64-bit, Apple Silicon, Raspberry Pi)Docker will automatically pull the correct architecture for your platform.
Upload Files:
Delete Files/Folders:
Rename:
Create Folder:
Intelligent icons based on file extensions:
This UI is designed to work with the File Manager API. Both containers are kept in sync and released together.
Recommended: Use matching version tags for both containers:
services:
file-manager-api:
image: jandrop/file-manager-api:1.0.0
file-manager-ui:
image: jandrop/file-manager-ui:1.0.0
Problem: The container keeps restarting and shows errors in logs.
Solution: The UI cannot connect to the API. Make sure:
file-manager-api OR you're using --linkCheck logs:
docker logs file-manager-ui
Solution:
docker ps | grep file-manager-uidocker port file-manager-uiSolution:
http://localhost:8764curl http://localhost:8000/healthSolution:
Solution: Check browser localStorage is enabled. Some privacy modes disable localStorage.
Access at: http://your-unraid-ip:8764
To run behind a reverse proxy (nginx, Caddy, Traefik):
Nginx example:
server {
listen 80;
server_name files.yourdomain.com;
location / {
proxy_pass http://localhost:8764;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location /api/ {
proxy_pass http://localhost:8000/api/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
latest - Latest stable release1.x.x - Specific version tagsmain - Latest development buildThe UI includes a health check that verifies nginx is running:
docker inspect --format='{{.State.Health.Status}}' file-manager-ui
http://localhost:8000/docsThis project is licensed under the MIT License.
Built with React • Styled with Material UI • Optimized for Performance
Content type
Image
Digest
sha256:a359ad003…
Size
28.6 MB
Last updated
3 months ago
docker pull jandrop/file-manager-ui