Serve directories along with docs
Login
Imagine you've collect a ton of data on large number of experiments. Now, imagine you want to share
it with others and explain how things are organized. You might just host it on any of the file sharing
services out there and provide additional document that explain how data is organized.
OR, you can host it yourself. As you may have guessed, simplyServe lets you host file on a
server and allow restricted access to it.
Here are some of its features:
- User access management
Manage users
-
Multi-file download
-
Document each directory using beautiful charts from chart.js
Show docs along side files and directories
- Easy to setup docker image
Here's I'll explain how you'd serve /home/naresh/sleep
directory:
-
Download and install docker:
- Here's a nice guide if you using ubuntu 18.04: https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-18-04
-
Clone this repo to any directory, I have it under
/home/naresh/project
-
Add admin and change server name if needed:
-
Move to the cloned directory
cd simplyServe
-
Open any editor and modify
Dockerfile
:ENV SERVER_NAME "<name>" ENV ADMIN_EMAIL "<email>" ENV ADMIN_PASS "<pass>" ENV ADMIN_NAME "<name>"
Here's what my variables look like:
ENV SERVER_NAME "simplyServe" ENV ADMIN_EMAIL "a@1.com" ENV ADMIN_PASS "test" ENV ADMIN_NAME "admin"
- This names your server
simplyServe
and creates an admin user with the your credentials
- This names your server
-
-
Build your image:
docker build -t <name> .
Here's how mine looks:
docker build -t simply_serve:latest .
-
Run your image:
docker run -v <dir to serve>:/simplyServe/linked_dir:ro \ -v <dir to create database in>:/simplyServe/database/ \ -v <dir to store uploaded files>:/simplyServe/public/ \ -p <port to forward>:5000 \ <image name>:<tag>
Here's mine:
docker run -v /home/naresh/sleep:/simplyServe/linked_dir:ro \ -v /home/naresh/simplyServe/database/:/simplyServe/database/ \ -v /home/naresh/simplyServe/public/:/simplyServe/public/ \ -p 4000:5000 \ simply_serve:latest
This serves
/home/naresh/sleep
, creates a database of users in/home/naresh/simplyServe/database/
and port farwards the server output into port 4000 on the host machine. -
Finally, go to
localhost:4000
on your browser and login as admin
v0.2.1
- Hard to use (atleast for me) Vuesax replaced with Vuetify
- I tried putting in some thought this time while designing the UI
- File manager bug that wasn't passing the right error message has been fix
- You can now right click to get a context menu in the public page 🙈