Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/stbestichhh/lcs-cloud-storage-server
Local cloud storage with authentication on Node.js/ExpressJS
https://github.com/stbestichhh/lcs-cloud-storage-server
cloud-storage express-js typescript
Last synced: about 14 hours ago
JSON representation
Local cloud storage with authentication on Node.js/ExpressJS
- Host: GitHub
- URL: https://github.com/stbestichhh/lcs-cloud-storage-server
- Owner: stbestichhh
- License: mit
- Created: 2024-04-03T09:44:46.000Z (7 months ago)
- Default Branch: master
- Last Pushed: 2024-05-15T13:24:16.000Z (6 months ago)
- Last Synced: 2024-05-16T02:51:55.780Z (6 months ago)
- Topics: cloud-storage, express-js, typescript
- Language: TypeScript
- Homepage: https://lcs-cloud-storage-docs.vercel.app/
- Size: 353 KB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
[![Node.js CI](https://github.com/stbestichhh/lcs-cloud-storage-server/actions/workflows/node.js.yml/badge.svg)](https://github.com/stbestichhh/lcs-cloud-storage-server/actions/workflows/node.js.yml)
[![NPM Version](https://img.shields.io/npm/v/@lcs-cloud-storage/server)](https://www.npmjs.com/package/@lcs-cloud-storage/server)
[![MIT License](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)
[![Open Source Love](https://badges.frapsoft.com/os/v1/open-source.svg?v=103)](https://github.com/ellerbrock/open-source-badges/)# lcs-cloud-storage server
![LCS](.github/screenshots/IMG_2541.JPG)
#### [Visit Documentation website ↗](https://lcs-cloud-storage-docs.vercel.app/)
## Table of contents
* [Description](#about)
* [Getting started](#getting-started)
* [Prerequisites](#prerequisites)
* [Installation](#installation)
* [Deployment](#deployment)
* [Usage](#usage)
* [Running tests](#running-tests)
* [Contributing](#contributing)
* [Changelog](#changelog)
* [Authors](#authors)
* [License](#license)## About
LCS - is a local cloud storage server.
The Local Cloud Storage Server project aims to develop a robust and secure local cloud storage solution.
This system will provide users with the ability to store, retrieve, and manage their data locally while enjoying the benefits of cloud storage such as scalability, accessibility, and reliability.The server will expose a **RESTful API** that allows users to interact with the storage.
This API will support operations such as uploading files, downloading and all default filesystem operations.In addition to the API, the system will provide a **Command Line Interface (CLI)**.
This will enable users to use server feature or to configure it.## Getting started
### Prerequisites
* yarn `npm i -g yarn` or `corepack enable`
> [!IMPORTANT]
> **Node.js 18.x+** version must be installed in your OS.### Installation
1. Clone the repository
```shell
$ git clone https://github.com/stbestichhh/lcs-cloud-storage-server.git
```2. Install dependencies
```shell
$ yarn install
```#### Or install as NPM package
```shell
$ npm i -g @lcs-cloud-storage/server
```### Deployment
#### Start the server to production
* From cli
See [usage instructions](#usage) to find out how to use cli
```shell
$ lcs [options] server|run [options]
```* From source code
```shell
$ yarn build
$ yarn start:prod
```* Without installing
Run default configuration
```shell
$ docker build -t lcs-cloud-storage .
$ docker run -p :9180 lcs-cloud-storage
```Override configuration
```shell
$ docker build -t lcs-cloud-storage .
$ docker run -e = -p : lcs-cloud-storage node dist/index.js [options] [command]
```Overriding every enviroment variable is not necessary. Options and command see in [usage](#usage) section.
#### Start server locally
```shell
$ yarn start:dev
```### Usage
See the usage instruction in the lcs-cloud-storage [documentation](https://lcs-cloud-storage-docs.vercel.app/advanced)
### Running tests
#### Unit tests
```shell
$ yarn test
```watch mode
```shell
$ yarn test:watch
```#### End to end tests
This e2e tests are testing server api
```shell
$ yarn test:e2e
```watch mode
```shell
$ yarn test:e2e:watch
```## Contributing
Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests to us.
## Changelog
Project changes are writen in changelog, see the [CHANGELOG.md](CHANGELOG.md).
We use [SemVer](https://semver.org/) for versioning.
For the versions available, see the [tags](https://github.com/stbestichhh/lcs-cloud-storage-server/tags) on this repository.For the supported and unsupported versions, see the [SECURITY.md](SECURITY.md).
## Authors
- [@stbestichhh](https://www.github.com/stbestichhh)
## License
This project is licensed under the MIT License - see the [LICENSE.md](LICENSE)