Skip to content

File Storage Server Template is a generic open-source file storage server that has a simple yet powerful design to connect your business with third-party file storage provider companies (AWS S3, Google Cloud Storage).

License

Notifications You must be signed in to change notification settings

open-template-hub/file-storage-server-template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Logo

Open Template Hub - File Storage Server Template v5

License Issues PRCLosed LastCommit Release SonarCloud

File Storage Server Template is a generic open-source file storage server that has a simple yet powerful design to connect your business with third-party file storage provider companies (AWS S3, Google Cloud Storage).

Ways to Begin

npm install --save-dev @types/node

1. Express Deploy

Deploy this template to Heroku

Deploy

2. Start with Server Generator

Create your server with Server Generator Package

NPM

3. GitHub Template

Use this repository as a Template

GitHubTemplate

Installations

Install nodejs and npm via nodejs.org.

Check installed versions of nodejs and npm via running following commands:

node -v
npm -v

Check project's current nodejs and npm version from package.json.

Environment Variables

If you don't give RESPONSE_ENCRYPTION_SECRET, response encryption mechanism will be disabled automatically.

PORT=4004

PROJECT=OTH
MODULE=FileStorageServer
ENVIRONMENT=Local

MONGODB_URI={Database Connection Url}
MONGODB_CONNECTION_LIMIT={MongoDB Connection Limit}

DATABASE_URL={Database Connection Url}
POSTGRESQL_CONNECTION_LIMIT={Postgresql Connection Limit}

CLOUDAMQP_APIKEY={MQ Api Key}
CLOUDAMQP_URL={MQ Connection Url}

FILE_SERVER_QUEUE_CHANNEL=oth_file_queue
ORCHESTRATION_SERVER_QUEUE_CHANNEL=oth_orchestration_queue

REDISCLOUD_URL={Redis Connection Url}
REDIS_CONNECTION_LIMIT={Redis Connection Limit}

ACCESS_TOKEN_SECRET={Access Token Secret}
RESPONSE_ENCRYPTION_SECRET={Response Encryption Secret}

For pre-deployment of S3 provider, update assets/sql/preload.data.json with your configuration:

{
  "key": "S3",
  "description": "Amazon S3 Provider",
  "payload": {
    "service": "S3",
    "accessKeyId": "{AWS Access Key Id}",
    "secretAccessKey": "{AWS Secret Key Id}",
    "region": "{S3 Region}",
    "apiVersion": "{API Version}",
    "bucketName": "{S3 Bucket Name}",
    "publicUrl": "{S3 Public Url}"
  }
}

For pre-deployment of Google Cloud Storage provider, update assets/sql/preload.data.json with your configuration:

{
  "key": "GCloud",
  "description": "Google Cloud Storage Provider",
  "payload": {
    "service": "GCloud",
    "projectId": "{GCloud Project Id}",
    "clientId": "{GCloud Service User Unique Id}",
    "serviceAccount": "{GCloud Service User Email}",
    "secretAccessKey": "{GCloud Service User Private Key}",
    "bucketName": "{GCloud Bucket Name}",
    "publicUrl": "{GCloud Public Url}"
  }
}

Http Requests

You can find list of available http request in the requests directory. You can run http requests directly via WebStorm, for more information check out: jetbrains.com/help/idea/http-client-in-product-code-editor.html

Contributors


Furkan Yavuz

πŸ’¬ πŸ“– πŸ‘€

Fatih Turker

πŸ’¬ πŸ“– πŸ‘€

Mert Sarac

πŸ’¬ πŸ“– πŸ‘€

Contributing

Refer to CONTRIBUTING.md to see how to contribute to Open Template Hub.


Code of Conduct

Refer to CODE_OF_CONDUCT.md to see contributor covenant code of conduct.


LICENSE

The source code for this project is released under the MIT License.

About

File Storage Server Template is a generic open-source file storage server that has a simple yet powerful design to connect your business with third-party file storage provider companies (AWS S3, Google Cloud Storage).

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published