🙌 Sorry for my english...
Extends type User. Add custom fields
Remove some fields from API schema
=========================================
i used ubuntu-18 on digitalocean.com (referral link) with 2GB tarif plan for $10/month
sudo apt update
sudo apt upgrade -y
Install common programs
sudo apt install -y mc git build-essential
Create user
# Create user (not required if you use another user)
sudo useradd USERNAME -d /home/USERNAME -G sudo -s /bin/bash
sudo mkdir /home/USERNAME
cd /home/USERNAME
# for bash hightlighting
wget https://gist.githubusercontent.com/Fi1osof/2f8ea23f5411c5c7a0e0025f04941aee/raw/.bashrc
sudo chown USERNAME: /home/USERNAME -R
# set password
passwd USERNAME
curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt-get install -y nodejs
Check node-js node -v
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update && sudo apt-get install yarn
Check yarn yarn -v
sudo npm i -g prisma npm-run-all nodemon pm2
Check prisma prisma -v
sudo chown $(whoami): ~ -R
sudo mkdir /var/www
sudo chown $(whoami): /var/www -R
cd /var/www
git clone https://github.com/prisma-cms/boilerplate
cd boilerplate
yarn --ignore-engines
# Fix Error: Cannot find module '../build/Release/sharp.node'
npm rebuild
There two variants to use:
With Prisma Cloud
Signup on www.prisma.io/cloud/
If you use Prisma Cloud, first you need signin.
Note: for authorize required browser able opened from commandline. If you want authorize on server which does not have X and can not run browser, you should install prisma localy on your own computer, run prisma login
localy, then copy local file ~/.prisma/config.yml on target server.
Check you is logged in.
prisma account
If you loged in success, you can run yarn deploy
.
With Prisma local
sudo apt-get install software-properties-common python-software-properties
sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
sudo apt-add-repository 'deb https://apt.dockerproject.org/repo ubuntu-xenial main'
sudo apt-get update
sudo apt-get install -y docker-engine
Check docker installed
docker -v
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
sudo chmod +x /usr/local/bin/docker-compose
Check docker-compose docker-compose -v
Note: before do this, you can edit src/server/schema/prisma/docker-compose.yml for change prisma port and password.
sudo docker-compose -f ./src/server/schema/prisma/docker-compose.yml up -d
sudo docker run -d --link prisma_mysql_1:db --network prisma_default -p 8080:80 phpmyadmin/phpmyadmin
yarn deploy
endpoint=http://localhost:4466/my-project/my-stage yarn deploy
Explaining yarn deploy
Note: you sould not execute this commands separately from yarn deploy
, but may, if undestand what they are doing.
This command run several commands:
1. `yarn build-schema-prisma` - generate raw graphql schema (for backend)
2. `yarn deploy-schema` - deploy generated schema into prisma server. <br />
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).
3. `yarn get-schema -p prisma` - get schema from prisma server
4. `yarn build-schema-api` - generate API schema (for frontend)
5. `yarn generate-fragments-api` - generate JS fragments for apollo client.
APP_SECRET={MY_ULTRA_SECRET_KEY} endpoint={endpoint} yarn start-server
Current endpoint after deploy you may see by this command (look for uncommented endpoint):
cat src/server/schema/prisma/prisma.yml |grep endpoint
For example:
APP_SECRET=MY_SECRET endpoint=https://eu1.prisma.sh/username/prisma/dev yarn start-server-dev
Open http://localhost:4000 (or http://server_address:4000)
Here you may write graphql requests.
# start server on PORT 3000
yarn start
Different starts
# specify your own port
PORT=3223 yarn start
# or run on default web-port (admin permissions required)
sudo PORT=80 yarn start
# or run https (admin permissions required, used self-signed certificate)
sudo HTTPS=true PORT=443 yarn start
PUBLIC_URL=/ yarn build
yarn start-ssr
rm yarn.lock -f
npm rebuild
Check that installed one sharp modules
find -regex .*/node_modules/sharp$
Should be only one modules ./node_modules/sharp
- Write using nginx docs
- Write server customization docs
- Write frontend customization docs
- Examples
We are looking for sponsors.
Also you may support by paypal.com (send for [email protected]) or ETH 0x4c791666351Ec3b223acF96C9d9BE431679E5C04