Git Product home page Git Product logo

filebrowser-docker's Introduction

Latest Github release Image size Docker Pulls Docker Stars

Introduction

filebrowser provides a file managing interface within a specified directory and it can be used to upload, delete, preview, rename and edit your files. It allows the creation of multiple users and each user can have its own directory. It can be used as a standalone app or as a middleware.

Table of Contents

Screenshots

Desktop

Preview

Mobile device

Preview Preview

Features

  • Confgurable via environment variables
  • Can be run using different user
  • Supports multiple architectures, tested on Ubuntu 18.04 (amd64), Rock64 ๐Ÿ (arm64) and Raspberry Pi ๐Ÿ“ (arm32)

Usage

Docker

docker run -d --name filebrowser -p 80:8080 hurlenko/filebrowser

To run as current user and to map custom volume locations use:

docker run -d \
    --name filebrowser \
    --user $(id -u):$(id -g) \
    -p 8080:8080 \
    -v /DATA_DIR:/data \
    -v /CONFIG_DIR:/config \
    -e FB_BASEURL=/filebrowser \
    hurlenko/filebrowser

docker-compose

Minimal docker-compose.yml may look like this:

version: "3"

services:
  filebrowser:
    image: hurlenko/filebrowser
    user: "${UID}:${GID}"
    ports:
      - 443:8080
    volumes:
      - /DATA_DIR:/data
      - /CONFIG_DIR:/config
    environment:
      - FB_BASEURL=/filebrowser
    restart: always

Simply run:

docker-compose up

Running behind Nginx proxy

You can use this nginx config:

location /filebrowser {
    # prevents 502 bad gateway error
    proxy_buffers 8 32k;
    proxy_buffer_size 64k;

    client_max_body_size 75M;

    # redirect all HTTP traffic to localhost:8088;
    proxy_pass http://localhost:8080;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header Host $http_host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    #proxy_set_header X-NginX-Proxy true;

    # enables WS support
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";

    proxy_read_timeout 999999999;
}

Ports description

  • 8080 - default filebrowser port

Supported environment variables

The environment variables are prefixed by FB_ followed by the option name in caps. So to set "database" via an env variable, you should set FB_DATABASE. The list of avalable options can be found here.

Supported volumes

  • /data - Data directory to browse
  • /config - filebrowser.db location

Attaching multiple directories

If you want to attach multiple directories you need to mount them as subdirectories of the data directory inside of the container (/data by default):

docker run \
    -v /path/to/music:/data/music \
    -v /path/to/movies:/data/movies \
    -v /path/to/photos:/data/photos \
    hurlenko/filebrowser

Building

git clone https://github.com/hurlenko/filebrowser-docker
cd filebrowser-docker
docker build -t hurlenko/filebrowser .

filebrowser-docker's People

Contributors

baddate avatar gamer7860 avatar he-sb avatar hurlenko avatar s33g avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.