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).
npm install --save-dev @types/node
Deploy this template to Heroku
Create your server with Server Generator Package
Use this repository as a Template
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.
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}"
}
}
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
Furkan Yavuz π¬ π π |
Fatih Turker π¬ π π |
Mert Sarac π¬ π π |
Refer to CONTRIBUTING.md to see how to contribute to Open Template Hub.
Refer to CODE_OF_CONDUCT.md to see contributor covenant code of conduct.
The source code for this project is released under the MIT License.