A beautiful, fast, and secure web-based file browser. Browse, manage, and organize your files.
1.9K
A beautiful, fast, and secure web-based file browser built with Bun, Elysia, and React. Browse, manage, and organize your files through an elegant web interface.
docker run -d \
--name seeker \
-p 7335:3000 \
-u 1000:1000 \
-v ./config:/config \
-v /path/to/your/files:/data \
ipradeepmishra/seeker:latest
Then open http://localhost:3000 and create your admin account.
Create a docker-compose.yml:
services:
seeker:
image: ipradeepmishra/seeker:latest
container_name: seeker
restart: unless-stopped
ports:
- "7335:3000"
volumes:
- ./config:/config
- /path/to/your/files:/data
environment:
- UID=1000 # optional, user id default is 1000
- GID=1000 # optional, group id default is 1000
- PORT=3000 # optional, default is 3000
- HOST=0.0.0.0 # optional, default is 0.0.0.0
- CONFIG_PATH=/config # optional, default is /config
- DEFAULT_MOUNT=/data # optional, default is /data
Start the container:
docker-compose up -d
Seeker includes a powerful built-in text editor with syntax highlighting support:
Simply click on any text file to open it in the editor.
Create smart collections without duplicating files:
View your images with advanced preview capabilities:
Watch your videos with a professional video player:
Handle PDF documents with ease:
| Variable | Default | Description |
|---|---|---|
PORT | 3000 | Internal Server port |
HOST | 0.0.0.0 | Server host (keep as 0.0.0.0 for Docker) |
CONFIG_PATH | /config | Path to store databases and configuration |
DEFAULT_MOUNT | /data | Auto-configure this path as default mount on first run |
| Volume | Required | Description |
|---|---|---|
/config | Yes | Stores SQLite databases (main.db, thumb.db) and configuration |
/data | Yes | Default mount point for your files (can be any path) |
| Additional mounts | No | Add as many as you need (e.g., /storage, /media, /backups) |
Important: The /config volume must be persistent to retain users, settings, and bookmarks.
| Port | Description |
|---|---|
3000 | Internal Web interface (HTTP) |
7335 | Exposed Web interface (HTTP) |
Mount multiple directories and add them through the admin settings:
docker run -d \
--name seeker \
-p 7335:3000 \
-v ./config:/config \
-v /data:/data \
-v /media/photos:/photos \
-v /media/videos:/videos \
-v /media/documents:/documents \
ipradeepmishra/seeker:latest
After starting, login and add mounts via Settings → Mounts.
docker run -d \
--name seeker \
-p 8080:8080 \
-v ./config:/config \
-v /path/to/your/files:/data \
-e PORT=8080 \
ipradeepmishra/seeker:latest
docker pull ipradeepmishra/seeker:0.0.1
docker run -d \
--name seeker \
-p 7335:3000 \
-v ./config:/config \
-v /path/to/your/files:/data \
ipradeepmishra/seeker:0.0.1
The image includes a built-in health check that monitors the /health endpoint:
# Check container health
docker inspect seeker --format='{{.State.Health.Status}}'
# View health check logs
docker inspect seeker --format='{{json .State.Health}}' | jq
Health check configuration:
The container runs as a non-root user (UID | 1000, GID | 1000) for enhanced security:
# Verify the container runs as non-root
docker exec seeker whoami
# Output: user
If you encounter permission issues with mounted volumes, ensure your host directories are accessible by UID/GID | 1000:
# On your host machine
sudo chown -R 1000:1000 ./config # replace 1000:1000 with your user:group id
sudo chown -R 1000:1000 /path/to/your/files # replace 1000:1000 with your user:group id
Or run with custom UID/GID (requires rebuilding the image).
http://localhost:3000All user data is stored in the /config volume:
Backup your config volume regularly:
# Backup
tar -czf seeker-backup-$(date +%Y%m%d).tar.gz ./config
# Restore
tar -xzf seeker-backup-20240101.tar.gz
Upgrading is simple - just pull the new image and restart:
# Pull latest version
docker pull ipradeepmishra/seeker:latest
# Stop and remove old container
docker stop seeker
docker rm seeker
# Start new container (same volumes)
docker run -d \
--name seeker \
-p 7335:3000 \
-v ./config:/config \
-v /path/to/your/files:/data \
ipradeepmishra/seeker:latest
With docker-compose:
docker-compose pull
docker-compose up -d
Your data in the /config volume will be preserved across upgrades.
# Check logs
docker logs seeker
# Check if port is already in use
lsof -i :3000
# Fix ownership
sudo chown -R 1000:1000 ./config /path/to/your/files # replace 1000:1000 with your user:group id
# Or check current ownership
ls -la ./config
Ensure directories are mounted correctly:
# Check container mounts
docker inspect seeker --format='{{json .Mounts}}' | jq
On first run or upgrade, migrations run automatically. If you see errors:
# Remove old database and start fresh (loses data!)
docker stop seeker
rm -rf ./config/*
docker start seeker
This project is licensed under the MIT License - see the LICENSE file for details.
If you find this project useful, please consider:













Maintained by pradeep
Content type
Image
Digest
sha256:de9b59fd9…
Size
96.5 MB
Last updated
9 months ago
docker pull ipradeepmishra/seeker