{"id":20384220,"url":"https://github.com/prisma-cms/boilerplate","last_synced_at":"2025-04-12T09:23:58.801Z","repository":{"id":57138056,"uuid":"151432271","full_name":"prisma-cms/boilerplate","owner":"prisma-cms","description":"Boilerplate for @prisma-cms","archived":false,"fork":false,"pushed_at":"2020-12-02T17:41:56.000Z","size":273,"stargazers_count":23,"open_issues_count":0,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-31T00:32:06.509Z","etag":null,"topics":["api","api-first","api-first-cms","apollo","apollo-client","graphql","headless-cms","material-ui","node-cms","node-js","prisma","prisma-cms","react"],"latest_commit_sha":null,"homepage":"http://prisma-cms.com","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/prisma-cms.png","metadata":{"files":{"readme":"readme.md","changelog":"changelog.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-10-03T15:09:54.000Z","updated_at":"2024-02-02T18:24:30.000Z","dependencies_parsed_at":"2022-08-22T21:30:42.190Z","dependency_job_id":null,"html_url":"https://github.com/prisma-cms/boilerplate","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prisma-cms%2Fboilerplate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prisma-cms%2Fboilerplate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prisma-cms%2Fboilerplate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prisma-cms%2Fboilerplate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/prisma-cms","download_url":"https://codeload.github.com/prisma-cms/boilerplate/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248271798,"owners_count":21075800,"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":["api","api-first","api-first-cms","apollo","apollo-client","graphql","headless-cms","material-ui","node-cms","node-js","prisma","prisma-cms","react"],"created_at":"2024-11-15T02:26:47.263Z","updated_at":"2025-04-12T09:23:58.777Z","avatar_url":"https://github.com/prisma-cms.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n*🙌 Sorry for my english...*\n\n## Installation\n \n### Base requirements\n#### Linux server \n*i used ubuntu-18 on [digitalocean.com](https://m.do.co/c/b6a1f9d7298e)* (referral link) with 2GB tarif plan for $10/month\n\n```shell\nsudo apt update\nsudo apt upgrade -y\n```\n\nInstall common programs\n```shell\nsudo apt install -y mc git build-essential\n```\n\n\u003cdetails\u003e\n  \u003csummary\u003eCreate user\u003c/summary\u003e\n\n  ```shell\n  # Create user (not required if you use another user)\n  sudo useradd USERNAME -d /home/USERNAME -G sudo -s /bin/bash\n  sudo mkdir /home/USERNAME\n  cd /home/USERNAME\n\n  # for bash hightlighting\n  wget https://gist.githubusercontent.com/Fi1osof/2f8ea23f5411c5c7a0e0025f04941aee/raw/.bashrc \n\n  sudo chown USERNAME: /home/USERNAME -R\n\n  # set password\n  passwd USERNAME\n  ```\n\n\u003c/details\u003e\n\n\n### Install node-js and npm\n```shell\ncurl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -\nsudo apt-get install -y nodejs\n```\nCheck node-js `node -v`\n\n\n### Install yarn\n```shell\ncurl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -\necho \"deb https://dl.yarnpkg.com/debian/ stable main\" | sudo tee /etc/apt/sources.list.d/yarn.list\nsudo apt-get update \u0026\u0026 sudo apt-get install yarn\n```\nCheck yarn `yarn -v`\n\n\n### Install prisma\n```shell\nsudo npm i -g prisma npm-run-all nodemon pm2 cross-env\n```\nCheck prisma `prisma -v`\n\n### Reset homedir permissions\n```shell\nsudo chown $(whoami): ~ -R\n```\n\n### Create /var/www if not exists\n```shell\nsudo mkdir /var/www\nsudo chown $(whoami): /var/www -R\n```\n\n### Install @prisma-cms/boilerplate\n```shell\ncd /var/www\ngit clone https://github.com/prisma-cms/boilerplate\ncd boilerplate\nyarn --ignore-engines\n```\n\n\n## Deploy schema\n \n\n  ### Install prisma local\n\n  #### Install docker\n  ```shell\n  sudo apt-get install software-properties-common python-software-properties\n  sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D\n  sudo apt-add-repository 'deb https://apt.dockerproject.org/repo ubuntu-xenial main'\n  sudo apt-get update\n  sudo apt-get install -y docker-engine\n  ```\n  Check docker installed\n  `docker -v`\n\n  #### Install docker-compose\n  ```shell\n  sudo curl -L https://github.com/docker/compose/releases/download/1.18.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose\n  sudo chmod +x /usr/local/bin/docker-compose\n  ```\n  Check docker-compose `docker-compose -v`\n\n  #### Start prisma docker images\n  *Note: before do this, you can edit src/server/schema/prisma/docker-compose.yml for change prisma port and password.*\n  ```\n  sudo docker-compose -f ./src/server/scripts/docker/prisma/docker-compose.yml up -d\n  ```\n\n  #### Start PhpMyAdmin (optionaly)\n  ```\n  sudo docker run -d --link prisma_mysql_1:db --network prisma_default -p 8080:80 phpmyadmin/phpmyadmin\n  ```\n\n\n### Deploy\n\n```shell\nendpoint=http://localhost:4466/my-project/my-stage yarn deploy\n```\n\u003cdetails\u003e\n  \u003csummary\u003e\n    Explaining yarn deploy\n  \u003c/summary\u003e\n\n  *Note: you sould not execute this commands separately from `yarn deploy`, but may, if undestand what they are doing.*\n\n    This command run several commands:\n    1. `yarn build-schema-prisma` - generate raw graphql schema (for backend)\n    2. `yarn deploy-schema` - deploy generated schema into prisma server. \u003cbr /\u003e\n      If you deploy schema for update exists database and wont force deploy while prisma reject deleting data, you may use `yarn deploy-schema -f` OR `yarn deploy-force` (for run complete procedure).\n    3. `yarn get-schema -p prisma` - get schema from prisma server\n    4. `yarn build-schema-api` - generate API schema (for frontend)\n    5. `yarn generate-fragments-api` - generate JS fragments for apollo client.\n\n\u003c/details\u003e\n\n\n\n## Run server API\n```shell\nAPP_SECRET={MY_ULTRA_SECRET_KEY} endpoint={endpoint} yarn start-server\n```\nCurrent endpoint after deploy you may see by this command (look for uncommented endpoint):\n```shell\ncat src/schema/generated/prisma.graphql |grep \"# source: \"\n```\n\nFor example:\n```shell\nAPP_SECRET=MY_SECRET endpoint=http://localhost:4466/prisma/dev yarn start-server\n```\n\nOpen http://localhost:4000 (or http://server_address:4000)\n\nHere you may write graphql requests.\n\n\n## Run frontend server\n```shell\n# start server on PORT 3000\nyarn start\n\n```\n\nOpen http://localhost:3000 \n\n\u003cdetails\u003e\n  \u003csummary\u003eDifferent starts\u003c/summary\u003e\n\n  ```shell\n  # specify your own port\n  PORT=3223 yarn start\n\n  # or run on default web-port (admin permissions required)\n  sudo PORT=80 yarn start\n\n  # or run https (admin permissions required, used self-signed certificate)\n  sudo HTTPS=true PORT=443 yarn start\n  ```\n\n\u003c/details\u003e\n\n## Build scripts and run Server-Side-Rendering server (SSR)\n\n### Build scripts\n```shell\nPUBLIC_URL=/ yarn build\n```\n\n### Run SSR server\n```shell\nyarn start-ssr\n```\n\n## After install\nYou'll need create your own site from scratch. See demo video: https://www.youtube.com/watch?v=YxoMhYPv96U\u0026list=PLc0oMsU0oNwNF6e-Tnrn3eXhg3wQGGCvJ\n\n\n## Known Issues\n#### Cannot find module '../build/Release/sharp.node'\n```shell\nrm yarn.lock -f\nnpm rebuild\n```\n\n#### Crash server if used more that one sharp version\nCheck that installed one sharp modules\n```shell\nfind -regex .*/node_modules/sharp$\n```\nShould be only one modules ./node_modules/sharp\n \n \n## ToDo:\n1. Write using nginx docs\n2. Write server customization docs\n3. Write frontend customization docs\n4. Examples\n\n## Support project\nWe are looking for sponsors.\n\nAlso you may support by ETH [0x4c791666351Ec3b223acF96C9d9BE431679E5C04](https://etherscan.io/address/0x4c791666351Ec3b223acF96C9d9BE431679E5C04) or paypal.com (send for info@modxclub.ru)\n\nFeel free ask any questions on https://prisma-cms.com","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprisma-cms%2Fboilerplate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprisma-cms%2Fboilerplate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprisma-cms%2Fboilerplate/lists"}