Lightweight and production-ready service to serve your static files.
Inspired from goStatic.
"Storage Server" is a self-hosted service to serve your files for everyone. This package is intended to be as light as possible, without dependency and very simple. It includes key features we can expect from a web service, like caching, compression, logging and security. All configurable with ease!
You have a problem with the service or want to have a new feature? Feel free to open an issue.
- Serve your files with an embedded static web server
- Upload/Delete files through protected HTTP routes
- Enable caching/CORS policy on specific files
- Expose files list of specific directories as a json
- Automatic GZIP compression of sent files
- Light and efficient as possible
- No dependency π
This service is designed to be used as a Docker image. All major platforms are supported.
So, you have to use the image utarwyn/storage-server
.
You can also build the executable from source code, just like a normal Golang program.
Example on how to run it:
docker run -p 80:8080 -e PORT=8080 -v path/to/files:/srv/http utarwyn/storage-server
Available options:
Command parameter | Env variable | Default | Description |
---|---|---|---|
port | PORT | 8043 | Listening port |
base-path | BASE_PATH | /srv/http | Directory where files are stored |
client-secret | CLIENT_SECRET | - | Secret key used to access privileged routes |
enable-logging | ENABLE_LOGGING | false | Enable log request |
caching-directories | CACHING_DIRECTORIES | - | List of directories to cache |
expose-directories | EXPOSE_DIRECTORIES | - | List of directories to expose as a json file |
allow-origins | ALLOW_ORIGINS | - | List of origins to allow using CORS policy |
"Storage Server" is open-sourced software licensed under the MIT license.