{"id":28438134,"url":"https://github.com/parse-community/parse-server-gcs-adapter","last_synced_at":"2025-06-28T15:31:32.373Z","repository":{"id":39174701,"uuid":"54611711","full_name":"parse-community/parse-server-gcs-adapter","owner":"parse-community","description":"parse-server adapter for Google Cloud Storage","archived":false,"fork":false,"pushed_at":"2025-05-29T08:50:17.000Z","size":224,"stargazers_count":30,"open_issues_count":5,"forks_count":37,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-06-06T00:43:16.710Z","etag":null,"topics":["google-cloud-storage","parse-server"],"latest_commit_sha":null,"homepage":"https://parseplatform.org","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/parse-community.png","metadata":{"funding":{"github":"parse-community","patreon":null,"open_collective":"parse-server","ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null},"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2016-03-24T03:24:29.000Z","updated_at":"2025-03-16T02:51:45.000Z","dependencies_parsed_at":"2023-09-24T05:08:59.482Z","dependency_job_id":"daf5cfe1-d15c-490b-8961-cb73f9c3eb79","html_url":"https://github.com/parse-community/parse-server-gcs-adapter","commit_stats":{"total_commits":45,"total_committers":18,"mean_commits":2.5,"dds":0.8,"last_synced_commit":"c6f86da19c990ab531cd1d8900048b93f9c9164f"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/parse-community/parse-server-gcs-adapter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parse-community%2Fparse-server-gcs-adapter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parse-community%2Fparse-server-gcs-adapter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parse-community%2Fparse-server-gcs-adapter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parse-community%2Fparse-server-gcs-adapter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/parse-community","download_url":"https://codeload.github.com/parse-community/parse-server-gcs-adapter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parse-community%2Fparse-server-gcs-adapter/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260222423,"owners_count":22977012,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["google-cloud-storage","parse-server"],"created_at":"2025-06-06T00:39:21.185Z","updated_at":"2025-06-28T15:31:32.368Z","avatar_url":"https://github.com/parse-community.png","language":"JavaScript","funding_links":["https://github.com/sponsors/parse-community","https://opencollective.com/parse-server"],"categories":[],"sub_categories":[],"readme":"# Parse Server GCS Adapter \u003c!-- omit in toc --\u003e\n\n[![Build Status](https://github.com/parse-community/parse-server-gcs-adapter/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/parse-community/parse-server-gcs-adapter/actions/workflows/ci.yml?query=workflow%3Aci+branch%3Amain)\n[![Snyk Badge](https://snyk.io/test/github/parse-community/parse-server-gcs-adapter/badge.svg)](https://snyk.io/test/github/parse-community/parse-server-gcs-adapter)\n[![Coverage](https://img.shields.io/codecov/c/github/parse-community/parse-server-gcs-adapter/main.svg)](https://codecov.io/github/parse-community/parse-server-gcs-adapter?branch=main)\n[![auto-release](https://img.shields.io/badge/%F0%9F%9A%80-auto--release-9e34eb.svg)](https://github.com/parse-community/parse-server-gcs-adapter/releases)\n\n[![Node Version](https://img.shields.io/badge/nodejs-18,_20,_22-green.svg?logo=node.js\u0026style=flat)](https://nodejs.org)\n[![npm latest version](https://img.shields.io/npm/v/@parse/gcs-files-adapter.svg)](https://www.npmjs.com/package/@parse/gcs-files-adapter)\n\n---\n\nThe Parse Server Google Cloud Storage Adapter.\n\n---\n\n\n- [Installation](#installation)\n- [Usage with Parse Server](#usage-with-parse-server)\n    - [Config File](#config-file)\n    - [Environment Variables](#environment-variables)\n    - [Instance Parameters](#instance-parameters)\n  - [Options](#options)\n  - [Obtaining Credentials File](#obtaining-credentials-file)\n\n# Installation\n\n`npm install --save @parse/gcs-files-adapter`\n\n# Usage with Parse Server\n\n### Config File\n\n```js\n{\n  // Parse server options\n  appId: 'my_app_id',\n  masterKey: 'my_master_key',\n  // other options\n  filesAdapter: {\n    module: '@parse/gcs-files-adapter',\n    options: {\n      projectId: 'projectId',\n      keyFilename: '/path/to/keyfile',\n      bucket: 'my_bucket',\n      // optional:\n      bucketPrefix: '', // default value\n      directAccess: false // default value\n    } \n  }\n}\n```\n\n### Environment Variables\n\nSet your environment variables:\n\n```\nGCP_PROJECT_ID=projectId\nGCP_KEYFILE_PATH=/path/to/keyfile\nGCS_BUCKET=bucketName\n```\n\nAnd update your config / options\n\n```js\n{\n  // Parse server options\n  appId: 'my_app_id',\n  masterKey: 'my_master_key',\n  // other options\n  filesAdapter: '@parse/gcs-files-adapter'\n}\n```\n\nAlternatively, you can use\n\n`GCLOUD_PROJECT` and `GOOGLE_APPLICATION_CREDENTIALS` environment variables.\n\n\n### Instance Parameters\n\n```js\nvar GCSAdapter = require('@parse/gcs-files-adapter');\n\nvar gcsAdapter = new GCSAdapter(\n  'project', \n  'keyFilePath', \n  'bucket' , {\n    bucketPrefix: '',\n    directAccess: false\n  }\n);\n\nvar api = new ParseServer({\n  appId: 'my_app',\n  masterKey: 'master_key',\n  filesAdapter: gcsAdapter\n})\n```\n\nor with an options hash\n\n```js\nvar GCSAdapter = require('@parse/gcs-files-adapter');\n\nvar gcsOptions = {\n  projectId: 'projectId',\n  keyFilename: '/path/to/keyfile',\n  bucket: 'my_bucket',\n  bucketPrefix: '',\n  directAccess: false\n}\n\nvar gcsAdapter = new GCSAdapter(gcsOptions);\n\nvar api = new ParseServer({\n  appId: 'my_app',\n  masterKey: 'master_key',\n  filesAdapter: gcsAdapter\n});\n```\n\n## Options\n\n- `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.\n\n## Obtaining Credentials File\n\nSee 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.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparse-community%2Fparse-server-gcs-adapter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fparse-community%2Fparse-server-gcs-adapter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparse-community%2Fparse-server-gcs-adapter/lists"}