diff --git a/README.md b/README.md index f4bb8f2..7a67c60 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # IFM - improved file manager + ## contents + - [about](#about) - [features](#features) - [requirements](#requirements) @@ -12,6 +14,7 @@ - [issues](#issues) ## About + The IFM is a web-based filemanager, which comes as a single file solution using HTML5, CSS3, JavaScript and PHP. You can test a [demo here](https://ifmdemo.gitea.de/). @@ -26,6 +29,7 @@ The IFM uses the following resources: * [Mustache](https://mustache.github.io/) ## features + * create/edit files and directories * copy/move files and directories * download files and directories @@ -36,6 +40,7 @@ The IFM uses the following resources: * simple authentication (LDAP via `ldap_bind` possible) ## Requirements + * Client * HTML5 and CSS3 compatible browser * activated javascript @@ -55,6 +60,7 @@ The IFM uses the following resources: * zlib ## Installation + Just download the latest release of the IFM. You can find it [here](https://github.com/misterunknown/ifm/releases/latest). You can choose between the CDN version (dependencies like bootstrap, jquery etc. are loaded @@ -65,6 +71,7 @@ recommended; if the filesize of the IFM is an issue for you, consider using the CDN versions. ## Security information + The IFM is usually locked to it's own directory, so you are not able to go above. You can change that by setting the `root_dir` in the scripts [configuration](https://github.com/misterunknown/ifm/wiki/Configuration). @@ -76,6 +83,7 @@ configuration. [See also](https://github.com/misterunknown/ifm/wiki/Configuration). ## Key bindings + * e - edit / extract current file * hjkl - vim-style navigation (alternative to arrow keys) * g - focus the path input field (i.e. "goto") @@ -95,55 +103,73 @@ also](https://github.com/misterunknown/ifm/wiki/Configuration). * Ctrl-Shift-f - toggle fullscreen ace editor ## Configuration + See [configuration](https://github.com/misterunknown/ifm/wiki/Configuration). + ### authentication + See [authentication](https://github.com/misterunknown/ifm/wiki/Authentication). ## Docker + The docker image is based on the official php docker images (alpine version) and exposes port 80. ### Quickstart + Build the image with this command in the top source dir: -`docker build -t ifm .` +```bash +docker build -t ifm . +``` Afterwards you can start the docker container as follows: -`docker run --rm -d --name ifm -p 8080:80 -v /path/to/data:/var/www ifm:latest` +```bash +docker run --rm -d --name ifm -p 8080:80 -v /path/to/data:/var/www ifm:latest +``` ### Specify user/group + By default IFM runs as user www-data (uid/gid 33). If you need to change that, you can set the UID and GID with the following environment variables: -`docker run ... -e IFM_DOCKER_UID=1000 -e IFM_DOCKER_GID=100 ifm:latest` +```bash +docker run ... -e IFM_DOCKER_UID=1000 -e IFM_DOCKER_GID=100 ifm:latest +``` ### Other configuration + The script is located at `/usr/local/share/webapps/ifm/index.php`. By default the `root_dir` is set to /var/www, so you can mount any directory at this location. If you want to bind the corresponding host directory, you can do the following: -`docker run --rm -i -p "8080:80" -v "/var/www:/var/www" ifm` +```bash +docker run --rm -i -p "8080:80" -v "/var/www:/var/www" ifm +``` The scripts configuration can be changed by adjusting the corresponding environment variables. For example: -```docker run --rm -i -p "8080:80" -v /var/www:/var/www \ - -e IFM_AUTH=1 -e IFM_AUTH \ - -e IFM_AUTH_SOURCE="admin:$2y$05$LPdE7u/5da/TCE8ZhqQ1o.acuV50HqB3OrHhNwxbXYeWmmZKdQxrC" \ - ifm +```bash +docker run --rm -i -p "8080:80" -v /var/www:/var/www \ + -e IFM_AUTH=1 -e IFM_AUTH \ + -e IFM_AUTH_SOURCE="admin:$2y$05$LPdE7u/5da/TCE8ZhqQ1o.acuV50HqB3OrHhNwxbXYeWmmZKdQxrC" \ + ifm ``` You can get a complete list of environment variables [here](https://github.com/misterunknown/ifm/wiki/Configuration#configuration-options). ## screenshots + ## issues + If you happen to find an error or miss a feature, you can create an issue on Github.