filebrowser/doc.go
Henrique Dias 7b58b1fbf6 refactor: moving repository
* refactor

* updates

* add circle

* update circle

* fix circle


Former-commit-id: bdc8ecd8766e35f9ab7a9e8bd9dd62206bffb37b [formerly 0d28166061f5c8e573e916797abef67e33a83cf2] [formerly efd85c08040565ba75e06b3d7d7b16366d36325a [formerly 613a3f2811ae33fd2c7e1160cd8ed0130aaebf51]]
Former-commit-id: eca6ad66d686a6737d81dca5e00f1d46a75a217a [formerly a987246f7c0940e8812cb4d0c1b0514b708e8c44]
Former-commit-id: fd882cf0d2216dcfb035a703011eeb1a2f79da9f
2018-02-01 13:38:43 +00:00

74 lines
2.3 KiB
Go

/*
Package filebrowser provides a web interface to access your files
wherever you are. To use this package as a middleware for your app,
you'll need to import both File Manager and File Manager HTTP packages.
import (
fm "github.com/filebrowser/filebrowser"
h "github.com/filebrowser/filebrowser/http"
)
Then, you should create a new FileBrowser object with your options. In this
case, I'm using BoltDB (via Storm package) as a Store. So, you'll also need
to import "github.com/filebrowser/filebrowser/bolt".
db, _ := storm.Open("bolt.db")
m := &fm.FileBrowser{
NoAuth: false,
DefaultUser: &fm.User{
AllowCommands: true,
AllowEdit: true,
AllowNew: true,
AllowPublish: true,
Commands: []string{"git"},
Rules: []*fm.Rule{},
Locale: "en",
CSS: "",
Scope: ".",
FileSystem: fileutils.Dir("."),
},
Store: &fm.Store{
Config: bolt.ConfigStore{DB: db},
Users: bolt.UsersStore{DB: db},
Share: bolt.ShareStore{DB: db},
},
NewFS: func(scope string) fm.FileSystem {
return fileutils.Dir(scope)
},
}
The credentials for the first user are always 'admin' for both the user and
the password, and they can be changed later through the settings. The first
user is always an Admin and has all of the permissions set to 'true'.
Then, you should set the Prefix URL and the Base URL, using the following
functions:
m.SetBaseURL("/")
m.SetPrefixURL("/")
The Prefix URL is a part of the path that is already stripped from the
r.URL.Path variable before the request arrives to File Manager's handler.
This is a function that will rarely be used. You can see one example on Caddy
filemanager plugin.
The Base URL is the URL path where you want File Manager to be available in. If
you want to be available at the root path, you should call:
m.SetBaseURL("/")
But if you want to access it at '/admin', you would call:
m.SetBaseURL("/admin")
Now, that you already have a File Manager instance created, you just need to
add it to your handlers using m.ServeHTTP which is compatible to http.Handler.
We also have a m.ServeWithErrorsHTTP that returns the status code and an error.
One simple implementation for this, at port 80, in the root of the domain, would be:
http.ListenAndServe(":80", h.Handler(m))
*/
package filebrowser