Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/utarwyn/storage-server
Lightweight production-ready static storage web server ๐๐
https://github.com/utarwyn/storage-server
lightweight no-dependencies static storage web-server
Last synced: about 1 month ago
JSON representation
Lightweight production-ready static storage web server ๐๐
- Host: GitHub
- URL: https://github.com/utarwyn/storage-server
- Owner: utarwyn
- License: mit
- Created: 2023-01-21T18:09:22.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-07T22:29:32.000Z (3 months ago)
- Last Synced: 2024-10-19T15:22:16.191Z (3 months ago)
- Topics: lightweight, no-dependencies, static, storage, web-server
- Language: Go
- Homepage:
- Size: 33.2 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Storage Server
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.
Key features
------------- 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 :tada:Installation
------------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.
Usage
-----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 |License
-------"Storage Server" is open-sourced software licensed under the [MIT license][1].
---
> GitHub [@utarwyn][2] ย ยทย Twitter [@Utarwyn][3][1]: https://github.com/utarwyn/storage-server/blob/main/LICENSE
[2]: https://github.com/utarwyn
[3]: https://twitter.com/Utarwyn