Coder Social home page Coder Social logo

saleor-platform's Introduction

Saleor Platform

Saleor Platform

Run all Saleor services from one repository.

About

What is Saleor Platform?

Saleor Platform is the easiest way to start local development with all the major Saleor services:

Keep in mind this repository is for local development only and is not meant to be deployed in any production environment! If you're not a developer and just want to try out Saleor you can check our live demo.

Requirements

  1. Docker

How to clone the repository?

To clone the repository, run the following command

git clone https://github.com/saleor/saleor-platform.git

How to run it?

  1. We are using shared folders to enable live code reloading. Without this, Docker Compose will not start:

    • Windows/MacOS: Add the cloned saleor-platform directory to Docker shared directories (Preferences -> Resources -> File sharing).
    • Windows/MacOS: Make sure that in Docker preferences you have dedicated at least 5 GB of memory (Preferences -> Resources -> Advanced).
    • Linux: No action is required, sharing is already enabled and memory for the Docker engine is not limited.
  2. Go to the cloned directory:

cd saleor-platform
  1. Build the application:
docker compose build
  1. Apply Django migrations:
docker compose run --rm api python3 manage.py migrate
  1. Populate the database with example data and create the admin user:
docker compose run --rm api python3 manage.py populatedb --createsuperuser

Note that --createsuperuser argument creates an admin account for [email protected] with the password set to admin.

  1. Run the application:
docker compose up

Where is the application running?

Troubleshooting

How to solve issues with lack of available space or build errors after an update

Most of the time both issues can be solved by cleaning up space taken by old containers. After that, we build again whole platform.

  1. Make sure docker stack is not running
docker compose stop
  1. Remove existing volumes

Warning! Proceeding will remove also your database container! If you need existing data, please remove only services that cause problems! https://docs.docker.com/compose/reference/rm/

docker compose rm
  1. Build fresh containers
docker compose build
  1. Now you can run a fresh environment using commands from How to run it? section. Done!

Still no available space

If you are getting issues with lack of available space, consider pruning your docker cache:

Warning! This will remove:

  • all stopped containers
  • all networks not used by at least one container
  • all dangling images
  • all dangling build cache

More info: https://docs.docker.com/engine/reference/commandline/system_prune/

I've been warned

docker system prune

Issues with migrations after changing the versions - resetting the database

Please submit an issue ticket if you spot issues with database migrations during the version update.

When testing developer releases or making local changes, you might end up in a state where you would like to reset the database completely. Since its state is persisted in the mounted volume, you'll need to use a dedicated command.

Warning! This command will remove all data already stored in the database.

I've been warned

docker compose down --volumes db

How to run application parts?

  • docker compose up api worker for backend services only
  • docker compose up for backend and frontend services

Feedback

If you have any questions or feedback, do not hesitate to contact us via GitHub Discussions.

License

Disclaimer: Everything you see here is open and free to use as long as you comply with the license. There are no hidden charges. We promise to do our best to fix bugs and improve the code.

Some situations do call for extra code; we can cover exotic use cases or build you a custom e-commerce appliance.

Crafted with ❤️ by Saleor Commerce

[email protected]

saleor-platform's People

Contributors

2can avatar andrzejewsky avatar beatboxchad avatar carlosa54 avatar d-wysocki avatar eaglesemanation avatar emrebyimrn avatar firvida avatar fowczarek avatar ikarbowiak avatar kadewu avatar krzysztofwolski avatar krzysztofzuraw avatar lkostrowski avatar m59peacemaker avatar maarcingebala avatar magul avatar nyankiyoshi avatar patrys avatar peelar avatar piotrgrundas avatar poulch avatar przlada avatar sysadmin4j avatar timuric avatar tomaszszymanski129 avatar witoszekdev avatar zaiste avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

saleor-platform's Issues

Initial setup not working

Hi,

I followed the guide to setup saleor through https://docs.saleor.io/docs/developer/installation/

the docker-compose up cause certain timeouts, however the containers were created, so i started the dockers for frontend and admin manually using docker start

however now I am getting

Network error: Unexpected end of JSON input

as soon as i try to load the site on port 3000

deployment details

os : ubuntu 20.04 LTS
both docker and docker compose installed
Output of docker ps

CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS              PORTS                                                                                                                                                                     NAMES
ea0d5ffc179b        saleor-platform_worker       "celery -A saleor --…"   13 hours ago        Up 13 hours         8000/tcp                                                                                                                                                                  saleor-platform_worker_1
45a9e0a0bcb1        saleor-platform_storefront   "docker-entrypoint.s…"   13 hours ago        Up 11 hours         0.0.0.0:3000->3000/tcp                                                                                                                                                    saleor-platform_storefront_1
76c8c8c7170c        saleor-platform_api          "python manage.py ru…"   13 hours ago        Up 13 hours         0.0.0.0:8000->8000/tcp                                                                                                                                                    saleor-platform_api_1
50cbb48d4e48        mailhog/mailhog              "MailHog"                13 hours ago        Up 13 hours         0.0.0.0:1025->1025/tcp, 0.0.0.0:8025->8025/tcp                                                                                                                            saleor-platform_mailhog_1
98f53596cd1c        saleor-platform_dashboard    "docker-entrypoint.s…"   13 hours ago        Up 11 hours         0.0.0.0:9000->9000/tcp                                                                                                                                                    saleor-platform_dashboard_1
406e78118387        redis:5.0-alpine             "docker-entrypoint.s…"   13 hours ago        Up 13 hours         0.0.0.0:6379->6379/tcp                                                                                                                                                    saleor-platform_redis_1
5165b5fa3131        jaegertracing/all-in-one     "/go/bin/all-in-one-…"   13 hours ago        Up 13 hours         0.0.0.0:5775->5775/udp, 0.0.0.0:5778->5778/tcp, 0.0.0.0:9411->9411/tcp, 0.0.0.0:14268->14268/tcp, 0.0.0.0:6831-6832->6831-6832/udp, 0.0.0.0:16686->16686/tcp, 14250/tcp   saleor-platform_jaeger_1
0d428fe2575f        postgres:11.1-alpine         "docker-entrypoint.s…"   13 hours ago        Up 13 hours         0.0.0.0:5432->5432/tcp                                                                                                                                                    saleor-platform_db_1

Browser console output on port 9000

[HMR] Waiting for update signal from WDS...
webpack-internal:///./node_modules/react-dom/cjs/react-dom.development.js:27705 Download the React DevTools for a better development experience: https://fb.me/react-devtools
webpack-internal:///./node_modules/react-gtm-module/dist/utils/warn.js:7 [react-gtm] GTM Id is required
warn @ webpack-internal:///./node_modules/react-gtm-module/dist/utils/warn.js:7
webpack-internal:///./node_modules/tiny-warning/dist/tiny-warning.esm.js:12 Warning: You are attempting to use a basename on a page whose URL path does not begin with the basename. Expected path "/" to begin with "/dashboard".
warning @ webpack-internal:///./node_modules/tiny-warning/dist/tiny-warning.esm.js:12
webpack-internal:///./node_modules/react-dom/cjs/react-dom.development.js:12338 Warning: componentWillMount has been renamed, and is not recommended for use. See https://fb.me/react-unsafe-component-lifecycles for details.

* Move code with side effects to componentDidMount, and set initial state in the constructor.
* Rename componentWillMount to UNSAFE_componentWillMount to suppress this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.

