https://github.com/parse-community/parse-server-gcs-adapter
parse-server adapter for Google Cloud Storage
https://github.com/parse-community/parse-server-gcs-adapter
google-cloud-storage parse-server
Last synced: 7 months ago
JSON representation
parse-server adapter for Google Cloud Storage
- Host: GitHub
- URL: https://github.com/parse-community/parse-server-gcs-adapter
- Owner: parse-community
- Created: 2016-03-24T03:24:29.000Z (almost 10 years ago)
- Default Branch: main
- Last Pushed: 2025-05-29T08:50:17.000Z (8 months ago)
- Last Synced: 2025-06-06T00:43:16.710Z (7 months ago)
- Topics: google-cloud-storage, parse-server
- Language: JavaScript
- Homepage: https://parseplatform.org
- Size: 219 KB
- Stars: 30
- Watchers: 5
- Forks: 37
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Parse Server GCS Adapter
[](https://github.com/parse-community/parse-server-gcs-adapter/actions/workflows/ci.yml?query=workflow%3Aci+branch%3Amain)
[](https://snyk.io/test/github/parse-community/parse-server-gcs-adapter)
[](https://codecov.io/github/parse-community/parse-server-gcs-adapter?branch=main)
[](https://github.com/parse-community/parse-server-gcs-adapter/releases)
[](https://nodejs.org)
[](https://www.npmjs.com/package/@parse/gcs-files-adapter)
---
The Parse Server Google Cloud Storage Adapter.
---
- [Installation](#installation)
- [Usage with Parse Server](#usage-with-parse-server)
- [Config File](#config-file)
- [Environment Variables](#environment-variables)
- [Instance Parameters](#instance-parameters)
- [Options](#options)
- [Obtaining Credentials File](#obtaining-credentials-file)
# Installation
`npm install --save @parse/gcs-files-adapter`
# Usage with Parse Server
### Config File
```js
{
// Parse server options
appId: 'my_app_id',
masterKey: 'my_master_key',
// other options
filesAdapter: {
module: '@parse/gcs-files-adapter',
options: {
projectId: 'projectId',
keyFilename: '/path/to/keyfile',
bucket: 'my_bucket',
// optional:
bucketPrefix: '', // default value
directAccess: false // default value
}
}
}
```
### Environment Variables
Set your environment variables:
```
GCP_PROJECT_ID=projectId
GCP_KEYFILE_PATH=/path/to/keyfile
GCS_BUCKET=bucketName
```
And update your config / options
```js
{
// Parse server options
appId: 'my_app_id',
masterKey: 'my_master_key',
// other options
filesAdapter: '@parse/gcs-files-adapter'
}
```
Alternatively, you can use
`GCLOUD_PROJECT` and `GOOGLE_APPLICATION_CREDENTIALS` environment variables.
### Instance Parameters
```js
var GCSAdapter = require('@parse/gcs-files-adapter');
var gcsAdapter = new GCSAdapter(
'project',
'keyFilePath',
'bucket' , {
bucketPrefix: '',
directAccess: false
}
);
var api = new ParseServer({
appId: 'my_app',
masterKey: 'master_key',
filesAdapter: gcsAdapter
})
```
or with an options hash
```js
var GCSAdapter = require('@parse/gcs-files-adapter');
var gcsOptions = {
projectId: 'projectId',
keyFilename: '/path/to/keyfile',
bucket: 'my_bucket',
bucketPrefix: '',
directAccess: false
}
var gcsAdapter = new GCSAdapter(gcsOptions);
var api = new ParseServer({
appId: 'my_app',
masterKey: 'master_key',
filesAdapter: gcsAdapter
});
```
## Options
- `directAccess`: if set to `true`, uploaded files will be set as public and files will be served directly by Google Cloud Storage. Default is `false` and files are proxied by Parse Server.
## Obtaining Credentials File
See the [Google Cloud documentation](https://cloud.google.com/docs/authentication/production#obtaining_and_providing_service_account_credentials_manually) for how to generate a key file with credentials.