Please update the following components: InlineSVG, SideEffect(NullComponent)
printWarning @ webpack-internal:///./node_modules/react-dom/cjs/react-dom.development.js:12338
webpack-internal:///./node_modules/webpack-dev-server/client/index.js?http://0.0.0.0:9000:48 [WDS] Hot Module Replacement enabled.
webpack-internal:///./node_modules/webpack-dev-server/client/index.js?http://0.0.0.0:9000:52 [WDS] Live Reloading enabled.
2webpack-internal:///./src/hooks/useForm.ts:197 Uncaught (in promise) TypeError: Cannot read property 'length' of null
    at submit$ (webpack-internal:///./src/hooks/useForm.ts:197)
    at tryCatch (webpack-internal:///./node_modules/regenerator-runtime/runtime.js:62)
    at Generator.invoke [as _invoke] (webpack-internal:///./node_modules/regenerator-runtime/runtime.js:296)
    at Generator.prototype.<computed> [as next] (webpack-internal:///./node_modules/regenerator-runtime/runtime.js:114)
    at tryCatch (webpack-internal:///./node_modules/regenerator-runtime/runtime.js:62)
    at invoke (webpack-internal:///./node_modules/regenerator-runtime/runtime.js:152)
    at eval (webpack-internal:///./node_modules/regenerator-runtime/runtime.js:162)

Browser console output on storefront

react-dom.development.js:12339 Warning: componentWillMount has been renamed, and is not recommended for use. See https://fb.me/react-unsafe-component-lifecycles for details.

* Move code with side effects to componentDidMount, and set initial state in the constructor.
* Rename componentWillMount to UNSAFE_componentWillMount to suppress this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.

Please update the following components: Media, SideEffect(NullComponent)
printWarning @ react-dom.development.js:12339
react-dom.development.js:12339 Warning: componentWillReceiveProps has been renamed, and is not recommended for use. See https://fb.me/react-unsafe-component-lifecycles for details.

* Move data fetching code or side effects to componentDidUpdate.
* If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://fb.me/react-derived-state
* Rename componentWillReceiveProps to UNSAFE_componentWillReceiveProps to suppress this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.

Please update the following components: Query
printWarning @ react-dom.development.js:12339
client:48 [WDS] Hot Module Replacement enabled.
client:52 [WDS] Live Reloading enabled.
client:126 [WDS] Warnings while compiling.
warnings @ client:126
client:135 EnvironmentPlugin - GTM_ID environment variable is undefined.

You can pass an object with default values to suppress this warning.
See https://webpack.js.org/plugins/environment-plugin for example.
warnings @ client:135
bundle.esm.js:60 Uncaught (in promise) Error: Network error: Unexpected end of JSON input
    at new ApolloError (bundle.esm.js:60)
    at QueryManager.<anonymous> (bundle.esm.js:1184)
    at step (tslib.es6.js:97)
    at Object.next (tslib.es6.js:78)
    at tslib.es6.js:71
    at new Promise (<anonymous>)
    at __awaiter (tslib.es6.js:67)
    at bundle.esm.js:1147
    at bundle.esm.js:1627
    at Array.forEach (<anonymous>)

The home page works, but there are 404 on the others.

I have error 404 when trying to go to subpages.
In the docker console I have:

api_1 | INFO django.server "OPTIONS /graphql/ HTTP/1.1" 200 0 [PID:9:Thread-3] api_1 | INFO django.server "OPTIONS /graphql/ HTTP/1.1" 200 0 [PID:9:Thread-3] api_1 | INFO django.server "OPTIONS /graphql/ HTTP/1.1" 200 0 [PID:9:Thread-3] api_1 | ERROR graphql.execution.executor An error occurred while resolving field Query.shop [PID:9:Thread-3] api_1 | Traceback (most recent call last): api_1 | File "/usr/local/lib/python3.8/site-packages/graphql_jwt/utils.py", line 86, in get_payload api_1 | payload = jwt_settings.JWT_DECODE_HANDLER(token, context) api_1 | File "/usr/local/lib/python3.8/site-packages/graphql_jwt/utils.py", line 45, in jwt_decode api_1 | return jwt.decode( api_1 | File "/usr/local/lib/python3.8/site-packages/jwt/api_jwt.py", line 91, in decode api_1 | decoded = super(PyJWT, self).decode( api_1 | File "/usr/local/lib/python3.8/site-packages/jwt/api_jws.py", line 155, in decode api_1 | self._verify_signature(payload, signing_input, header, signature, api_1 | File "/usr/local/lib/python3.8/site-packages/jwt/api_jws.py", line 223, in _verify_signature api_1 | raise InvalidSignatureError('Signature verification failed') api_1 | jwt.exceptions.InvalidSignatureError: Signature verification failed

Invalid Host header

Hi,
I am following the steps. After docker-compose up when i try to access the site on public port. I get the error.

Invalid Host header

Please help. Thanks in advance.

Phantom installation failed

db uses an image, skipping
redis uses an image, skipping
jaeger uses an image, skipping
mailhog uses an image, skipping
Building storefront
Step 1/9 : FROM node:10
10: Pulling from library/node
76b8ef87096f: Pull complete
2e2bafe8a0f4: Pull complete
b53ce1fd2746: Pull complete
84a8c1bd5887: Pull complete
7a803dc0b40f: Pull complete
b800e94e7303: Pull complete
0da9fbf60d48: Pull complete
04dccde934cf: Pull complete
73269890f6fd: Pull complete
Digest: sha256:59531d2835edd5161c8f9512f9e095b1836f7a1fcb0ab73e005ec46047384911
Status: Downloaded newer image for node:10
 ---> 28dca6642db8
Step 2/9 : WORKDIR /app
 ---> Running in 4697b0eb96ba
Removing intermediate container 4697b0eb96ba
 ---> 69c1ba13469f
Step 3/9 : COPY package*.json ./
 ---> 93a8b13006b6
Step 4/9 : RUN npm install
 ---> Running in 0a784bd0b1c8

> [email protected] install /app/node_modules/phantomjs-prebuilt
> node install.js

PhantomJS not found on PATH
Downloading https://github.com/Medium/phantomjs/releases/download/v2.1.1/phantomjs-2.1.1-linux-x86_64.tar.bz2
Saving to /tmp/phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2
Receiving...

Received 7526K total.
Extracting tar contents (via spawned process)
Error extracting archive
Phantom installation failed { Error: Command failed: tar jxf /tmp/phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2

bzip2: Compressed file ends unexpectedly;
	perhaps it is corrupted?  *Possible* reason follows.
bzip2: Inappropriate ioctl for device
	Input file = (stdin), output file = (stdout)

It is possible that the compressed file(s) have become corrupted.
You can use the -tvv option to test integrity of such files.

You can use the `bzip2recover' program to attempt to recover
data from undamaged sections of corrupted files.

tar: Unexpected EOF in archive
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now

    at ChildProcess.exithandler (child_process.js:294:12)
    at ChildProcess.emit (events.js:198:13)
    at maybeClose (internal/child_process.js:982:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5)
  killed: false,
  code: 2,
  signal: null,
  cmd:
   'tar jxf /tmp/phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2' } Error: Command failed: tar jxf /tmp/phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2

bzip2: Compressed file ends unexpectedly;
	perhaps it is corrupted?  *Possible* reason follows.
bzip2: Inappropriate ioctl for device
	Input file = (stdin), output file = (stdout)

It is possible that the compressed file(s) have become corrupted.
You can use the -tvv option to test integrity of such files.

You can use the `bzip2recover' program to attempt to recover
data from undamaged sections of corrupted files.

tar: Unexpected EOF in archive
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now

    at ChildProcess.exithandler (child_process.js:294:12)
    at ChildProcess.emit (events.js:198:13)
    at maybeClose (internal/child_process.js:982:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5)
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/jest/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/@storybook/addon-storyshots/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/@storybook/addon-docs/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/@jest/transform/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: `node install.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2021-04-23T15_09_54_800Z-debug.log
ERROR: Service 'storefront' failed to build: The command '/bin/sh -c npm install' returned a non-zero code: 1

Apollo fails making connection to 127.0.0.1:8000 (Storefront fails to start)

I just started the saleor platform without changing anything and was unable to run the storefront container.
It seems Apollo is unable to connect to the graphql instance.

Opening the graphql editor works like a charm. ie: localhost:8000.
The problem is when the storefront tries to connect to the graphql instance.
Dashboard works, saleor core works. I am on version 3.
Ran the command to update to the latest version for saleor platform.

Storefront is on commit: 4ff54d5598a85f49d9a2ec03196d874eb3f62e20

macOS big sur

I think this is a bug.

EDIT: Tried running on master branch, fails to start.

storefront_1  | { Error: Network error: request to http://localhost:8000/graphql/ failed, reason: connect ECONNREFUSED 127.0.0.1:8000
storefront_1  |     at new ApolloError (/app/node_modules/apollo-client/bundle.umd.js:92:26)
storefront_1  |     at /app/node_modules/apollo-client/bundle.umd.js:1588:34
storefront_1  |     at /app/node_modules/apollo-client/bundle.umd.js:2008:15
storefront_1  |     at Set.forEach (<anonymous>)
storefront_1  |     at /app/node_modules/apollo-client/bundle.umd.js:2006:26
storefront_1  |     at Map.forEach (<anonymous>)
storefront_1  |     at QueryManager.broadcastQueries (/app/node_modules/apollo-client/bundle.umd.js:2004:20)
storefront_1  |     at /app/node_modules/apollo-client/bundle.umd.js:1483:29
storefront_1  |     at process._tickCallback (internal/process/next_tick.js:68:7)
storefront_1  |   graphQLErrors: [],
storefront_1  |   networkError:
storefront_1  |    { FetchError: request to http://localhost:8000/graphql/ failed, reason: connect ECONNREFUSED 127.0.0.1:8000
storefront_1  |        at ClientRequest.<anonymous> (/app/node_modules/node-fetch/lib/index.js:1461:11)
storefront_1  |        at ClientRequest.emit (events.js:198:13)
storefront_1  |        at Socket.socketErrorListener (_http_client.js:401:9)
storefront_1  |        at Socket.emit (events.js:198:13)
storefront_1  |        at emitErrorNT (internal/streams/destroy.js:91:8)
storefront_1  |        at emitErrorAndCloseNT (internal/streams/destroy.js:59:3)
storefront_1  |        at process._tickCallback (internal/process/next_tick.js:63:19)
storefront_1  |      message:
storefront_1  |       'request to http://localhost:8000/graphql/ failed, reason: connect ECONNREFUSED 127.0.0.1:8000',
storefront_1  |      type: 'system',
storefront_1  |      errno: 'ECONNREFUSED',
storefront_1  |      code: 'ECONNREFUSED' },
storefront_1  |   message:
storefront_1  |    'Network error: request to http://localhost:8000/graphql/ failed, reason: connect ECONNREFUSED 127.0.0.1:8000',
storefront_1  |   extraInfo: undefined }
mailhog_1     | [APIv1] KEEPALIVE /api/v1/events
storefront_1  | (node:27) UnhandledPromiseRejectionWarning: Error: Network error: request to http://localhost:8000/graphql/ failed, reason: connect ECONNREFUSED 127.0.0.1:8000
storefront_1  |     at new ApolloError (/app/node_modules/apollo-client/bundle.umd.js:92:26)
storefront_1  |     at /app/node_modules/apollo-client/bundle.umd.js:1588:34
storefront_1  |     at /app/node_modules/apollo-client/bundle.umd.js:2008:15
storefront_1  |     at Set.forEach (<anonymous>)
storefront_1  |     at /app/node_modules/apollo-client/bundle.umd.js:2006:26
storefront_1  |     at Map.forEach (<anonymous>)
storefront_1  |     at QueryManager.broadcastQueries (/app/node_modules/apollo-client/bundle.umd.js:2004:20)
storefront_1  |     at /app/node_modules/apollo-client/bundle.umd.js:1483:29
storefront_1  |     at process._tickCallback (internal/process/next_tick.js:68:7)
storefront_1  | (node:27) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 305)

Docker build on Raspberry Pi error

Hi,

i got issue with docker-compose on raspberri 4 - 8G ram,
How could i fix it? Thanks a lot.

Digest: sha256:2570ba0fc206d0ef13dfb5563c8b93e5cf8a4cc7b1136dcab1de6466da8a3e91 Status: Downloaded newer image for node:10 ---> 66001491656e Step 2/9 : WORKDIR /app ---> Running in 19693c86e34d Removing intermediate container 19693c86e34d ---> d2eb206851c0 Step 3/9 : COPY package*.json ./ ---> ebb23e92bfac Step 4/9 : RUN npm install ---> Running in 1c1649c67b35 Aborted (core dumped) ERROR: Service 'storefront' failed to build: The command '/bin/sh -c npm install' returned a non-zero code: 134 root@ubuntu:/opt/services/saleor-platform#

Db populate data error

Hi, I am getting this error when I try to populate my database with example store and create a user

django.db.utils.ProgrammingError: column "meta" of relation "shipping_shippingmethod" does not exist

Platform stopped working after first restart

I installed the platform yesterday on my dev box and the set-up went off without a hitch. Everything was working fine until I restarted services then the system collapsed. Here's what I did:

  1. Followed the getting started instructions in the README.
  2. Logged into admin and created a test product.
  3. Restarted services with docker-compose down && docker-compose up -d.
  4. Attempted to log into admin and use the storefront.

Expected result:
Same application state as where I left it.

Actual result:
GraphQL errors attempting to use Storefront and Admin after restart.

Screenshot 1 | Screenshot 2

Possible solution:
Delete volumes and start over.

OS: Darwin Kernel Version 20.0.0 x86_64
Platform version: f8dfd5b

dashboard container - Error from chokidar - ENOSPC: System limit for number of file watchers reached

Hi,

I was running the 2.10 all in one docker-compose locally and was working fine.
Now you bumped to 2.11, I get errors from dashboard container, please see below.
How can I fix that ?
Cheers;

// All the other containers seem to behave fine

dashboard_1 | Error from chokidar (/app/node_modules/@material-ui/icons): Error: ENOSPC: System limit for number of file watchers reached, watch '/app/node_modules/@material-ui/icons/ZoomOut.d.ts'
dashboard_1 | Error from chokidar (/app/node_modules/@material-ui/icons): Error: ENOSPC: System limit for number of file watchers reached, watch '/app/node_modules/@material-ui/icons/ZoomOut.js'
dashboard_1 | Error from chokidar (/app/node_modules/@material-ui/icons): Error: ENOSPC: System limit for number of file watchers reached, watch '/app/node_modules/@material-ui/icons/ZoomOutMap.d.ts'
dashboard_1 | Error from chokidar (/app/node_modules/@material-ui/icons): Error: ENOSPC: System limit for number of file watchers reached, watch '/app/node_modules/@material-ui/icons/ZoomOutMap.js'
dashboard_1 | Error from chokidar (/app/node_modules/@material-ui/icons): Error: ENOSPC: System limit for number of file watchers reached, watch '/app/node_modules/@material-ui/icons/ZoomOutMapOutlined.d.ts'
dashboard_1 | Error from chokidar (/app/node_modules/@material-ui/icons): Error: ENOSPC: System limit for number of file watchers reached, watch '/app/node_modules/@material-ui/icons/ZoomOutMapOutlined.js'
dashboard_1 | Error from chokidar (/app/node_modules/@material-ui/icons): Error: ENOSPC: System limit for number of file watchers reached, watch '/app/node_modules/@material-ui/icons/ZoomOutMapRounded.d.ts'
dashboard_1 | Error from chokidar (/app/node_modules/@material-ui/icons): Error: ENOSPC: System limit for number of file watchers reached, watch '/app/node_modules/@material-ui/icons/ZoomOutMapRounded.js'
dashboard_1 | Error from chokidar (/app/node_modules/@material-ui/icons): Error: ENOSPC: System limit for number of file watchers reached, watch '/app/node_modules/@material-ui/icons/ZoomOutMapSharp.d.ts'
dashboard_1 | Error from chokidar (/app/node_modules/@material-ui/icons): Error: ENOSPC: System limit for number of file watchers reached, watch '/app/node_modules/@material-ui/icons/ZoomOutMapSharp.js'
dashboard_1 | Error from chokidar (/app/node_modules/@material-ui/icons): Error: ENOSPC: System limit for number of file watchers reached, watch '/app/node_modules/@material-ui/icons/ZoomOutMapTwoTone.d.ts'
dashboard_1 | Error from chokidar (/app/node_modules/@material-ui/icons): Error: ENOSPC: System limit for number of file watchers reached, watch '/app/node_modules/@material-ui/icons/ZoomOutMapTwoTone.js'
dashboard_1 | Error from chokidar (/app/node_modules/@material-ui/icons): Error: ENOSPC: System limit for number of file watchers reached, watch '/app/node_modules/@material-ui/icons/ZoomOutOutlined.d.ts'
dashboard_1 | Error from chokidar (/app/node_modules/@material-ui/icons): Error: ENOSPC: System limit for number of file watchers reached, watch '/app/node_modules/@material-ui/icons/ZoomOutOutlined.js'
dashboard_1 | Error from chokidar (/app/node_modules/@material-ui/icons): Error: ENOSPC: System limit for number of file watchers reached, watch '/app/node_modules/@material-ui/icons/ZoomOutRounded.d.ts'
dashboard_1 | Error from chokidar (/app/node_modules/@material-ui/icons): Error: ENOSPC: System limit for number of file watchers reached, watch '/app/node_modules/@material-ui/icons/ZoomOutRounded.js'
dashboard_1 | Error from chokidar (/app/node_modules/@material-ui/icons): Error: ENOSPC: System limit for number of file watchers reached, watch '/app/node_modules/@material-ui/icons/ZoomOutSharp.d.ts'
dashboard_1 | Error from chokidar (/app/node_modules/@material-ui/icons): Error: ENOSPC: System limit for number of file watchers reached, watch '/app/node_modules/@material-ui/icons/ZoomOutSharp.js'
dashboard_1 | Error from chokidar (/app/node_modules/@material-ui/icons): Error: ENOSPC: System limit for number of file watchers reached, watch '/app/node_modules/@material-ui/icons/ZoomOutTwoTone.d.ts'
dashboard_1 | Error from chokidar (/app/node_modules/@material-ui/icons): Error: ENOSPC: System limit for number of file watchers reached, watch '/app/node_modules/@material-ui/icons/ZoomOutTwoTone.js'
dashboard_1 | Error from chokidar (/app/node_modules/@material-ui/icons): Error: ENOSPC: System limit for number of file watchers reached, watch '/app/node_modules/@material-ui/icons/index.d.ts'
dashboard_1 | Error from chokidar (/app/node_modules/@material-ui/icons): Error: ENOSPC: System limit for number of file watchers reached, watch '/app/node_modules/@material-ui/icons/index.js'

Apps-generated tokens doesn't give full access to GraphQL queries/mutations

Hey everyone,
We are trying to use GraphQL mutations to get and add data to the database but we keep getting "You do not have permission to perform this action", even with a token generated from an app in the dashboard.
We use Saleor-platform v2.11, the tokens we use should have full access to the store so we don't know what to do now...
Is it a known issue?
How can we bypass this problem?
Thanks!

after docker-compose down & docker-compose up again, the front end always show 404 pages

Hi,

I run command docker-compose down to shutdown all the containers. If I start the containers again with command docker-compose up, all the containers were started successfully, but I keep on meeting with the 404 page for every frontend page I accessed.

check on the log it says:
Failed to load resource: the server responded with a status of 404 (Not Found)

Do I have to rebuild the containers every time before I start?

Release policy

Could You add some tag versioning for saleor-platform.
I'm looking for stable version of: saleor + dashboard + storefront.

Docker: storefront and dashboard throw NPM errors, but others work fine

Installation

Followed installation guide by installing and running Docker Desktop (Windows 10) and executing these commands:

git clone https://github.com/mirumee/saleor-platform.git --recursive --jobs 3
cd saleor-platform
docker-compose build
docker-compose run --rm api python3 manage.py migrate
docker-compose run --rm api python3 manage.py collectstatic --noinput
docker-compose run --rm api python3 manage.py populatedb
docker-compose run --rm api python3 manage.py createsuperuser
docker-compose up

API (backend): good

Backend API works fine on port 8000:

image

Storefront and dashboard: NPM errors

But storefront and dashboard throw errors:

image

image

image

Storefront error log

storefront_1  |
storefront_1  | > [email protected] start /app
storefront_1  | > cross-env NODE_ENV=develop webpack-dev-server --history-api-fallback --watch --port 3000 --mode development --hotOnly "--hostname" "0.0.0.0"
storefront_1  |
storefront_1  | sh: 1: cross-env: not found
storefront_1  | npm ERR! code ELIFECYCLE
storefront_1  | npm ERR! syscall spawn
storefront_1  | npm ERR! file sh
storefront_1  | npm ERR! errno ENOENT
storefront_1  | npm ERR! [email protected] start: `cross-env NODE_ENV=develop webpack-dev-server --history-api-fallback --watch --port 3000 --mode development --hotOnly "--hostname" "0.0.0.0"`
storefront_1  | npm ERR! spawn ENOENT
storefront_1  | npm ERR!
storefront_1  | npm ERR! Failed at the [email protected] start script.
storefront_1  | npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
storefront_1  | npm WARN Local package.json exists, but node_modules missing, did you mean to install?
storefront_1  |
storefront_1  | npm ERR! A complete log of this run can be found in:
storefront_1  | npm ERR!     /root/.npm/_logs/2021-04-30T03_31_03_452Z-debug.log
saleor-platform_storefront_1 exited with code 1

Dashboard error log

dashboard_1   |
dashboard_1   | > [email protected] start /app
dashboard_1   | > webpack-dev-server -d "--host" "0.0.0.0"
dashboard_1   |
dashboard_1   | sh: 1: webpack-dev-server: not found
dashboard_1   | npm ERR! code ELIFECYCLE
dashboard_1   | npm ERR! syscall spawn
dashboard_1   | npm ERR! file sh
dashboard_1   | npm ERR! errno ENOENT
dashboard_1   | npm ERR! [email protected] start: `webpack-dev-server -d "--host" "0.0.0.0"`
dashboard_1   | npm ERR! spawn ENOENT
dashboard_1   | npm ERR!
dashboard_1   | npm ERR! Failed at the [email protected] start script.
dashboard_1   | npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
dashboard_1   | npm WARN Local package.json exists, but node_modules missing, did you mean to install?
dashboard_1   |
dashboard_1   | npm ERR! A complete log of this run can be found in:
dashboard_1   | npm ERR!     /root/.npm/_logs/2021-04-30T03_31_08_589Z-debug.log
saleor-platform_dashboard_1 exited with code 1

Get 502 After Import the sample docker image to AWS Beanstalk

Hi,
I want to open a online shop with your project and tried to run your sample on my AWS Beanstalk. But I'm pretty new to the settings of web server environment.

What happened was:
I created a new Beanstalk environment with Dockerrun.aws.json and exposes port 3000.
But when I opened the website, it shows a 502 Bad Gateway nginx/1.16.1

netstat doesn't show 3000 port.

How could I solve the 502 error? Do I need to modify the hard coded localhost in source code?

🐛BUG: Storefront and dashboard both broken

I ran all the steps as explained in the readme (I did this before in previous versions with no problem).

But now, after running docker-compose up the landing page in port 8000 shows the links to the apps, but Storefront and Dashboard are both broken.

In the terminal I see several errors like:

storefront_1  | ERROR in useCheckoutStepState.ts
storefront_1  | ./src/@next/hooks/useCheckoutStepState.ts
storefront_1  | [tsl] ERROR in useCheckoutStepState.ts(16,5)
storefront_1  |       TS1005: ':' expected.
storefront_1  |  @ ./src/@next/hooks/index.ts 13:9-42
storefront_1  |  @ ./src/@next/components/atoms/DropdownMenu/DropdownMenu.tsx
storefront_1  |  @ ./src/@next/components/atoms/DropdownMenu/index.ts
storefront_1  |  @ ./src/@next/components/atoms/index.ts
storefront_1  |  @ ./src/index.tsx
storefront_1  |  @ multi (webpack)-dev-server/client?http://0.0.0.0:3000 (webpack)/hot/only-dev-server.js ./src/index.tsx

and

storefront_1  | TS2305: Module '"../../../../node_modules/@types/react-router-dom"' has no exported member 'useLocation'.
storefront_1  | ERROR in /app/src/@sdk/network/index.ts(338,9):
storefront_1  | TS2322: Type '{ checkoutInput: { billingAddress: { city: string; companyName: string; country: string; countryArea: string; firstName: string; lastName: string; phone: string; postalCode: string; streetAddress1: string; streetAddress2: string; }; email: string; lines: { ...; }[]; shippingAddress: { ...; }; }; }' is not assignable to type 'CreateCheckoutVariables'.
storefront_1  |   Types of property 'checkoutInput' are incompatible.
storefront_1  |     Type '{ billingAddress: { city: string; companyName: string; country: string; countryArea: string; firstName: string; lastName: string; phone: string; postalCode: string; streetAddress1: string; streetAddress2: string; }; email: string; lines: { ...; }[]; shippingAddress: { ...; }; }' is not assignable to type 'CheckoutCreateInput'.

and in the terminal (browser) I see several errors like: (for storefront)

useCheckoutStepFromPath.ts:27 Uncaught Error: Module parse failed: Unexpected token (7:54)
You may need an appropriate loader to handle this file type.
| exports.useCheckoutStepState = (items, checkout, payment) => {
|     const isShippingRequiredForProducts = items &&
>         items.some(({ variant }) => variant.product ? .productType.isShippingRequired
|             :
|         );
react_devtools_backend.js:6 ./src/@next/components/organisms/StripeCreditCardForm/StripeCreditCardForm.tsx
Module not found: Error: Can't resolve '@stripe/react-stripe-js' in '/app/src/@next/components/organisms/StripeCreditCardForm'
react_devtools_backend.js:6 CartSummary.tsx
./src/@next/components/organisms/CartSummary/CartSummary.tsx
[tsl] ERROR in CartSummary.tsx(76,13)
      TS1005: ':' expected.
r @ react_devtools_backend.js:6
errors @ client:168
onmessage @ socket.js:41
EventTarget.dispatchEvent @ sockjs.js:170
(anonymous) @ sockjs.js:887
SockJS._transportMessage @ sockjs.js:885
EventEmitter.emit @ sockjs.js:86
WebSocketTransport.ws.onmessage @ sockjs.js:2961
react_devtools_backend.js:6 CheckoutAddress.tsx
./src/@next/components/organisms/CheckoutAddress/CheckoutAddress.tsx
[tsl] ERROR in CheckoutAddress.tsx(36,39)
      TS1109: Expression expected.

and in the terminal (for backend) I see these errors:

index.tsx:1 Uncaught Error: Module build failed (from ./node_modules/babel-loader/lib/index.js):
Error: Cannot find module '@babel/plugin-proposal-optional-chaining' from '/app'
    at Function.module.exports [as sync] (:9000/app/node_modules/resolve/lib/sync.js:74)
    at resolveStandardizedName (:9000/app/node_modules/@babel/core/lib/config/files/plugins.js:101)
    at resolvePlugin (:9000/app/node_modules/@babel/core/lib/config/files/plugins.js:54)
    at loadPlugin (:9000/app/node_modules/@babel/core/lib/config/files/plugins.js:62)
    at createDescriptor (:9000/app/node_modules/@babel/core/lib/config/config-descriptors.js:154)
    at items.map (:9000/app/node_modules/@babel/core/lib/config/config-descriptors.js:109)
    at Array.map (<anonymous>)
    at createDescriptors (:9000/app/node_modules/@babel/core/lib/config/config-descriptors.js:109)
    at createPluginDescriptors (:9000/app/node_modules/@babel/core/lib/config/config-descriptors.js:105)
    at plugins (:9000/app/node_modules/@babel/core/lib/config/config-descriptors.js:40)
    at eval (index.tsx:1)
    at Object../src/index.tsx (dashboard.js?8fc242e5fa5506fef701:1188)
    at __webpack_require__ (dashboard.js?8fc242e5fa5506fef701:727)
    at fn (dashboard.js?8fc242e5fa5506fef701:101)
    at Object.0 (dashboard.js?8fc242e5fa5506fef701:1201)
    at __webpack_require__ (dashboard.js?8fc242e5fa5506fef701:727)
    at dashboard.js?8fc242e5fa5506fef701:794
    at dashboard.js?8fc242e5fa5506fef701:797
eval @ index.tsx:1
./src/index.tsx @ dashboard.js?8fc242e5fa5506fef701:1188
__webpack_require__ @ dashboard.js?8fc242e5fa5506fef701:727
fn @ dashboard.js?8fc242e5fa5506fef701:101
0 @ dashboard.js?8fc242e5fa5506fef701:1201
__webpack_require__ @ dashboard.js?8fc242e5fa5506fef701:727
(anonymous) @ dashboard.js?8fc242e5fa5506fef701:794
(anonymous) @ dashboard.js?8fc242e5fa5506fef701:797
client?8a49:48 [WDS] Hot Module Replacement enabled.
client?8a49:52 [WDS] Live Reloading enabled.
client?8a49:150 [WDS] Errors while compiling. Reload prevented.
errors @ client?8a49:150
eval @ socket.js?e29c:47
sock.onmessage @ SockJSClient.js?0a33:63
EventTarget.dispatchEvent @ sockjs.js?9be2:170
eval @ sockjs.js?9be2:888
SockJS._transportMessage @ sockjs.js?9be2:886
EventEmitter.emit @ sockjs.js?9be2:86
WebSocketTransport.ws.onmessage @ sockjs.js?9be2:2962
client?8a49:159 ./src/index.tsx
Module build failed (from ./node_modules/babel-loader/lib/index.js):
Error: Cannot find module '@babel/plugin-proposal-optional-chaining' from '/app'
    at Function.module.exports [as sync] (/app/node_modules/resolve/lib/sync.js:74:15)
    at resolveStandardizedName (/app/node_modules/@babel/core/lib/config/files/plugins.js:101:31)
    at resolvePlugin (/app/node_modules/@babel/core/lib/config/files/plugins.js:54:10)
    at loadPlugin (/app/node_modules/@babel/core/lib/config/files/plugins.js:62:20)
    at createDescriptor (/app/node_modules/@babel/core/lib/config/config-descriptors.js:154:9)
    at items.map (/app/node_modules/@babel/core/lib/config/config-descriptors.js:109:50)
    at Array.map (<anonymous>)
    at createDescriptors (/app/node_modules/@babel/core/lib/config/config-descriptors.js:109:29)
    at createPluginDescriptors (/app/node_modules/@babel/core/lib/config/config-descriptors.js:105:10)
    at plugins (/app/node_modules/@babel/core/lib/config/config-descriptors.js:40:19)
errors @ client?8a49:159
eval @ socket.js?e29c:47
sock.onmessage @ SockJSClient.js?0a33:63
EventTarget.dispatchEvent @ sockjs.js?9be2:170
eval @ sockjs.js?9be2:888
SockJS._transportMessage @ sockjs.js?9be2:886
EventEmitter.emit @ sockjs.js?9be2:86
WebSocketTransport.ws.onmessage @ sockjs.js?9be2:2962
favicon.ico:1 GET http://localhost:9000/favicon.ico 404 (Not Found)

Error cloning the git repo

Please make sure you have the correct access rights and the repository exists.
fatal: clone of '[email protected]:mirumee/saleor-dashboard.git'

Not sue why this is occurring, I'm running the git clone and it's failing. Just trying to follow your instructions.

Thanks, Stuart

Issue cloning repository

What I'm trying to achieve

Run Saleor using saleor-platform project on Docker-compose

Steps to reproduce the problem

  1. Successfully installed Docker and Docker-compose
  2. Checked that my github account has a SSH key installed and running
  3. Run git clone [email protected]:mirumee/saleor-platform.git --recursive --jobs 3 according to the instructions in https://github.com/mirumee/saleor-platform

** I have previously cloned each Saleor component individually following the documentation https://docs.saleor.io/docs/next/getting-started/installation-windows/

What I expected to happen

Successfully cloning saleor-platform, saleor, saleor-storefront and saleor-dashboard

Log

(Saleor4) C:\Users\Tavo\Dev\Saleor4>git clone [email protected]:mirumee/saleor-platform.git --recursive --jobs 3
fatal: destination path 'saleor-platform' already exists and is not an empty directory.

(Saleor4) C:\Users\Tavo\Dev\Saleor4>git clone [email protected]:mirumee/saleor-platform.git --recursive --jobs 3
Cloning into 'saleor-platform'...
Enter passphrase for key '/c/Users/Tavo/.ssh/id_rsa':
remote: Enumerating objects: 91, done.
remote: Counting objects: 100% (91/91), done.
remote: Compressing objects: 100% (65/65), done.
Receiving objects: 40% (37/91)47), reused 50 (delta 26), pack-reused 0
Receiving objects: 100% (91/91), 36.66 KiB | 102.00 KiB/s, done.
Resolving deltas: 100% (47/47), done.
Submodule 'saleor' ([email protected]:mirumee/saleor.git) registered for path 'saleor'
Submodule 'saleor-dashboard' ([email protected]:mirumee/saleor-dashboard.git) registered for path 'saleor-dashboard'
Submodule 'saleor-storefront' ([email protected]:mirumee/saleor-storefront.git) registered for path 'saleor-storefront'
Cloning into 'C:/Users/Tavo/Dev/Saleor4/saleor-platform/saleor'...
[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
fatal: clone of '[email protected]:mirumee/saleor.git' into submodule path 'C:/Users/Tavo/Dev/Saleor4/saleor-platform/saleor' failed
Failed to clone 'saleor'. Retry scheduled
Cloning into 'C:/Users/Tavo/Dev/Saleor4/saleor-platform/saleor-dashboard'...
[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
fatal: clone of '[email protected]:mirumee/saleor-dashboard.git' into submodule path 'C:/Users/Tavo/Dev/Saleor4/saleor-platform/saleor-dashboard' failed
Failed to clone 'saleor-dashboard'. Retry scheduled
Cloning into 'C:/Users/Tavo/Dev/Saleor4/saleor-platform/saleor-dashboard'...
[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
fatal: clone of '[email protected]:mirumee/saleor-dashboard.git' into submodule path 'C:/Users/Tavo/Dev/Saleor4/saleor-platform/saleor-dashboard' failed
Failed to clone 'saleor-dashboard' a second time, aborting
Cloning into 'C:/Users/Tavo/Dev/Saleor4/saleor-platform/saleor-storefront'...
[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
fatal: clone of '[email protected]:mirumee/saleor-storefront.git' into submodule path 'C:/Users/Tavo/Dev/Saleor4/saleor-platform/saleor-storefront' failed
Failed to clone 'saleor-storefront'. Retry scheduled
Cloning into 'C:/Users/Tavo/Dev/Saleor4/saleor-platform/saleor'...
[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
fatal: clone of '[email protected]:mirumee/saleor.git' into submodule path 'C:/Users/Tavo/Dev/Saleor4/saleor-platform/saleor' failed
Failed to clone 'saleor' a second time, aborting
Cloning into 'C:/Users/Tavo/Dev/Saleor4/saleor-platform/saleor-storefront'...
[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
fatal: clone of '[email protected]:mirumee/saleor-storefront.git' into submodule path 'C:/Users/Tavo/Dev/Saleor4/saleor-platform/saleor-storefront' failed
Failed to clone 'saleor-storefront' a second time, aborting

System information
Operating system: Windows 10
Python 3.8.1
Node.js version 12.14.1
PostreSQL 10.12
GTK3+ for Win64
Build Tools 2017 v 14.24

get error:

After compose-build, then I run the command docker-compose run --rm api python3 manage.py migrate I met the following error.

local error: tls: bad record MAC

Here is my full docker run log:

➜ docker-compose run --rm api python3 manage.py migrate
Pulling db (library/postgres:11.1-alpine)...
11.1-alpine: Pulling from library/postgres
6c40cc604d8e: Pull complete
3ea5fa93d025: Pull complete
146f5c88cacb: Pull complete
1549d653d730: Pull complete
1f52f9ddebb6: Pull complete
a4c85e4b61b7: Pull complete
a562b26ea57a: Pull complete
04f1f3b24313: Pull complete
f2684c2bfb4b: Pull complete
Digest: sha256:6c4e4ca91b3ccb304c0dbab14cf7ca6acf87d08fd639780db53de3371181d56d
Status: Downloaded newer image for postgres:11.1-alpine
Pulling redis (library/redis:5.0-alpine)...
5.0-alpine: Pulling from library/redis
cbdbe7a5bc2a: Pull complete
dc0373118a0d: Pull complete
cfd369fe6256: Pull complete
3e45770272d9: Pull complete
558de8ea3153: Pull complete
a2c652551612: Pull complete
Digest: sha256:83a3af36d5e57f2901b4783c313720e5fa3ecf0424ba86ad9775e06a9a5e35d0
Status: Downloaded newer image for redis:5.0-alpine
Pulling jaeger (jaegertracing/all-in-one:)...
ERROR: Get https://registry-1.docker.io/v2/jaegertracing/all-in-one/manifests/latest: local error: tls: bad record MAC

Remove default SSH in favor of HTTPS

We noticed that some users were facing issues when trying to clone and fetch anonymously or without SSH and GitHub configured together because of SSH being enforced in the sub-modules.

We decided to remove SSH altogether in favor of HTTPS to permit anonymous access for automatic cloning (CI, scripts) and users having no prior configurations or using HTTPS instead of SSH on GitHub. It also makes it harder and is confusing users that are not familiar with git and SSH.

Users wanting SSH to gain write access through GitHub authentication can alter the remotes themselves which is straightforward for users that are familiar with git.

TBD:

  • Alter the git sub-modules configuration file
  • Alter the README

Add issue template

It would good to get a template to ask more information from users, such as the operating system.

Add default environment variables to PWA

I received an email from somebody that was confused how to deploy the compose file as it would build with default environment variables, thus API_URL was set to localhost where in the case of that user, they needed it to point to a public IP address.

I suggest that we include those variables with the default values.

Those are (for dashboard):

Name Default
APP_MOUNT_URI http://localhost:9000/dashboard/
Adapt it for storefront, and check they have one.
API_URI http://localhost:8000/graphql/
STATIC_URL http://localhost:9000/
Please check it, not sure about it.

Otherwise, another solution, would be serving everything on the same port but with different path. Which is way easier, but we would need to add nginx for that in order to still be able to use npm start instead of npm run build.

Populate the database with example data fail

Running next command fail:

sudo docker-compose run --rm web python3 manage.py populatedb --createsuperuser

Starting saleor-platform_db_1 ... done
Starting saleor-platform_jaeger_1 ... done
Starting saleor-platform_redis_1 ... done
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/django/db/backends/utils.py", line 84, in execute
return self.cursor.execute(sql, params)
psycopg2.errors.UndefinedTable: relation "shipping_shippingzone" does not exist
LINE 1: ...ountries", "shipping_shippingzone"."default" FROM "shipping
...
^

...
self._fetch_all()
File "/usr/local/lib/python3.8/site-packages/django/db/models/query.py", line 1242, in _fetch_all
self._result_cache = list(self._iterable_class(self))
File "/usr/local/lib/python3.8/site-packages/django/db/models/query.py", line 55, in iter
results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
File "/usr/local/lib/python3.8/site-packages/django/db/models/sql/compiler.py", line 1133, in execute_sql
cursor.execute(sql, params)
File "/usr/local/lib/python3.8/site-packages/django/db/backends/utils.py", line 99, in execute
return super().execute(sql, params)
File "/usr/local/lib/python3.8/site-packages/django/db/backends/utils.py", line 67, in execute
return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
File "/usr/local/lib/python3.8/site-packages/django/db/backends/utils.py", line 76, in _execute_with_wrappers
return executor(sql, params, many, context)
File "/usr/local/lib/python3.8/site-packages/django/db/backends/utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
File "/usr/local/lib/python3.8/site-packages/django/db/utils.py", line 89, in exit
raise dj_exc_value.with_traceback(traceback) from exc_value
File "/usr/local/lib/python3.8/site-packages/django/db/backends/utils.py", line 84, in execute
return self.cursor.execute(sql, params)
django.db.utils.ProgrammingError: relation "shipping_shippingzone" does not exist
LINE 1: ...ountries", "shipping_shippingzone"."default" FROM "shipping
...

Error during docker-compose

Hi Saleor team, I'm having problem when doing the command docker-compose build there is this error:

 ⚠ Command failed: /app/node_modules/cwebp-bin/vendor/cwebp -version
/app/node_modules/cwebp-bin/vendor/cwebp: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory


  ⚠ cwebp pre-build test failed
  ℹ compiling from source
  ✔ cwebp built successfully

Then if migrations are executes (docker-compose run --rm api python3 manage.py migrate) there is the next error: Error response from daemon: error evaluating symlinks from mount source "/host_mnt/d/.../saleor-platform/saleor/templates": lstat /host_mnt: function not implemented

Saleor platform contains unstable subprojects releases

For now the repository contains changes implemented after 2.9.1 because these contains dev dockerfiles for dashboard and storefront. It wouldn't work otherwise and we believe it would be for the best if by default it contains stable releases.

This is a reminder ticket - repository subprojects should be updated when we release a version newer than 2.9.1

Also readme should be updated - section "How to update the subprojects to the newest versions?"

django.db.utils.OperationalError: FATAL: database "saleordb" does not exist

I have tried to clone and build saleor many times but everytime I run
docker-compose run --rm api python3 manage.py migrate. I get this error.I don't know what's the issue.I have tried all solution and even tried to run saleor using docker on windows as well as on mac but still got same issue while running migrations
Screenshot 2021-04-23 at 14 42 15

? Command failed: /app/node_modules/cwebp-bin/vendor/cwebp -version

? Command failed: /app/node_modules/cwebp-bin/vendor/cwebp -version
/app/node_modules/cwebp-bin/vendor/cwebp: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory

? cwebp pre-build test failed
? compiling from source
? cwebp built successfully

How to connect the postgres to pgadmin of saleor docker container

I have tried everything

I used the hostname as DB, db, localhost, 127.0.0.1, saleor, saleor-platform_db_1, postres but it did not work for me, I know that username and password is saleor/saleor.
Please help how can I connect it to pgadmin. I also tried updating it like below:

version: "2"

services:
  api:
    ports:
      - 8000:8000
    build:
      context: ./saleor
      dockerfile: ./Dockerfile
      args:
        STATIC_URL: "/static/"
    restart: unless-stopped
    networks:
      - saleor-backend-tier
    depends_on:
      - db
      - redis
      - jaeger
    volumes:
      - ./saleor/saleor/:/app/saleor:Z
      - ./saleor/templates/:/app/templates:Z
      - ./saleor/tests/:/app/tests
      # shared volume between worker and api for media
      - saleor-media:/app/media
    command: python manage.py runserver 0.0.0.0:8000
    env_file: common.env
    environment:
      - JAEGER_AGENT_HOST=jaeger
      - STOREFRONT_URL=http://localhost:3000/
      - DASHBOARD_URL=http://localhost:9000/

  storefront:
    build:
      context: ./saleor-storefront
      dockerfile: ./Dockerfile.dev
    ports:
      - 3000:3000
    restart: unless-stopped
    volumes:
      - ./saleor-storefront/:/app:cached
      - /app/node_modules/
    command: npm start -- --hostname 0.0.0.0

  dashboard:
    build:
      context: ./saleor-dashboard
      dockerfile: ./Dockerfile.dev
    ports:
      - 9000:9000
    restart: unless-stopped
    volumes:
      - ./saleor-dashboard/:/app:cached
      - /app/node_modules/
    command: npm start -- --host 0.0.0.0

  db:
    image: library/postgres:11.1-alpine
    ports:
      - 5432:5432
    restart: unless-stopped
    networks:
      - saleor-backend-tier
    volumes:
      - saleor-db:/var/lib/postgresql/data
    environment:
      - POSTGRES_USER=saleor
      - POSTGRES_PASSWORD=saleor

  redis:
    image: library/redis:5.0-alpine
    ports:
      - 6379:6379
    restart: unless-stopped
    networks:
      - saleor-backend-tier
    volumes:
      - saleor-redis:/data

  worker:
    build:
      context: ./saleor
      dockerfile: ./Dockerfile
      args:
        STATIC_URL: "/static/"
    command: celery -A saleor --app=saleor.celeryconf:app worker --loglevel=info
    restart: unless-stopped
    networks:
      - saleor-backend-tier
    env_file: common.env
    depends_on:
      - redis
      - mailhog
    volumes:
      - ./saleor/saleor/:/app/saleor:Z,cached
      - ./saleor/templates/:/app/templates:Z,cached
      # shared volume between worker and api for media
      - saleor-media:/app/media

  jaeger:
    image: jaegertracing/all-in-one
    ports:
      - "5775:5775/udp"
      - "6831:6831/udp"
      - "6832:6832/udp"
      - "5778:5778"
      - "16686:16686"
      - "14268:14268"
      - "9411:9411"
    restart: unless-stopped
    networks:
      - saleor-backend-tier

  mailhog:
    image: mailhog/mailhog
    ports:
      - 1025:1025 # smtp server
      - 8025:8025 # web ui. Visit http://localhost:8025/ to check emails
    restart: unless-stopped
    networks:
      - saleor-backend-tier

  pgadmin:
    container_name: pgadmin4_container
    image: dpage/pgadmin4
    restart: always
    environment:
      PGADMIN_DEFAULT_EMAIL: [email protected]
      PGADMIN_DEFAULT_PASSWORD: root
    ports:
      - "5050:80"
    depends_on:
      - db


volumes:
  saleor-db:
    driver: local
  saleor-redis:
    driver: local
  saleor-media:

networks:
  saleor-backend-tier:
    driver: bridge

keep getting node_modules missing during compose up

getting this error when starting storefront

storefront_1 |
storefront_1 | > [email protected] start /app
storefront_1 | > cross-env NODE_ENV=develop webpack-dev-server --history-api-fallback --watch --port 3000 --mode development --hotOnly "--host" "0.0.0.0"
storefront_1 |
storefront_1 | sh: 1: cross-env: not found
storefront_1 | npm ERR! code ELIFECYCLE
storefront_1 | npm ERR! syscall spawn
storefront_1 | npm ERR! file sh
storefront_1 | npm ERR! errno ENOENT
storefront_1 | npm ERR! [email protected] start: cross-env NODE_ENV=develop webpack-dev-server --history-api-fallback --watch --port 3000 --mode development --hotOnly "--host" "0.0.0.0"
storefront_1 | npm ERR! spawn ENOENT
storefront_1 | npm ERR!
storefront_1 | npm ERR! Failed at the [email protected] start script.
storefront_1 | npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
storefront_1 | npm WARN Local package.json exists, but node_modules missing, did you mean to install?
storefront_1 |

Error: Cannot find module 'phantomjs-prebuilt'

Hello,

I'm trying to setup saleor-platform on my local dev machine. Sadly I'm getting error related to phantomjs-prebuilt in storefront_1 container.
I'm running Docker Desktop 3.3.2, Docker Engine 20.10.6 on M1 (Apple Silicon) Macbook Pro (but that shouldn't cause the issue...)

By following all of the steps from docs:

git clone https://github.com/mirumee/saleor-platform.git --recursive --jobs 3
cd saleor-platform
docker-compose build
docker-compose run --rm api python3 manage.py migrate
docker-compose run --rm api python3 manage.py collectstatic --noinput
docker-compose run --rm api python3 manage.py populatedb
docker-compose run --rm api python3 manage.py createsuperuser
docker-compose up

My error is:

storefront_1  | Using 1 worker with 2048MB memory limit
storefront_1  | ℹ 「wds」: Project is running at http://localhost:3000/
storefront_1  | ℹ 「wds」: webpack output is served from /
storefront_1  | ℹ 「wds」: Content not from webpack is served from /app
storefront_1  | ℹ 「wds」: 404s will fallback to /index.html
storefront_1  | ✖ 「wdm」: Error: Cannot find module 'phantomjs-prebuilt'
storefront_1  |     at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
storefront_1  |     at Function.Module._load (internal/modules/cjs/loader.js:562:25)
storefront_1  |     at Module.require (internal/modules/cjs/loader.js:692:17)
storefront_1  |     at require (internal/modules/cjs/helpers.js:25:18)
storefront_1  |     at Object.<anonymous> (/app/node_modules/svg2png/lib/svg2png.js:6:22)
storefront_1  |     at Module._compile (internal/modules/cjs/loader.js:778:30)
storefront_1  |     at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
storefront_1  |     at Module.load (internal/modules/cjs/loader.js:653:32)
storefront_1  |     at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
storefront_1  |     at Function.Module._load (internal/modules/cjs/loader.js:585:3)
storefront_1  | Browserslist: caniuse-lite is outdated. Please run next command `npm update`

I already tried several ways how to install phantomjs-prebuilt, but nothing worked. Adding RUN npm install [email protected] --ignore-scripts into my saleor-storefront/Dockerfile.dev did not help, neither RUN npm install -g phantomjs-prebuilt --phantomjs_cdnurl=https://bitbucket.org/ariya/phantomjs/downloads --ignore-scripts or adding phantomjs-prebuilt into package.json.

Has anyone faced this issue? I'm pretty new to NodeJS as well as NPM errors.

Thanks.

WARNING in EnvironmentPlugin - GTM_ID environment variable is undefined.

OS: Linux

Following these instructions:

https://docs.saleor.io/docs/developer/installation/#running-the-services

When I run the command docker-compose up, all services are fine except storefront.

The storefront throws this warning and the storefront website cannot be loaded:

...
storefront_1 | WARNING in EnvironmentPlugin - GTM_ID environment variable is undefined.
...
storefront_1 | ℹ 「wdm」: Compiled with warnings.
...

The storefront log is:

storefront_1  | Type checking in progress...
storefront_1  | ⚠ 「wdm」: Hash: 8bbc7119559a66ddb40a
storefront_1  | Version: webpack 4.42.1
storefront_1  | Time: 132655ms
storefront_1  | Built at: 05/05/2021 12:55:02 PM
storefront_1  |                                                   Asset       Size  Chunks                   Chunk Names
storefront_1  |                                         images/amex.svg   3.81 KiB          [emitted]        
storefront_1  |                                   images/arrow-back.svg  404 bytes          [emitted]        
storefront_1  |                                        images/arrow.svg  127 bytes          [emitted]        
storefront_1  |                            images/breadcrumbs-arrow.svg  198 bytes          [emitted]        
storefront_1  |                               images/carousel-arrow.svg  223 bytes          [emitted]        
storefront_1  |                                         images/cart.svg    1.3 KiB          [emitted]        
storefront_1  |                                     images/discover.svg   1.77 KiB          [emitted]        
storefront_1  |                                images/facebook-icon.svg  369 bytes          [emitted]        
storefront_1  |              images/favicons/android-chrome-144x144.png   4.16 KiB          [emitted]        
storefront_1  |              images/favicons/android-chrome-192x192.png   5.62 KiB          [emitted]        
storefront_1  |              images/favicons/android-chrome-256x256.png   7.54 KiB          [emitted]        
storefront_1  |                images/favicons/android-chrome-36x36.png   1.03 KiB          [emitted]        
storefront_1  |              images/favicons/android-chrome-384x384.png   13.4 KiB          [emitted]        
storefront_1  |                images/favicons/android-chrome-48x48.png   1.33 KiB          [emitted]        
storefront_1  |              images/favicons/android-chrome-512x512.png   19.5 KiB          [emitted]        
storefront_1  |                images/favicons/android-chrome-72x72.png   1.99 KiB          [emitted]        
storefront_1  |                images/favicons/android-chrome-96x96.png    2.7 KiB          [emitted]        
storefront_1  |          images/favicons/apple-touch-icon-1024x1024.png   57.9 KiB          [emitted]        
storefront_1  |            images/favicons/apple-touch-icon-114x114.png   3.19 KiB          [emitted]        
storefront_1  |            images/favicons/apple-touch-icon-120x120.png   3.35 KiB          [emitted]        
storefront_1  |            images/favicons/apple-touch-icon-144x144.png   4.14 KiB          [emitted]        
storefront_1  |            images/favicons/apple-touch-icon-152x152.png   4.41 KiB          [emitted]        
storefront_1  |            images/favicons/apple-touch-icon-167x167.png   4.85 KiB          [emitted]        
storefront_1  |            images/favicons/apple-touch-icon-180x180.png   5.31 KiB          [emitted]        
storefront_1  |              images/favicons/apple-touch-icon-57x57.png    1.6 KiB          [emitted]        
storefront_1  |              images/favicons/apple-touch-icon-60x60.png   1.67 KiB          [emitted]        
storefront_1  |              images/favicons/apple-touch-icon-72x72.png   1.99 KiB          [emitted]        
storefront_1  |              images/favicons/apple-touch-icon-76x76.png   2.14 KiB          [emitted]        
storefront_1  |        images/favicons/apple-touch-icon-precomposed.png   5.31 KiB          [emitted]        
storefront_1  |                    images/favicons/apple-touch-icon.png   5.31 KiB          [emitted]        
storefront_1  | images/favicons/apple-touch-startup-image-1182x2208.png     49 KiB          [emitted]        
storefront_1  | images/favicons/apple-touch-startup-image-1242x2148.png   85.9 KiB          [emitted]        
storefront_1  | images/favicons/apple-touch-startup-image-1496x2048.png   95.4 KiB          [emitted]        
storefront_1  | images/favicons/apple-touch-startup-image-1536x2008.png    114 KiB          [emitted]        
storefront_1  |   images/favicons/apple-touch-startup-image-320x460.png   11.3 KiB          [emitted]        
storefront_1  |  images/favicons/apple-touch-startup-image-640x1096.png   30.7 KiB          [emitted]        
storefront_1  |   images/favicons/apple-touch-startup-image-640x920.png   29.7 KiB          [emitted]        
storefront_1  |  images/favicons/apple-touch-startup-image-748x1024.png   32.2 KiB          [emitted]        
storefront_1  |  images/favicons/apple-touch-startup-image-750x1294.png   38.9 KiB          [emitted]        
storefront_1  |  images/favicons/apple-touch-startup-image-768x1004.png   38.3 KiB          [emitted]        
storefront_1  |                       images/favicons/browserconfig.xml  481 bytes          [emitted]        
storefront_1  |                       images/favicons/coast-228x228.png   6.99 KiB          [emitted]        
storefront_1  |                       images/favicons/favicon-16x16.png  481 bytes          [emitted]        
storefront_1  |                       images/favicons/favicon-32x32.png  910 bytes          [emitted]        
storefront_1  |                             images/favicons/favicon.ico   32.5 KiB          [emitted]        
storefront_1  |                 images/favicons/firefox_app_128x128.png   3.88 KiB          [emitted]        
storefront_1  |                 images/favicons/firefox_app_512x512.png     22 KiB          [emitted]        
storefront_1  |                   images/favicons/firefox_app_60x60.png   1.84 KiB          [emitted]        
storefront_1  |                           images/favicons/manifest.json   1.38 KiB          [emitted]        
storefront_1  |                         images/favicons/manifest.webapp  351 bytes          [emitted]        
storefront_1  |                      images/favicons/mstile-144x144.png   4.16 KiB          [emitted]        
storefront_1  |                      images/favicons/mstile-150x150.png   8.69 KiB          [emitted]        
storefront_1  |                      images/favicons/mstile-310x150.png   9.44 KiB          [emitted]        
storefront_1  |                      images/favicons/mstile-310x310.png   22.4 KiB          [emitted]        
storefront_1  |                        images/favicons/mstile-70x70.png   3.51 KiB          [emitted]        
storefront_1  |                images/favicons/yandex-browser-50x50.png   1.38 KiB          [emitted]        
storefront_1  |            images/favicons/yandex-browser-manifest.json  165 bytes          [emitted]        
storefront_1  |                                      images/garbage.svg  914 bytes          [emitted]        
storefront_1  |                              images/hamburger-hover.svg  360 bytes          [emitted]        
storefront_1  |                                    images/hamburger.svg  252 bytes          [emitted]        
storefront_1  |                               images/instagram-icon.svg  879 bytes          [emitted]        
storefront_1  |                                          images/jcb.svg   1.74 KiB          [emitted]        
storefront_1  |                                   images/logo-small.svg  824 bytes          [emitted]        
storefront_1  |                                         images/logo.svg   2.12 KiB          [emitted]        
storefront_1  |                                      images/maestro.svg  413 bytes          [emitted]        
storefront_1  |                                   images/mastercard.svg  413 bytes          [emitted]        
storefront_1  |                                     images/no-photo.svg   5.19 KiB          [emitted]        
storefront_1  |                                   images/quote-icon.svg  380 bytes          [emitted]        
storefront_1  |                                       images/search.svg  704 bytes          [emitted]        
storefront_1  |                                images/subcategories.svg  128 bytes          [emitted]        
storefront_1  |                                 images/twitter-icon.svg  696 bytes          [emitted]        
storefront_1  |                                         images/user.svg   1.85 KiB          [emitted]        
storefront_1  |                                         images/visa.svg   1.17 KiB          [emitted]        
storefront_1  |                                            images/x.svg  289 bytes          [emitted]        
storefront_1  |                                 images/youtube-icon.svg  637 bytes          [emitted]        
storefront_1  |                                              index.html   4.75 KiB          [emitted]        
storefront_1  |                                               js/app.js   9.25 MiB     app  [emitted]        app
storefront_1  |                                           js/app.js.map    8.4 MiB     app  [emitted] [dev]  app
storefront_1  | Entrypoint app = js/app.js js/app.js.map
storefront_1  | [0] multi (webpack)-dev-server/client?http://localhost:3000 (webpack)/hot/only-dev-server.js ./src/index.tsx 52 bytes {app} [built]
storefront_1  | [./node_modules/@babel/runtime/helpers/asyncToGenerator.js] 809 bytes {app} [built]
storefront_1  | [./node_modules/@babel/runtime/helpers/extends.js] 427 bytes {app} [built]
storefront_1  | [./node_modules/@babel/runtime/regenerator/index.js] 49 bytes {app} [built]
storefront_1  | [./node_modules/@hot-loader/react-dom/index.js] 1.33 KiB {app} [built]
storefront_1  | [./node_modules/@saleor/sdk/lib/index.js] 5.2 KiB {app} [built]
storefront_1  | [./node_modules/@sentry/apm/esm/index.js] 325 bytes {app} [built]
storefront_1  | [./node_modules/@sentry/browser/esm/index.js] 793 bytes {app} [built]
storefront_1  | [./node_modules/react-alert/dist/esm/react-alert.js] 12.3 KiB {app} [built]
storefront_1  | [./node_modules/react-gtm-module/dist/index.js] 251 bytes {app} [built]
storefront_1  | [./node_modules/react-hot-loader/index.js] 1.24 KiB {app} [built]
storefront_1  | [./node_modules/react-router-dom/esm/react-router-dom.js] 9.76 KiB {app} [built]
storefront_1  | [./node_modules/webpack-dev-server/client/index.js?http://localhost:3000] (webpack)-dev-server/client?http://localhost:3000 4.29 KiB {app} [built]
storefront_1  | [./node_modules/webpack/hot/only-dev-server.js] (webpack)/hot/only-dev-server.js 2.52 KiB {app} [built]
storefront_1  | [./src/index.tsx] 4.38 KiB {app} [built]
storefront_1  |     + 1485 hidden modules
storefront_1  | 
storefront_1  | WARNING in EnvironmentPlugin - GTM_ID environment variable is undefined.
storefront_1  | 
storefront_1  | You can pass an object with default values to suppress this warning.
storefront_1  | See https://webpack.js.org/plugins/environment-plugin for example.
storefront_1  | Child html-webpack-plugin for "index.html":
storefront_1  |      1 asset
storefront_1  |     Entrypoint undefined = index.html
storefront_1  |     [./node_modules/html-webpack-plugin/lib/loader.js!./src/index.html] 866 bytes {0} [built]
storefront_1  |     [./node_modules/lodash/lodash.js] 530 KiB {0} [built]
storefront_1  |     [./node_modules/webpack/buildin/global.js] (webpack)/buildin/global.js 472 bytes {0} [built]
storefront_1  |     [./node_modules/webpack/buildin/module.js] (webpack)/buildin/module.js 497 bytes {0} [built]
storefront_1  | Child webapp-webpack-plugin:
storefront_1  |      1 asset
storefront_1  |     Entrypoint favicon.png = b69c9faae52434d05cae
storefront_1  |     [./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"/app/node_modules/.cache/webapp-webpack-plugin"}!./node_modules/webapp-webpack-plugin/src/loader.js?{"prefix":"images/favicons/","options":{"appDescription":"Storefront for the Saleor e-commerce platform","appName":"Saleor","background":"#ddd","developerURL":null,"display":"standalone","theme_color":"#333","version":"2.11.0","developerName":"Mirumee"},"path":"/"}!./src/images/favicon.png] 1.06 MiB {favicon.png} [built]
storefront_1  | ℹ 「wdm」: Compiled with warnings.

[question] How to manage Git fork

I want to take the API and the Dashboard, for the Storefront, I will develop it from zero with react native, my question is, how do I manage this on git:

  1. I make a fork of saleor-platform repository, remove the storefront and create another repository with my custom storefront and include it as a submodule?
  2. Fork individually each of the repositories that I need (Dashboard and API) and I clone them on my machine and simply create my own storefrond repository and put aside the other ones. In this case what happend with parent saleor-paltform files like docker-compose.yml.

Other associated questions

  1. Why use submodules and why not subtrees?
  2. What is the recommended road according to Saleor to manage this kind of scenarios on git. Where I just want to get some modules(API and Dashboard) and keep them updated with changes made by the source repository, and do the rest myself(Storefront) and mantain that repository on my side.

Why use submodules and why not subtress?

Unable to install with docker compose

While installing / building with docker compose i am facing this issue
The command '/bin/sh -c npm install' returned a non-zero code: 137

# docker-compose build
db uses an image, skipping
redis uses an image, skipping
jaeger uses an image, skipping
mailhog uses an image, skipping
Building storefront
Step 1/9 : FROM node:10
10: Pulling from library/node
419e7ae5bb1e: Pull complete
848839e0cd3b: Pull complete
de30e8b35015: Pull complete
258fdea6ea48: Pull complete
ddb75eb7f1e9: Pull complete
7ec8a0667334: Pull complete
7fb55a10000f: Pull complete
e7fe95591c34: Pull complete
a1fc4c64e548: Pull complete
Digest: sha256:cf3ee6a5a1b1916c7a2e4fb51eb7ecba1afe186739677d62e9c1bb2cb1c7d6b0
Status: Downloaded newer image for node:10
 ---> 5ebbf4bb3837
Step 2/9 : WORKDIR /app
 ---> Running in f5967c6f3f99
Removing intermediate container f5967c6f3f99
 ---> 0bb50bea4675
Step 3/9 : COPY package*.json ./
 ---> 9c6ad499b135
Step 4/9 : RUN npm install
 ---> Running in 263954e03470
Killed
ERROR: Service 'storefront' failed to build: The command '/bin/sh -c npm install' returned a non-zero code: 137

Issue installing on Mac OS

Great platform, but I can't get it run... the main issue that it can't find cross-env & webpack-dev-server... how to solve this?

OS version:

macOS X Catalina 10.15.7

Docker version

Client: Docker Engine - Community
 Cloud integration: 1.0.2
 Version:           19.03.13
 API version:       1.40
 Go version:        go1.13.15
 Git commit:        4484c46d9d
 Built:             Wed Sep 16 16:58:31 2020
 OS/Arch:           darwin/amd64
 Experimental:      false

Docker compose version

docker-compose version 1.27.4, build 40524192
docker-py version: 4.3.1
CPython version: 3.7.7
OpenSSL version: OpenSSL 1.1.1g  21 Apr 2020

Log fragment

storefront_1  | 
storefront_1  | > [email protected] start /app
storefront_1  | > cross-env NODE_ENV=develop webpack-dev-server --history-api-fallback --watch --port 3000 --mode development --hotOnly "--host" "0.0.0.0"
storefront_1  | 
storefront_1  | sh: 1: cross-env: not found
storefront_1  | npm ERR! code ELIFECYCLE
storefront_1  | npm ERR! syscall spawn
storefront_1  | npm ERR! file sh
storefront_1  | npm ERR! errno ENOENT
storefront_1  | npm ERR! [email protected] start: `cross-env NODE_ENV=develop webpack-dev-server --history-api-fallback --watch --port 3000 --mode development --hotOnly "--host" "0.0.0.0"`
storefront_1  | npm ERR! spawn ENOENT
storefront_1  | npm ERR! 
storefront_1  | npm ERR! Failed at the [email protected] start script.
storefront_1  | npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
storefront_1  | npm WARN Local package.json exists, but node_modules missing, did you mean to install?
storefront_1  | 
storefront_1  | npm ERR! A complete log of this run can be found in:
storefront_1  | npm ERR!     /root/.npm/_logs/2020-11-26T00_47_37_777Z-debug.log
saleor-platform_storefront_1 exited with code 1
mailhog_1     | [APIv1] KEEPALIVE /api/v1/events
dashboard_1   | 
dashboard_1   | > [email protected] start /app
dashboard_1   | > webpack-dev-server -d "--host" "0.0.0.0"
dashboard_1   | 
dashboard_1   | sh: 1: webpack-dev-server: not found
dashboard_1   | npm ERR! code ELIFECYCLE
dashboard_1   | npm ERR! syscall spawn
dashboard_1   | npm ERR! file sh
dashboard_1   | npm ERR! errno ENOENT
dashboard_1   | npm ERR! [email protected] start: `webpack-dev-server -d "--host" "0.0.0.0"`
dashboard_1   | npm ERR! spawn ENOENT
dashboard_1   | npm ERR! 
dashboard_1   | npm ERR! Failed at the [email protected] start script.
dashboard_1   | npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
dashboard_1   | npm WARN Local package.json exists, but node_modules missing, did you mean to install?
dashboard_1   | 
dashboard_1   | npm ERR! A complete log of this run can be found in:
dashboard_1   | npm ERR!     /root/.npm/_logs/2020-11-26T00_47_51_967Z-debug.log
saleor-platform_dashboard_1 exited with code 1

Local development

Hi.

I am curious about the problem of docker host permissions. How do you resolve docker container broken permission rules on the host machine? For example, if you create a django migration inside a container, that migration is going to be created in host binded volume too, but with the permissions of the docker container.

I also saw that you create saleor:saleor user:group inside a Dockerfile. So, does it imply that all the developers should have and use saleor user on their host machine in order to mitigate this problem?

Thanks!

DB container keeps restarting

I'm following the steps in the readme, but I run into an issue at step 5 (apply Django migrations). It starts 3 containers (db, redis, jaeger), then logs an error: psycopg2.OperationalError: could not translate host name "db" to address: Name or service not known.

Listing my containers with docker-compose ps, I can see that the db containers is always in the Restarting state. Checking the logs of that container, I see the following repeated over and over, about every minute:

The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale "en_US.utf8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english".

Data page checksums are disabled.

initdb: directory "/var/lib/postgresql/data" exists but is not empty
If you want to create a new database system, either remove or empty
the directory "/var/lib/postgresql/data" or run initdb
with an argument other than "/var/lib/postgresql/data".

What am I doing wrong? Am I skipping a step? I'm on Linux Mint 20, for what it's worth.

Got error when run docker-compose build

I got the following error when run docker-compose build command:

Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!

The project needs your help! Please consider supporting of core-js on Open Collective or Patreon:
> https://opencollective.com/core-js
> https://www.patreon.com/zloirock

Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)


> [email protected] postinstall /app/node_modules/cwebp-bin
> node lib/install.js

  ⚠ connect ECONNREFUSED 0.0.0.0:443
  ⚠ cwebp pre-build test failed
  ℹ compiling from source
  ✔ cwebp built successfully

> [email protected] postinstall /app/node_modules/gifsicle
> node lib/install.js

  ⚠ connect ECONNREFUSED 0.0.0.0:443
  ⚠ gifsicle pre-build test failed
  ℹ compiling from source
  ✔ gifsicle built successfully

> [email protected] postinstall /app/node_modules/mozjpeg
> node lib/install.js

  ⚠ connect ECONNREFUSED 0.0.0.0:443
  ⚠ mozjpeg pre-build test failed
  ℹ compiling from source

How to do hot reload storefront ?

I am only making changes to storefront but every time I do I need to restart the container. It takes a lot of time. How can I do it more efficiently?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.