Giter VIP home page Giter VIP logo

reactioncommerce / reaction-development-platform Goto Github PK

View Code? Open in Web Editor NEW
230.0 230.0 194.0 564 KB

Reaction Platform is the quickest way to run Reaction (reactioncommerce/reaction) and dependent services—Reaction Admin (reactioncommerce/reaction-admin) and Example Storefront (reactioncommerce/example-storefront)

Home Page: https://mailchimp.com/developer/open-commerce/

License: GNU General Public License v3.0

Makefile 79.06% Python 20.94%
mailchimpopencommerce reaction

reaction-development-platform's People

Contributors

akarshit avatar aldeed avatar delagroove avatar focusaurus avatar jeffcorpuz avatar kieckhafer avatar machikoyasuda avatar mikemurray avatar mohannarayana avatar nnnnat avatar rosshadden avatar spencern avatar ticean avatar trojanh avatar willopez avatar zenweasel 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

reaction-development-platform's Issues

reaction_mongo-init-replica_1 fails to connect

Issue Description

After running make from the clean reaction-platform folder, the created containers reaction_reaction_1, reaction_mongo-init-replica_1 and reaction-hydra_hydra-migrate_1 show as exited.

The reaction container fails, as it can't connect to the replica set:
docker logs -f reaction_reaction_1

npm WARN [email protected] requires a peer of react-dom@^15.4.2 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of react@^15.3 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of react-dom@^15.3 but none is installed. You must install peer dependencies yourself.
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"})

up to date in 18.481s
ERROR: MongoDB replica set not ready in time.
no replset config has been received..%

The replica set fails to connect to the main mongo container:
docker logs -f reaction_mongo-init-replica_1

MongoDB shell version v3.6.3
connecting to: mongodb://mongo:27017/reaction
2018-10-04T11:25:18.048+0000 W NETWORK  [thread1] Failed to connect to 172.30.0.2:27017, in(checking socket for error after poll), reason: Connection refused
2018-10-04T11:25:18.062+0000 E QUERY    [thread1] Error: couldn't connect to server mongo:27017, connection attempt failed :
connect@src/mongo/shell/mongo.js:251:13
@(connect):1:6
exception: connect failed

I checked the internal IP, it seems to be right
docker inspect reaction_mongo_1 | grep IPAddress

"SecondaryIPAddresses": null,
"IPAddress": "",
"IPAddress": "172.30.0.2",

Steps to Reproduce

Please provide starting context, i.e. logged in as a user, configure a particular payment method.

  1. clone the repo
  2. run make and wait for it to finish
  3. run docker ps -a | grep reaction and observe that both reaction_reaction_1 and reaction_mongo-init-replica_1 exited

Possible Solution

Running docker start reaction_mongo-init-replica_1 afterwards seems to make it start - Maybe the build script needs to wait until the main mongodb container finished loading.

Cannot make the project to work with 'make'

Hi,

I am trying to make this project working in my Virtual Machine with Docker.

I followed instructions as mentioned in the Getting Started guide on https://github.com/reactioncommerce/reaction-development-platform/

I am running the following versions

  1. Docker version 18.09.9, build 1752eb3
  2. NodeJS - 12.16.1
  3. NPM - 6.13.4
  4. GNU Make 4.1

Below is a full output of the execution after I checkout the Reaction Development Platform.

root@reactioncommerce:/var/www/html/reaction-development-platform# make
if [ ! -d "reaction-hydra" ] ; then git clone "[email protected]:/reactioncommerce/reaction-hydra.git" "reaction-hydra"; cd reaction-hydra && git checkout "v3.0.0"; fi
Cloning into 'reaction-hydra'...
remote: Enumerating objects: 36, done.
remote: Counting objects: 100% (36/36), done.
remote: Compressing objects: 100% (29/29), done.
remote: Total 254 (delta 15), reused 15 (delta 7), pack-reused 218
Receiving objects: 100% (254/254), 75.80 KiB | 346.00 KiB/s, done.
Resolving deltas: 100% (115/115), done.
Note: checking out 'v3.0.0'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

git checkout -b

HEAD is now at eee6dd1 Merge pull request #48 from reactioncommerce/release-v3.0.0
Error response from daemon: network with name reaction.localhost already exists
Removed docker development symlink for reaction-hydra
Running pre-build hook script for reaction-hydra.
reaction-hydra post-project-start script invoked.
Adding DSN to .env
Adding OAUTH2_EXPOSE_INTERNAL_ERRORS to .env
Adding OIDC_SUBJECT_IDENTIFIERS_ENABLED to .env
Adding OIDC_SUBJECT_IDENTIFIERS_PAIRWISE_SALT to .env
Adding SECRETS_SYSTEM to .env
Adding SERVE_PUBLIC_CORS_ALLOWED_ORIGINS to .env
Adding SERVE_PUBLIC_CORS_ENABLED to .env
Adding URLS_CONSENT to .env
Adding URLS_ERROR to .env
Adding URLS_LOGIN to .env
Adding URLS_LOGOUT to .env
Adding URLS_SELF_ISSUER to .env
ERROR:
Can't find a suitable configuration file in this directory or any
parent. Are you in the right directory?

    Supported filenames: docker-compose.yml, docker-compose.yaml

Makefile:251: recipe for target 'build-reaction-hydra' failed
make: *** [build-reaction-hydra] Error 1

Can you please help me with this?

I have attached the screenshot of the execution.
reaction-commerce

Problem with storefront installation

All containers are running except storefront.

Any suggestions?

Here is logs for storefront container:

Fixing volume /home/node/.cache/yarn (before=0:0 after=1000:1000)…✓
internal/modules/cjs/loader.js:638
throw err;
^

Error: Cannot find module 'cookie-parser'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
at Function.Module._load (internal/modules/cjs/loader.js:562:25)
at Module.require (internal/modules/cjs/loader.js:692:17)
at require (internal/modules/cjs/helpers.js:25:18)
at Object. (/usr/local/src/reaction-app/src/server.js:1:22)
at Module._compile (internal/modules/cjs/loader.js:778:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)

Hydra-migrate error

Prerequisites

  • Are you running the latest version?
  • Are you able to consistently reproduce the issue?
  • Did you search the issue queue for existing issue? Search issues

Issue Description

I've been trying to setup ReactionCommerce for a while now, and I must admit I am new with Docker but I don't know if this is my doing at this point.

I went through the logs of all the Docker services, and /reaction-hydra_hydra-migrate_1 is throwing an error

Config file not found because "Config File ".hydra" Not Found in "[/]""
time="2020-02-11T07:15:44Z" level=info msg="No tracer configured - skipping tracing setup"
time="2020-02-11T07:15:44Z" level=info msg="Establishing connection with SQL database backend" dsn="postgres://*:*@postgres.reaction.localhost:5432/hydra?sslmode=disable"
time="2020-02-11T07:15:44Z" level=error msg="Unable to ping SQL database backend" dsn="postgres://*:*@postgres.reaction.localhost:5432/hydra?sslmode=disable" error="dial tcp 172.22.0.2:5432: connect: connection refused"
time="2020-02-11T07:15:44Z" level=error msg="Unable to connect to database, retrying..." error="could not ping SQL connection: dial tcp 172.22.0.2:5432: connect: connection refused"
time="2020-02-11T07:15:44Z" level=info msg="Retrying in 0.100000 seconds..."
time="2020-02-11T07:15:44Z" level=info msg="Establishing connection with SQL database backend" dsn="postgres://*:*@postgres.reaction.localhost:5432/hydra?sslmode=disable"
time="2020-02-11T07:15:44Z" level=error msg="Unable to ping SQL database backend" dsn="postgres://*:*@postgres.reaction.localhost:5432/hydra?sslmode=disable" error="dial tcp 172.22.0.2:5432: connect: connection refused"
time="2020-02-11T07:15:44Z" level=error msg="Unable to connect to database, retrying..." error="could not ping SQL connection: dial tcp 172.22.0.2:5432: connect: connection refused"
time="2020-02-11T07:15:44Z" level=info msg="Retrying in 0.200000 seconds..."
time="2020-02-11T07:15:44Z" level=info msg="Establishing connection with SQL database backend" dsn="postgres://*:*@postgres.reaction.localhost:5432/hydra?sslmode=disable"
time="2020-02-11T07:15:44Z" level=error msg="Unable to ping SQL database backend" dsn="postgres://*:*@postgres.reaction.localhost:5432/hydra?sslmode=disable" error="dial tcp 172.22.0.2:5432: connect: connection refused"
time="2020-02-11T07:15:44Z" level=error msg="Unable to connect to database, retrying..." error="could not ping SQL connection: dial tcp 172.22.0.2:5432: connect: connection refused"
time="2020-02-11T07:15:44Z" level=info msg="Retrying in 0.400000 seconds..."
time="2020-02-11T07:15:45Z" level=info msg="Establishing connection with SQL database backend" dsn="postgres://*:*@postgres.reaction.localhost:5432/hydra?sslmode=disable"
time="2020-02-11T07:15:45Z" level=error msg="Unable to ping SQL database backend" dsn="postgres://*:*@postgres.reaction.localhost:5432/hydra?sslmode=disable" error="dial tcp 172.22.0.2:5432: connect: connection refused"
time="2020-02-11T07:15:45Z" level=error msg="Unable to connect to database, retrying..." error="could not ping SQL connection: dial tcp 172.22.0.2:5432: connect: connection refused"
time="2020-02-11T07:15:45Z" level=info msg="Retrying in 0.800000 seconds..."
time="2020-02-11T07:15:45Z" level=info msg="Establishing connection with SQL database backend" dsn="postgres://*:*@postgres.reaction.localhost:5432/hydra?sslmode=disable"
time="2020-02-11T07:15:45Z" level=info msg="Successfully connected to SQL database backend" dsn="postgres://*:*@postgres.reaction.localhost:5432/hydra?sslmode=disable"

Steps to Reproduce

I've tried using make and make init-dev, I used make clean in between and re-pulled from Git.

Versions

Docker version 19.03.5, build 633a0ea838
docker-compose version 1.25.3, build d4d1b42b

Change ssh git url to https one

Issue Description

When cloning the repo in a newly setup server, it requires you to have a properly setup github ssh key. Thats really annoying and i think the same can be done via using https urls of repos? It'll just make it easier to setup without additional steps

Steps to Reproduce

Without having setup the ssh key to github, try running make. It'll error out.

Possible Solution

Replace ssh url of repos to https

Installation/Startup error

Prerequisites

Issue Description

reaction_reaction docker container fails to start with the below error:

Setting up plugin imports...

Installing dependencies for email-templates...

npm WARN checkPermissions Missing write access to /opt/reaction/src/imports/plugins/included/email-templates
npm WARN [email protected] No repository field.

npm ERR! path /opt/reaction/src/imports/plugins/included/email-templates
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall access
npm ERR! Error: EACCES: permission denied, access '/opt/reaction/src/imports/plugins/included/email-templates'
npm ERR!  { Error: EACCES: permission denied, access '/opt/reaction/src/imports/plugins/included/email-templates'
npm ERR!   stack: 'Error: EACCES: permission denied, access \'/opt/reaction/src/imports/plugins/included/email-templates\'',
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'access',
npm ERR!   path: '/opt/reaction/src/imports/plugins/included/email-templates' }
npm ERR! 
npm ERR! Please try running this command again as root/Administrator.

npm ERR! A complete log of this run can be found in:

Steps to Reproduce

Please provide starting context, i.e. logged in as a user, configure a particular payment method.
make start on a clean install

Platform is CentOS 7

Possible Solution

Not obligatory, but suggest a fix/reason for the bug

Versions

The OAuth2 request resulted in an error. / Error: invalid_client

With latest version and docker 18.09.0
Just cloning repository and make finishing without errors, the web ui works fine, but login is broken.
localhost:4444 greets me with Error: invalid_client

After make, the following networks are available:

c18b988d7bb8        api.reaction.localhost             bridge              local
3b0cfb9dd126        auth.reaction.localhost            bridge              local
468075df3073        reaction-hydra_default             bridge              local
c6b6f43cb18f        reaction_default                   bridge              local
dd4bbbffd279        streams.reaction.localhost         bridge              local

The following (hydra) containers are running:

bcd94d4ec569        oryd/hydra:v1.0.0-beta.9-alpine         "hydra serve all --d…"   About an hour ago   Up 7 minutes                   0.0.0.0:4444-4445->4444-4445/tcp, 0.0.0.0:5555->5555/tcp   reaction-hydra_hydra_1
3b3dbcfcc726        oryd/hydra:v1.0.0-beta.9-alpine         "hydra migrate sql -e"   About an hour ago   Exited (0) 4 minutes ago                                                                  reaction-hydra_hydra-migrate_1
b593b1ffeef6        postgres:10.3                           "docker-entrypoint.s…"   About an hour ago   Up 7 minutes                   0.0.0.0:32770->5432/tcp                                    reaction-hydra_postgres_1

Docker logs of reaction-hydra_hydra_1:

time="2019-01-10T07:52:36Z" level=info msg="Connected to SQL!"
time="2019-01-10T07:52:36Z" level=info msg="Setting up Prometheus middleware"
time="2019-01-10T07:52:36Z" level=info msg="Transmission of telemetry data is enabled, to learn more go to: https://www.ory.sh/docs/guides/latest/telemetry/"
time="2019-01-10T07:52:36Z" level=info msg="Detected local environment, skipping telemetry commit"
time="2019-01-10T07:52:36Z" level=info msg="Detected local environment, skipping telemetry commit"
time="2019-01-10T07:52:36Z" level=info msg="Setting up http server on :4445"
time="2019-01-10T07:52:36Z" level=warning msg="HTTPS disabled. Never do this in production."
time="2019-01-10T07:52:36Z" level=info msg="Setting up http server on :4444"
time="2019-01-10T07:52:36Z" level=warning msg="HTTPS disabled. Never do this in production."
time="2019-01-10T07:55:19Z" level=info msg="started handling request" method=GET remote="172.20.0.1:56286" request="/oauth2/auth?response_type=code&redirect_uri=http%3A%2F%2Flocalhost%3A4000%2Fcallback&scope=offline%20openid&state=6Ne2FHijWWEVsxDWlyAeI0Mi&client_id=reaction-next-starterkit"
time="2019-01-10T07:55:19Z" level=error msg="An error occurred" description="Client authentication failed (e.g., unknown client, no client authentication included, or unsupported authentication method)" error=invalid_client hint="The requested OAuth 2.0 Client does not exist."
time="2019-01-10T07:55:19Z" level=info msg="completed handling request" measure#http://localhost:4444.latency=1930652 method=GET remote="172.20.0.1:56286" request="/oauth2/auth?response_type=code&redirect_uri=http%3A%2F%2Flocalhost%3A4000%2Fcallback&scope=offline%20openid&state=6Ne2FHijWWEVsxDWlyAeI0Mi&client_id=reaction-next-starterkit" status=302 text_status=Found took=1.930652ms

Idea: Add checkout command

There could be a simple file mapping one "platform" version to git tags for each repo. For example, make checkout 2.0 might git checkout 2.0 tag of Reaction repo, 1.0 tag of starter kit, and 1.0 tag of hydra. Otherwise it gets tricky making sure you have all of your service versions aligned before you make start.

Can't insert product

I setup reactioncommerce successfully. All needed platforms for this have been installed. However when I want to insert tags and products via admin panel, it gives error. When I reload the page, products added without any data.

Can I help or guide me on how to go in right direction?

Need a way to make a single service

A couple times the make command failed during the reaction stuff due to Docker issues. I'm now only missing the starter kit, but the only way to get it is to rerun entire make, which takes forever and does stuff I don't need done again. The workaround is to remove some services from the list in the Makefile, but we should provide a simple way to do this.

This will also come up when updating the repo and then wanting to clone and build some new service that was added without rebuilding all of the existing.

Fails at "Creating development OAuth clients for reaction-hydra"

Issue Description

I cloned reaction-platform and ran the makefile as described.
The process gets stuck while creating the hydra client with:

Command failed because calling " http://hydra.auth.reaction.localhost:4445/clients" resulted in error "Post http://hydra.auth.reaction.localhost:4445/clients: dial tcp 172.23.0.2:4445: connect: no route to host" occurred.

Steps to Reproduce

Please provide starting context, i.e. logged in as a user, configure a particular payment method.

  1. Clone the Repo
  2. Run make
  3. Oberserve that it fails at the described point.

Possible Solution

Is additional docker configuration necessary that was not described in the readme?

[3.0.0] Leakage between .env files when running `make init`

Creating here per request from @aldeed

When running make init for the first time is tries to create .env file in each of the child projects, but the .env file it creates contains all the env values for all the projects not just each respective project. This doesn't cause a ton of problems since most of these are unique per project but for admin and identity they both use the ROOT_URL and it gets set to whatever the last value was and so the project doesn't start

It also fills these files with a ton of irrelevant values.

The workaround is to simple delete the .env file in each project and run bin/setup in each project and it creates the file just fine.

"Make start" is not starting containers

Prerequisites

  • [yes ] Are you running the latest version?
  • [yes ] Are you able to consistently reproduce the issue?
  • [yes ] Did you search the issue queue for existing issue? Search issues

Issue Description

In installation steps it is said to run all the container type : make start
after typing this I got the following:
dec-04-2018 17-43-54
As per the documentation I should have access to services :

reaction: GraphQL API localhost:3000/graphql-alpha
reaction: GraphQL API playground localhost:3000/graphiql
reaction: Classic UI localhost:3000
reaction: MongoDB localhost:27017
reaction-hydra: oryd/hydra localhost:4444
reaction-next-starterkit localhost:4000

But this is not the case. The services are not running on the ports specified and probably not running at all.

[email protected] error

[xxxx@localhost reaction-platform]$ cat /etc/redhat-release
Fedora release 28 (Twenty Eight)
[xxxx@localhost reaction-platform]$ uname -r
4.16.3-301.fc28.x86_64

I got this error.

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"})

A permission denied error when build reaction-next-starterkit_web docker instance

╭─[email protected] ~/4_github/reaction-platform ‹master›
╰─➤ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3f589f838ebb reaction_reaction "bash -c 'meteor npm…" 12 minutes ago Up 11 minutes 0.0.0.0:3000->3000/tcp reaction_reaction_1_1970da1e0177
68f94f331cc9 mongo:3.6.3 "docker-entrypoint.s…" 12 minutes ago Up 11 minutes 0.0.0.0:27017->27017/tcp reaction_mongo_1_e0567a067498
0217caa13c68 oryd/hydra:v1.0.0-beta.9-alpine "hydra serve all --d…" 21 minutes ago Up 21 minutes 0.0.0.0:4444-4445->4444-4445/tcp, 0.0.0.0:5555->5555/tcp reaction-hydra_hydra_1_34d2587d34bc
309d41fddaf1 postgres:10.3 "docker-entrypoint.s…" 21 minutes ago Up 21 minutes 0.0.0.0:32768->5432/tcp reaction-hydra_postgres_1_7af56bb4ca8f
╭─[email protected] ~/4_github/reaction-platform ‹master›
╰─➤ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4c7487757c8b reaction-next-starterkit_web "/usr/local/src/reac…" 9 minutes ago Exited (1) 9 minutes ago reaction-next-starterkit_web_1_88ee16b41a8e
3f589f838ebb reaction_reaction "bash -c 'meteor npm…" 12 minutes ago Up 12 minutes 0.0.0.0:3000->3000/tcp reaction_reaction_1_1970da1e0177
68f94f331cc9 mongo:3.6.3 "docker-entrypoint.s…" 12 minutes ago Up 12 minutes 0.0.0.0:27017->27017/tcp reaction_mongo_1_e0567a067498
0217caa13c68 oryd/hydra:v1.0.0-beta.9-alpine "hydra serve all --d…" 21 minutes ago Up 21 minutes 0.0.0.0:4444-4445->4444-4445/tcp, 0.0.0.0:5555->5555/tcp reaction-hydra_hydra_1_34d2587d34bc
2dff2f0d8ac3 oryd/hydra:v1.0.0-beta.9-alpine "hydra migrate sql -e" 21 minutes ago Exited (0) 21 minutes ago reaction-hydra_hydra-migrate_1_c52a17cc4fa9
309d41fddaf1 postgres:10.3 "docker-entrypoint.s…" 21 minutes ago Up 21 minutes 0.0.0.0:32768->5432/tcp reaction-hydra_postgres_1_7af56bb4ca8f
6d7d5002a481 hello-world "/hello" 6 weeks ago Exited (0) 6 weeks ago unruffled_einstein
╭─[email protected] ~/4_github/reaction-platform ‹master›
╰─➤
╭─[email protected] ~/4_github/reaction-platform ‹master›
╰─➤
╭─[email protected] ~/4_github/reaction-platform ‹master›
╰─➤ docker logs 4c7487757c8b

yarn install v1.12.3
error An unexpected error occurred: "EACCES: permission denied, mkdir '/home/node/.cache/yarn/v4'".
info If you think this is a bug, please open a bug report with the information provided in "/usr/local/src/reaction-app/yarn-error.log".
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.

╭─[email protected] ~/4_github/reaction-platform ‹master›
╰─➤ uname -r
4.18.19-100.fc27.x86_64
╭─[email protected] ~/4_github/reaction-platform ‹master›
╰─➤ uname -a
Linux localhost.localhostdomain 4.18.19-100.fc27.x86_64 #1 SMP Wed Nov 14 22:04:34 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
╭─[email protected] ~/4_github/reaction-platform ‹master›
╰─➤ cat /etc/redhat-release
Fedora release 27 (Twenty Seven)
╭─[email protected] ~/4_github/reaction-platform ‹master›
╰─➤ git branch -a

  • master
    remotes/origin/HEAD -> origin/master
    remotes/origin/fix-32-multiline-define-syntax
    remotes/origin/master
    remotes/origin/reaction-users
    ╭─[email protected] ~/4_github/reaction-platform ‹master›
    ╰─➤ date
    2018年 12月 22日 土曜日 08:38:54 JST
    ╭─[email protected] ~/4_github/reaction-platform ‹master›
    ╰─➤

[3.0.0] Example storefront and reaction admin fail to start with make

Issue Description

example-storefront and reaction-admin fail to start when running make in the release-v3.0.0 branch in a new directory for the first time.

[edit Dec 27, 2019 for clarity]
These containers fail after attempting to start the first time I run make in a new project. I can start them with make (e.g. make-start-example-storefront) once the Mongo and API containers are run.

Attaching to example-storefront_web_1
web_1  | Creating Hydra client...
web_1  | FetchError: request to http://hydra.auth.reaction.localhost:4445/clients failed, reason: getaddrinfo ENOTFOUND hydra.auth.reaction.localhost hydra.auth.reaction.localhost:4445
web_1  |     at ClientRequest.<anonymous> (/usr/local/src/app/node_modules/node-fetch/index.js:133:11)
web_1  |     at ClientRequest.emit (events.js:198:13)
web_1  |     at Socket.socketErrorListener (_http_client.js:392:9)
web_1  |     at Socket.emit (events.js:198:13)
web_1  |     at emitErrorNT (internal/streams/destroy.js:91:8)
web_1  |     at emitErrorAndCloseNT (internal/streams/destroy.js:59:3)
web_1  |     at process._tickCallback (internal/process/next_tick.js:63:19)
example-storefront_web_1 exited with code 1
Attaching to reaction-admin_reaction-admin_1
reaction-admin_1  | /usr/local/src/app/programs/server/node_modules/fibers/future.js:313
reaction-admin_1  | 						throw(ex);
reaction-admin_1  | 						^
reaction-admin_1  |
reaction-admin_1  | MongoNetworkError: failed to connect to server [mongo:27017] on first connect [MongoNetworkError: getaddrinfo ENOTFOUND mongo mongo:27017]
reaction-admin_1  |     at Pool.<anonymous> (/usr/local/src/app/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb-core/lib/topologies/server.js:564:11)
reaction-admin_1  |     at emitOne (events.js:116:13)
reaction-admin_1  |     at Pool.emit (events.js:211:7)
reaction-admin_1  |     at Connection.<anonymous> (/usr/local/src/app/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb-core/lib/connection/pool.js:317:12)
reaction-admin_1  |     at Object.onceWrapper (events.js:317:30)
reaction-admin_1  |     at emitTwo (events.js:126:13)
reaction-admin_1  |     at Connection.emit (events.js:214:7)
reaction-admin_1  |     at Socket.<anonymous> (/usr/local/src/app/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb-core/lib/connection/connection.js:246:50)
reaction-admin_1  |     at Object.onceWrapper (events.js:315:30)
reaction-admin_1  |     at emitOne (events.js:116:13)
reaction-admin_1  |     at Socket.emit (events.js:211:7)
reaction-admin_1  |     at emitErrorNT (internal/streams/destroy.js:66:8)
reaction-admin_1  |     at _combinedTickCallback (internal/process/next_tick.js:139:11)
reaction-admin_1  |     at process._tickCallback (internal/process/next_tick.js:181:9)
reaction-admin_reaction-admin_1 exited with code 1

Steps to Reproduce

Please provide starting context, i.e. logged in as a user, configure a particular payment method.

  1. Clone reaction-platform into clean repository
  2. run make start
  3. Observe that reaction-admin and example-storefront fail to start.
    You can observe this by running docker ps or by cding into each directory and running docker-compose logs -f for each project to see the errors.

Possible Solution

There may be a race condition between starting dependent services (Mongo, etc) and these services.

Versions

release-3.0.0

Not getting any output after following get started docs

Prerequisites

  • Are you running the latest version?
  • Are you able to consistently reproduce the issue?
  • Did you search the issue queue for existing issue? Search issues

Issue Description

After following the installation docs here, I am getting nothing showing up on any of the ports listed here:
image with no console or terminal errors.

image

image

Attempting other approaches, if I run reaction on the master branch in the reaction-platform directory, I get an error saying "Not in a Reaction app directory. To create a new app, run: reaction init". If I cd into the reaction directory and then run reaction, I get an error saying "Can't listen on port 3000. Perhaps another Meteor is running? ... App failed to start", so then if I force it onto a free port with reaction --port 8888 I get another error saying "Unable to resolve some modules", but then if I run meteor npm install and try again on the free port, I am finally able to get a store running on that port.

This is all quite different from what the installation docs say, though, and I'm not getting anything on any of the ports that it suggests (see image above), so I'm not sure that I'm doing this right, and I'm not sure what the other directories are for.

Steps to Reproduce

Please provide starting context, i.e. logged in as a user, configure a particular payment method.

  1. git clone [email protected]:reactioncommerce/reaction-platform.git
  2. cd reaction-platform
  3. make

Versions

Reaction v2.0
macOS Mojave v10.14.2
node v8.12.0
Chrome v71.0 or Firefox v64.0

Makefile:88: *** missing separator. Stop.

Are you looking for help with getting started on Reaction? Please visit our Reaction documentation.

Prerequisites

  • [x ] Are you running the latest version?
  • [x ] Are you able to consistently reproduce the issue?
  • [x ] Did you search the issue queue for existing issue? Search issues

Issue Description

There seems to be an issue that snuck into the Makefile. On a fresh clone of this repo, running make throws a missing separator error.

Steps to Reproduce

Please provide starting context, i.e. logged in as a user, configure a particular payment method.

  1. run git clone on this repo
  2. cd reaction-platform && make
  3. throws error Makefile:88: *** missing separator. Stop.

Possible Solution

Rolling back to this commit 431fa827a7937d058056c7221fce4846e8742044 fixes the issue for me. I researched and this error could be related to tabs vs spaces issue, but I'm unsure of the Makefile syntax so not sure how to debug.

Versions

Permission Denied when trying to run reaction_reaction_1 container

Issue Description

After clean ubuntu install, did everything as guided here. The
make command successfully finished without any errors.

When I did docker ps -a, I noticed that only 3 out of 6 containers are running.

CONTAINER ID        IMAGE                             COMMAND                  CREATED             STATUS                      PORTS                                                      NAMES
09fbfb956e44        reaction-next-starterkit_web      "/usr/local/src/reac…"   13 minutes ago      Exited (1) 13 minutes ago                                                              reaction-next-starterkit_web_1
db959c6740c2        reaction_reaction                 "bash -c 'time meteo…"   14 minutes ago      Exited (1) 14 minutes ago                                                              reaction_reaction_1
424bfbbd092b        mongo:3.6.3                       "docker-entrypoint.s…"   14 minutes ago      Up 14 minutes               0.0.0.0:27017->27017/tcp                                   reaction_mongo_1
e95980338b91        oryd/hydra:v1.0.0-beta.9-alpine   "hydra serve all --d…"   19 minutes ago      Up 19 minutes               0.0.0.0:4444-4445->4444-4445/tcp, 0.0.0.0:5555->5555/tcp   reaction-hydra_hydra_1
c4d74ea130d5        oryd/hydra:v1.0.0-beta.9-alpine   "hydra migrate sql -e"   19 minutes ago      Exited (0) 19 minutes ago                                                              reaction-hydra_hydra-migrate_1

I ran docker-compose logs for both reaction and reaction-next-starterkit. I saw that the issue is something with permissions.

$ docker-compose logs
web_1  | yarn install v1.13.0
web_1  | [1/4] Resolving packages...
web_1  | [2/4] Fetching packages...
web_1  | error An unexpected error occurred: "https://registry.yarnpkg.com/brcast/-/brcast-3.0.1.tgz: EACCES: permission denied, open '/home/node/.cache/yarn-offline-mirror/brcast-3.0.1.tgz'".
web_1  | info If you think this is a bug, please open a bug report with the information provided in "/usr/local/src/reaction-app/yarn-error.log".
web_1  | info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
reaction-next-starterkit_web_1 exited with code 1
reaction_1  | Setting up plugin imports...
reaction_1  | 
reaction_1  | Setting up plugin imports took 0s 17.152383ms
reaction_1  | 
reaction_1  | Setting up style imports...
reaction_1  | 
reaction_1  | Setting up style imports took 0s 6.676314ms
reaction_1  | 
reaction_1  | Provisioning assets...
reaction_1  | 
reaction_1  | Provisioning assets took 0s 11.513272ms
reaction_1  | 
reaction_1  | Running command: meteor run --no-lint --no-release-check --raw-logs 
reaction_1  | /home/node/.meteor/packages/meteor-tool/.1.8.0_2.1om3lwx.sy8++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/meteor-promise/promise_server.js:218
reaction_1  |       throw error;
reaction_1  |       ^
reaction_1  | 
reaction_1  | Error: EACCES: permission denied, open '/opt/reaction/src/.meteor/local/.resolver-result-cache.json.1uocjx9.c6vi'
reaction_1  |     at Object.fs.openSync (fs.js:646:18)
reaction_1  |     at Object.fs.writeFileSync (fs.js:1299:33)
reaction_1  |     at Object.wrapper [as writeFile] (/tools/fs/files.js:1609:35)
reaction_1  |     at Object.writeFileAtomically (/tools/fs/files.js:1071:11)
reaction_1  |     at ProjectContext._saveResolverResultCache (/tools/project-context.js:619:11)
reaction_1  |     at /tools/project-context.js:594:14
reaction_1  |     at Object.enterJob (/tools/utils/buildmessage.js:388:12)
reaction_1  |     at /tools/project-context.js:529:20
reaction_1  |     at /tools/packaging/catalog/catalog.js:100:5
reaction_1  |     at Object.capture (/tools/utils/buildmessage.js:283:5)
reaction_1  |     at Object.catalog.runAndRetryWithRefreshIfHelpful (/tools/packaging/catalog/catalog.js:99:31)
reaction_1  |     at ProjectContext._resolveConstraints (/tools/project-context.js:528:13)
reaction_1  |     at /tools/project-context.js:300:9
reaction_1  |     at Object.enterJob (/tools/utils/buildmessage.js:388:12)
reaction_1  |     at ProjectContext._completeStagesThrough (/tools/project-context.js:290:18)
reaction_1  |     at Profile.run (/tools/project-context.js:260:12)
reaction_1  |     at Function.run (/tools/tool-env/profile.js:490:12)
reaction_1  |     at ProjectContext.resolveConstraints (/tools/project-context.js:259:13)
reaction_1  |     at /tools/runners/run-all.js:75:27
reaction_1  |     at Object.capture (/tools/utils/buildmessage.js:283:5)
reaction_1  |     at new Runner (/tools/runners/run-all.js:74:18)
reaction_1  |     at Object.exports.run (/tools/runners/run-all.js:366:16)
reaction_1  |     at Command.doRunCommand [as func] (/tools/cli/commands.js:417:17)
reaction_1  |     at /tools/cli/main.js:1531:15
reaction_1  | { Error: Command failed: REACTION_METEOR_APP_COMMAND_START_TIME=1552795323936 meteor run --no-lint --no-release-check --raw-logs 
reaction_1  |     at checkExecSyncError (child_process.js:601:13)
reaction_1  |     at Object.execSync (child_process.js:641:13)
reaction_1  |     at run (file:///opt/reaction/src/.reaction/run/index.mjs:41:18)
reaction_1  |     at file:///opt/reaction/src/.reaction/run/index.mjs:49:1
reaction_1  |     at ModuleJob.run (internal/loader/ModuleJob.js:97:14)
reaction_1  |     at <anonymous>
reaction_1  |   error: null,
reaction_1  |   cmd: 'REACTION_METEOR_APP_COMMAND_START_TIME=1552795323936 meteor run --no-lint --no-release-check --raw-logs ',
reaction_1  |   file: '/bin/sh',
reaction_1  |   args: 
reaction_1  |    [ '/bin/sh',
reaction_1  |      '-c',
reaction_1  |      'REACTION_METEOR_APP_COMMAND_START_TIME=1552795323936 meteor run --no-lint --no-release-check --raw-logs ' ],
reaction_1  |   options: 
reaction_1  |    { stdio: [ [Object], [Object], [Object] ],
reaction_1  |      shell: true,
reaction_1  |      file: '/bin/sh',
reaction_1  |      args: 
reaction_1  |       [ '/bin/sh',
reaction_1  |         '-c',
reaction_1  |         'REACTION_METEOR_APP_COMMAND_START_TIME=1552795323936 meteor run --no-lint --no-release-check --raw-logs ' ],
reaction_1  |      envPairs: 
reaction_1  |       [ 'TOOL_NODE_FLAGS=',
reaction_1  |         'NODE_VERSION=8.11.4',
reaction_1  |         'HOSTNAME=db959c6740c2',
reaction_1  |         'METEOR_WATCH_POLLING_INTERVAL_MS=10000',
reaction_1  |         'METEOR_VERSION=1.8.0.2',
reaction_1  |         'METEOR_DISABLE_OPTIMISTIC_CACHING=1',
reaction_1  |         'REACTION_EMAIL=admin@localhost',
reaction_1  |         'PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/node/.meteor:/home/node/.meteor:/opt/reaction/src/node_modules/.bin',
reaction_1  |         'PWD=/opt/reaction/src',
reaction_1  |         'MONGO_URL=mongodb://mongo:27017/reaction',
reaction_1  |         'REACTION_USER=Admin',
reaction_1  |         'APP_BUNDLE_DIR=/opt/reaction/dist',
reaction_1  |         'ROOT_URL=http://localhost:3000',
reaction_1  |         'HYDRA_TOKEN_URL=http://hydra:4444/oauth2/token',
reaction_1  |         'SHLVL=1',
reaction_1  |         'HOME=/home/node',
reaction_1  |         'REACTION_AUTH=r3@cti0n',
reaction_1  |         'YARN_VERSION=1.6.0',
reaction_1  |         'OAUTH2_CLIENT_DOMAINS=http://localhost:4000',
reaction_1  |         'REACTION_DOCKER_BUILD=true',
reaction_1  |         'REACTION_USER_NAME=admin',
reaction_1  |         'REACTION_SECURE_DEFAULT_ADMIN=false',
reaction_1  |         'APP_SOURCE_DIR=/opt/reaction/src',
reaction_1  |         'HYDRA_OAUTH2_INTROSPECT_URL=http://hydra:4445/oauth2/introspect',
reaction_1  |         'MONGO_OPLOG_URL=mongodb://mongo:27017/local',
reaction_1  |         'HYDRA_ADMIN_URL=http://hydra:4445',
reaction_1  |         'IDENTITY_PROVIDER_MODE=all',
reaction_1  |         '_=/usr/local/bin/node' ],
reaction_1  |      killSignal: undefined },
reaction_1  |   envPairs: 
reaction_1  |    [ 'TOOL_NODE_FLAGS=',
reaction_1  |      'NODE_VERSION=8.11.4',
reaction_1  |      'HOSTNAME=db959c6740c2',
reaction_1  |      'METEOR_WATCH_POLLING_INTERVAL_MS=10000',
reaction_1  |      'METEOR_VERSION=1.8.0.2',
reaction_1  |      'METEOR_DISABLE_OPTIMISTIC_CACHING=1',
reaction_1  |      'REACTION_EMAIL=admin@localhost',
reaction_1  |      'PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/node/.meteor:/home/node/.meteor:/opt/reaction/src/node_modules/.bin',
reaction_1  |      'PWD=/opt/reaction/src',
reaction_1  |      'MONGO_URL=mongodb://mongo:27017/reaction',
reaction_1  |      'REACTION_USER=Admin',
reaction_1  |      'APP_BUNDLE_DIR=/opt/reaction/dist',
reaction_1  |      'ROOT_URL=http://localhost:3000',
reaction_1  |      'HYDRA_TOKEN_URL=http://hydra:4444/oauth2/token',
reaction_1  |      'SHLVL=1',
reaction_1  |      'HOME=/home/node',
reaction_1  |      'REACTION_AUTH=r3@cti0n',
reaction_1  |      'YARN_VERSION=1.6.0',
reaction_1  |      'OAUTH2_CLIENT_DOMAINS=http://localhost:4000',
reaction_1  |      'REACTION_DOCKER_BUILD=true',
reaction_1  |      'REACTION_USER_NAME=admin',
reaction_1  |      'REACTION_SECURE_DEFAULT_ADMIN=false',
reaction_1  |      'APP_SOURCE_DIR=/opt/reaction/src',
reaction_1  |      'HYDRA_OAUTH2_INTROSPECT_URL=http://hydra:4445/oauth2/introspect',
reaction_1  |      'MONGO_OPLOG_URL=mongodb://mongo:27017/local',
reaction_1  |      'HYDRA_ADMIN_URL=http://hydra:4445',
reaction_1  |      'IDENTITY_PROVIDER_MODE=all',
reaction_1  |      '_=/usr/local/bin/node' ],
reaction_1  |   stderr: null,
reaction_1  |   stdout: null,
reaction_1  |   pid: 62,
reaction_1  |   output: [ null, null, null ],
reaction_1  |   signal: null,
reaction_1  |   status: 1 }
reaction_1  | 
reaction_1  | Error: App failed to start
reaction_reaction_1 exited with code 1

Have managed to solve the issue with the reaction-next-starterkit_web_1 container with a tip from here, but I have no idea how to fix the reaction_reaction_1 container issues.

Can you please help me?

Steps to Reproduce

Exactly as described in this guide: https://docs.reactioncommerce.com/docs/installation-reaction-platform#installation

Versions

Ubuntu Server 18.10

$ uname -a
Linux 4.18.0-16-generic #17-Ubuntu SMP Fri Feb 8 00:06:57 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Create Umbrella docker-compose network

Docker has heavy performance issues on MacOS due to to the way that it interacts with the filesystem. This is amplified by Meteor's heavy use of the filesystem internally.

Creating a larger umbrella docker-compose setup for the current services can help alleviate this issue as well as a number of other developer experience issues around first-time startups for the entire reaction platform.

The idea is to leave any current tooling around the platform in-tact, but simply add an additional option with instructions that may be helpful to MacOS devs attempting to run and develop the project locally.

This may also enable single-push deployments to different IaaS / PaaS services, but is not the initial goal of this enhancement.

👋 @cmbirk will own getting this setup built and tested with help from @chrisbalchin.

make shows reaction-identity repository missing

Are you looking for help with getting started on Reaction? Please visit our Reaction documentation.

Prerequisites

  • [Y ] Are you running the latest version?
  • [ Y] Are you able to consistently reproduce the issue?
  • [ Y] Did you search the issue queue for existing issue? Search issues

Issue Description

Executing the 'make' command on a fresh clone of the repository results in a build error due to missing repository.

if [ ! -d "reaction-identity" ] ; then git clone "[email protected]:/reactioncommerce/reaction-identity.git" "reaction-identity"; cd reaction-identity && git checkout "v3.0.0-alpha"; fi
Cloning into 'reaction-identity'...
ERROR: Repository not found.
fatal: Could not read from remote repository.

Steps to Reproduce

Please provide starting context, i.e. logged in as a user, configure a particular payment method.

  1. clone repo
  2. change directory
  3. run make

Possible Solution

Identify cause of repository missing on github.

Versions

master

make init-example-storefront doesn't seem to be working

After using make in v2, I have tried using the command make init-super-arts in the reaction-platform directory. It is not working and shows an error make: *** No rule to make target 'init-super-arts'. Stop.

Am I doing something wrong here? I think the Makerfile seems to be missing another .Phony tag at the 'init' command.

Installation problem

Are you looking for help with getting started on Reaction? Please visit our Reaction documentation.

Prerequisites

  • [ *] Are you running the latest version?
  • Are you able to consistently reproduce the issue?
  • Did you search the issue queue for existing issue? Search issues

Issue Description

Providing a clear description of the issue will enable a developer to quickly reproduce and understand the issue. Please provide a detailed description including images, animation and/or videos. For client issues, include browser console errors, for server issues please add terminal output and stack traces.

Steps to Reproduce

Please provide starting context, i.e. logged in as a user, configure a particular payment method.

docker-compose logs -f
Attaching to example-storefront_web_1
web_1  | yarn install v1.17.3
web_1  | [1/4] Resolving packages...
web_1  | [2/4] Fetching packages...
web_1  | info [email protected]: The platform "linux" is incompatible with this module.
web_1  | info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
web_1  | [3/4] Linking dependencies...
web_1  | warning " > [email protected]" has unmet peer dependency "[email protected]".
web_1  | [4/4] Building fresh packages...
web_1  | Done in 31.31s.
web_1  | Creating hydra client…OK: hydra client created
web_1  | yarn run v1.17.3
web_1  | $ NODE_ENV=development node ./src/server.js
web_1  | [2:19:01 PM] Compiling server
web_1  | [2:19:04 PM] Compiling client
web_1  | > Using external babel configuration
web_1  | > Location: "/usr/local/src/reaction-app/.babelrc"
web_1  | [2:19:08 PM] Compiled server in 7s
web_1  | [2:19:13 PM] Compiled client in 9s
web_1  |  DONE  Compiled successfully in 11908ms2:19:13 PM
web_1  | 
web_1  | Server started ! ✓
web_1  | 
web_1  |       http://localhost:4000
web_1  |       Press CTRL-C to stop
web_1  |     
web_1  |  WAIT  Compiling...2:19:13 PM
web_1  | 
web_1  | [2:19:13 PM] Compiling client
web_1  | [2:19:14 PM] Compiled client in 656ms
web_1  |  DONE  Compiled successfully in 681ms2:19:14 PM
web_1  | 
web_1  | > Building page: /productGrid
web_1  |  WAIT  Compiling...2:28:14 PM
web_1  | 
web_1  | [2:28:14 PM] Compiling server
web_1  | [2:28:14 PM] Compiling client
web_1  | [2:28:17 PM] Compiled client in 2s
web_1  |  DONE  Compiled successfully in 2457ms2:28:17 PM
web_1  | 
web_1  | [2:28:17 PM] Compiled server in 3s
web_1  | Unable to access the GraphQL API. Is it running and accessible at http://reaction.api.reaction.localhost:3000/graphql-beta from the Storefront UI server?
web_1  | { Error: Network error: request to http://reaction.api.reaction.localhost:3000/graphql-beta failed, reason: getaddrinfo ENOTFOUND reaction.api.reaction.localhost reaction.api.reaction.localhost:3000
web_1  |     at new ApolloError (/usr/local/src/reaction-app/node_modules/apollo-client/bundle.umd.js:99:32)
web_1  |     at /usr/local/src/reaction-app/node_modules/apollo-client/bundle.umd.js:978:45
web_1  |     at /usr/local/src/reaction-app/node_modules/apollo-client/bundle.umd.js:1345:21
web_1  |     at Array.forEach (<anonymous>)
web_1  |     at /usr/local/src/reaction-app/node_modules/apollo-client/bundle.umd.js:1344:22
web_1  |     at Map.forEach (<anonymous>)
web_1  |     at QueryManager.broadcastQueries (/usr/local/src/reaction-app/node_modules/apollo-client/bundle.umd.js:1339:26)
web_1  |     at /usr/local/src/reaction-app/node_modules/apollo-client/bundle.umd.js:928:35
web_1  |     at process._tickCallback (internal/process/next_tick.js:68:7)
web_1  |   graphQLErrors: [],
web_1  |   networkError:
web_1  |    { FetchError: request to http://reaction.api.reaction.localhost:3000/graphql-beta failed, reason: getaddrinfo ENOTFOUND reaction.api.reaction.localhost reaction.api.reaction.localhost:3000
web_1  |        at ClientRequest.<anonymous> (/usr/local/src/reaction-app/node_modules/node-fetch/index.js:133:11)
web_1  |        at ClientRequest.emit (events.js:198:13)
web_1  |        at Socket.socketErrorListener (_http_client.js:392:9)
web_1  |        at Socket.emit (events.js:198:13)
web_1  |        at emitErrorNT (internal/streams/destroy.js:91:8)
web_1  |        at emitErrorAndCloseNT (internal/streams/destroy.js:59:3)
web_1  |        at process._tickCallback (internal/process/next_tick.js:63:19)
web_1  |      name: 'FetchError',
web_1  |      message:
web_1  |       'request to http://reaction.api.reaction.localhost:3000/graphql-beta failed, reason: getaddrinfo ENOTFOUND reaction.api.reaction.localhost reaction.api.reaction.localhost:3000',
web_1  |      type: 'system',
web_1  |      errno: 'ENOTFOUND',
web_1  |      code: 'ENOTFOUND' },
web_1  |   message:
web_1  |    'Network error: request to http://reaction.api.reaction.localhost:3000/graphql-beta failed, reason: getaddrinfo ENOTFOUND reaction.api.reaction.localhost reaction.api.reaction.localhost:3000',
web_1  |   extraInfo: undefined }
web_1  | Unable to access the GraphQL API. Is it running and accessible at http://reaction.api.reaction.localhost:3000/graphql-beta from the Storefront UI server?
web_1  | { Error: Network error: request to http://reaction.api.reaction.localhost:3000/graphql-beta failed, reason: getaddrinfo ENOTFOUND reaction.api.reaction.localhost reaction.api.reaction.localhost:3000
web_1  |     at new ApolloError (/usr/local/src/reaction-app/node_modules/apollo-client/bundle.umd.js:99:32)
web_1  |     at /usr/local/src/reaction-app/node_modules/apollo-client/bundle.umd.js:978:45
web_1  |     at /usr/local/src/reaction-app/node_modules/apollo-client/bundle.umd.js:1345:21
web_1  |     at Array.forEach (<anonymous>)
web_1  |     at /usr/local/src/reaction-app/node_modules/apollo-client/bundle.umd.js:1344:22
web_1  |     at Map.forEach (<anonymous>)
web_1  |     at QueryManager.broadcastQueries (/usr/local/src/reaction-app/node_modules/apollo-client/bundle.umd.js:1339:26)
web_1  |     at /usr/local/src/reaction-app/node_modules/apollo-client/bundle.umd.js:928:35
web_1  |     at process._tickCallback (internal/process/next_tick.js:68:7)
web_1  |   graphQLErrors: [],
web_1  |   networkError:
web_1  |    { FetchError: request to http://reaction.api.reaction.localhost:3000/graphql-beta failed, reason: getaddrinfo ENOTFOUND reaction.api.reaction.localhost reaction.api.reaction.localhost:3000
web_1  |        at ClientRequest.<anonymous> (/usr/local/src/reaction-app/node_modules/node-fetch/index.js:133:11)
web_1  |        at ClientRequest.emit (events.js:198:13)
web_1  |        at Socket.socketErrorListener (_http_client.js:392:9)
web_1  |        at Socket.emit (events.js:198:13)
web_1  |        at emitErrorNT (internal/streams/destroy.js:91:8)
web_1  |        at emitErrorAndCloseNT (internal/streams/destroy.js:59:3)
web_1  |        at process._tickCallback (internal/process/next_tick.js:63:19)
web_1  |      name: 'FetchError',
web_1  |      message:
web_1  |       'request to http://reaction.api.reaction.localhost:3000/graphql-beta failed, reason: getaddrinfo ENOTFOUND reaction.api.reaction.localhost reaction.api.reaction.localhost:3000',
web_1  |      type: 'system',
web_1  |      errno: 'ENOTFOUND',
web_1  |      code: 'ENOTFOUND' },
web_1  |   message:
web_1  |    'Network error: request to http://reaction.api.reaction.localhost:3000/graphql-beta failed, reason: getaddrinfo ENOTFOUND reaction.api.reaction.localhost reaction.api.reaction.localhost:3000',
web_1  |   extraInfo: undefined }
web_1  | Unable to access the GraphQL API. Is it running and accessible at http://reaction.api.reaction.localhost:3000/graphql-beta from the Storefront UI server?
web_1  | (node:103) UnhandledPromiseRejectionWarning: Error: Network error: request to http://reaction.api.reaction.localhost:3000/graphql-beta failed, reason: getaddrinfo ENOTFOUND reaction.api.reaction.localhost reaction.api.reaction.localhost:3000
web_1  |     at new ApolloError (/usr/local/src/reaction-app/node_modules/apollo-client/bundle.umd.js:99:32)
web_1  |     at /usr/local/src/reaction-app/node_modules/apollo-client/bundle.umd.js:978:45
web_1  |     at /usr/local/src/reaction-app/node_modules/apollo-client/bundle.umd.js:1345:21
web_1  |     at Array.forEach (<anonymous>)
web_1  |     at /usr/local/src/reaction-app/node_modules/apollo-client/bundle.umd.js:1344:22
web_1  |     at Map.forEach (<anonymous>)
web_1  |     at QueryManager.broadcastQueries (/usr/local/src/reaction-app/node_modules/apollo-client/bundle.umd.js:1339:26)
web_1  |     at /usr/local/src/reaction-app/node_modules/apollo-client/bundle.umd.js:928:35
web_1  |     at process._tickCallback (internal/process/next_tick.js:68:7)
web_1  | (node:103) 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: 1)
web_1  | (node:103) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
web_1  | > Disposing inactive page(s): /productGrid
web_1  | [2:29:21 PM] Compiling server

Possible Solution

Not obligatory, but suggest a fix/reason for the bug

Versions

Meteor and Starter kit reloads are very slow or don't happen at all

Also, Docker can consume most/all of system resources causing the host machine to become unusable. The consensus so far seems to be that the root cause is filesharing between Docker and OSX when using file watchers.

Some research done by @spencern

Short story: the major issue is with hyperkit and involves how filesystem events are handled between the host and container - see docker/for-mac#1759 (comment)
If you look at the stats when running reaction-platform docker stats you’ll notice that the CPU utilization of any particular docker container isn’t out range.

Even reaction in dev mode is using only 5-50% of a single core for me.
When looking at system performance using Activity Monitor it tells a bit of a different story.
looking at htop It appears that hyperkit is chewing up CPU cycles

Got error after running 'make' command

(ON WINDOWS machine)
Got this error while running 'make' command

ERROR: for reaction_reaction_1  HTTPSConnectionPool(host='192.168.99.100', port=2376): Read timed out. (read timeout=60)

ERROR: for reaction  HTTPSConnectionPool(host='192.168.99.100', port=2376): Read timed out. (read timeout=60)
An HTTP request took too long to complete. Retry with --verbose to obtain debug information.
If you encounter this issue regularly because of slow network conditions, consider setting COMPOSE_HTTP_TIMEOUT to a higher value (current value: 60).
make: *** [Makefile:218: start-reaction] Error 1

And only Postgres, mongo and hydra are running in docker but cant acces them in Browser

Pluggable Validation Hook for System Check

Problem Overview

The Reaction Platform project loosely binds together several projects in development that run in coordination as a complete system. By nature a distributed system is complicated and troubleshooting is more difficult than a monolith. This proposed improvement will provide tooling to understand the state of the system and identify issues that might prevent successful startup.

Background

The Makefile in this project is fairly sophisticated because it contains dynamic programming. But beyond that, it's actually performing simple tasks. It checks out a set of git projects and runs Docker Compose command inside those project directories. It also invokes scripts within each configured project at specific lifecycle points, when those scripts exist. The process happily moves on when the project hook scripts do not exist.

Proposed Plan

Validation Target

Create a new make target that will enumerate over each project and run a validation script.

This would follow the spirit of the reaction-platform project. The checks would be delegated to the individual projects. The maintainers of each project know what they need in order to run and can script the necessary checks.

The checks should help the user understand if anything has gone wrong. The best case would be to help the user understand how to fix it. Otherwise, it should provide enough information for others to help support new users.

When would it run?

The target would only run when manually invoked.

The script would need a running system. The user would need to run it manually with something like make validate. (Alternative naming suggestions welcome.) The new task should depend on the full system start which would automatically invoke a full system start. This would retain a single-command start while making a system check optional.

Rejected Alternative: The system check could be invoked after the post-system-start hooks on all projects but this would add to startup time and output noise. I think it's better to make it an optional step to run only when problems are encountered.

Support in Sub Projects

Each project should add a .reaction/project-hooks/validation-hook.

The hook should call task(s) within the project that would perform the system checks. Common tasks would include health checks, OAuth Client validations and service dependency checks. Projects could implement anything they need.

Handling Failures

For the first version, scripts can fail fast.

When a validation script encounters an error it should print a readable error for the user.

Alternative: Validation scripts output their errors for aggregation. The final aggregation is presented to the user at the end. All failed checks are visible at once. This would be a better experience but would also require more work to aggregate in the make task.

syntax error: unexpected end of file

Prerequisites

  • Are you running the latest version?
  • Are you able to consistently reproduce the issue?
  • Did you search the issue queue for existing issue? Search issues

Issue Description

I am getting error syntax error: unexpected end of file when trying to install the latest version of reaction-commerce.

image

Steps to Reproduce

Please provide starting context, i.e. logged in as a user, configure a particular payment method.

  1. git clone [email protected]:reactioncommerce/reaction-platform.git
  2. cd reaction-platform
  3. make

Versions

docker@latest
reaction-commerce@latest

make clean doesn't remove external networks

When I run make clean, the networks api.reaction.localhost and auth.reaction.localhost don't get removed, and I get the messages:

Network api.reaction.localhost is external, skipping
Network auth.reaction.localhost is external, skipping

📋 Open source checklist

In order to prep this repository for open source use and consumption, we need to complete this checklist:

  • Add .github directory with pull request template, issue template(s) (1 template for bugs, 1 template for features)
  • Add Reaction's standard LICENSE.md
  • Add Reaction's standard CODE_OF_CONDUCT.md
  • Add Reaction's standard CONTRIBUTING.md

README checklist

  • Add a screenshot, if applicable
  • Add and check install instructions
  • Add requirements list
  • Add link back to reactioncommerce.com, Reaction repo, Reaction docs, and other related Reaction tools/repos
  • Make it clear in the README whether this repository is open to new features, or whether new feature requests should go into: https://github.com/reactioncommerce/reaction-feature-requests

Service 'reaction' failed to build: Error parsing reference: "reactioncommerce/base:v1.8.0.2-meteor as meteor-dev" is not a valid repository/tag: invalid reference format

Prerequisites

  • [Y] Are you running the latest version?
  • [Y] Are you able to consistently reproduce the issue?
  • [Y] Did you search the issue queue for existing issue? Search issues

Issue Description

Error when attempting to make reaction-platform

Steps to Reproduce

yum install git
yum install docker
yum install docker-compose
yum install nodejs
configure A GitHub account with a configured SSH key
git clone [email protected]:reactioncommerce/reaction-platform.git
cd reaction-platform
make

Versions

CentOS 7 x64
Docker version 1.13.1, build b2f74b2/1.13.1

$ make
1e27bbe1ddb638f92851bfe2311f44949043d24c1eebbd97da07883fc539f6d6
2c354173cce1582fb2b02e95c59940dfb11a1e604b8e60bf7d8310bbfcbd60fe
8a56572dda47361999808c0cbc1e2f1d9d78a8ccfbeb0a81d3931b27ca8bfa17
Running pre-build hook script for reaction-hydra.
reaction-hydra post-project-start script invoked.
postgres uses an image, skipping
hydra-migrate uses an image, skipping
hydra uses an image, skipping
Running post-build hook script for reaction-hydra.
reaction-hydra post-build script invoked.
Creating network "reactionhydra_default" with the default driver
Creating volume "reactionhydra_postgres-data" with default driver
Pulling postgres (postgres:10.3)...
Trying to pull repository docker.io/library/postgres ...
10.3: Pulling from docker.io/library/postgres
f2aa67a397c4: Pull complete
8218dd41bf94: Pull complete
e9b7fa2e6bd8: Pull complete
7288a45ee17f: Pull complete
0d0f8a67376c: Pull complete
670a6cc35896: Pull complete
813e44621756: Pull complete
220a4cd75207: Pull complete
2f20067ce75a: Pull complete
4adafe999f39: Pull complete
a4e661925544: Pull complete
74fde6b04f98: Pull complete
6de83ca23e55: Pull complete
Digest: sha256:23c92d48934b254c007c08812638acfd849fe1c179a34b63c752a62100c6524d
Status: Downloaded newer image for docker.io/postgres:10.3
Pulling hydra-migrate (oryd/hydra:v1.0.0-beta.9-alpine)...
Trying to pull repository docker.io/oryd/hydra ...
v1.0.0-beta.9-alpine: Pulling from docker.io/oryd/hydra
911c6d0c7995: Pull complete
ed2e093f18e3: Pull complete
8487c48bac41: Pull complete
Creating reactionhydra_postgres_1      ... done
Status: Downloaded newer image for docker.io/oryd/hydra:v1.0.0-beta.9-alpine
Creating reactionhydra_hydra-migrate_1 ... done
Creating reactionhydra_hydra-migrate_1 ...
Creating reactionhydra_hydra_1         ... done
Running post-project-start hook script for reaction-hydra.
reaction-hydra post-project-start script invoked.
if [ ! -d "reaction" ] ; then git clone "[email protected]:/reactioncommerce/reaction.git" "reaction"; cd reaction && git checkout "v2.0.0-rc.11"; fi
Cloning into 'reaction'...
remote: Enumerating objects: 85, done.
remote: Counting objects: 100% (85/85), done.
remote: Compressing objects: 100% (62/62), done.
remote: Total 167547 (delta 31), reused 52 (delta 23), pack-reused 167462
Receiving objects: 100% (167547/167547), 74.13 MiB | 36.59 MiB/s, done.
Resolving deltas: 100% (97694/97694), done.
Note: checking out 'v2.0.0-rc.11'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b new_branch_name

HEAD is now at 6c8e806... Merge pull request #5049 from reactioncommerce/release-v2.0.0-rc.11
Running pre-build hook script for reaction.
reaction post-project-start script invoked.
Adding HYDRA_ADMIN_URL to .env
Adding HYDRA_OAUTH2_INTROSPECT_URL to .env
Adding HYDRA_TOKEN_URL to .env
Adding IDENTITY_PROVIDER_MODE to .env
Adding METEOR_DISABLE_OPTIMISTIC_CACHING to .env
Adding METEOR_WATCH_POLLING_INTERVAL_MS to .env
Adding MONGO_OPLOG_URL to .env
Adding MONGO_URL to .env
Adding OAUTH2_CLIENT_DOMAINS to .env
Adding REACTION_AUTH to .env
Adding REACTION_EMAIL to .env
Adding REACTION_SECURE_DEFAULT_ADMIN to .env
Adding REACTION_USER to .env
Adding REACTION_USER_NAME to .env
Adding ROOT_URL to .env
mongo uses an image, skipping
Building reaction
Step 1/20 : FROM reactioncommerce/base:v1.8.0.2-meteor as meteor-dev
ERROR: Service 'reaction' failed to build: Error parsing reference: "reactioncommerce/base:v1.8.0.2-meteor as meteor-dev" is not a valid repository/tag: invalid reference format
make: *** [build-reaction] Error 1

Permission denied error (??) on Ubuntu 18.04.3 (LTS) x64

Prerequisites

  • Are you running the latest version?
    ^ as per documentation, i simply run git clone [email protected]:reactioncommerce/reaction-platform.git

  • Did you search the issue queue for existing issue? [Search issues]
    yes

Issue Description

I created a droplet on Digital Ocean, using Ubuntu 18.04.3 (LTS) x64 once i execute docker ps i can see the following images running:

35eed103c220        reactioncommerce/node-dev:10.16.3-v2   "tini -- /usr/local/…"   10 minutes ago      Up 10 minutes       0.0.0.0:4000->4000/tcp                                     example-storefront_web_1
96616bca9986        mongo:3.6.3                            "docker-entrypoint.s…"   11 minutes ago      Up 11 minutes       0.0.0.0:27017->27017/tcp                                   reaction_mongo_1
ee2b4734c6ec        oryd/hydra:v1.0.0-beta.9-alpine        "hydra serve all --d…"   17 minutes ago      Up 17 minutes       0.0.0.0:4444-4445->4444-4445/tcp, 0.0.0.0:5555->5555/tcp   reaction-hydra_hydra_1
6ff41c37fe05        postgres:10.3                          "docker-entrypoint.s…"   17 minutes ago      Up 17 minutes       0.0.0.0:32768->5432/tcp                                    reaction-hydra_postgres_1

On the documentation it says i should have example-storefront_web running, but it's not running after make.

Steps to Reproduce

Please provide starting context, i.e. logged in as a user, configure a particular payment method.

  1. Create Ubuntu box
  2. Login with root
  3. Install Node.js ( i installed version 13 )
  4. Install docker
  5. run make

Clarify platform support and toolchain requirements

Currently we are using GNU make for our task runner in this project. I'd like to clarify what level of support we have for development on Windows, and taking that answer into account, consider whether we should switch to a different toolchain (perhaps something node-based). @roidrage would you like to chime in here?

Facilitate shared env files

Feature Request

We'd like a mechanism for teams to create and managed environment variable files with settings and secrets, and easily and securely incorporate that data into local development environments.

Motivation

  • Sensible defaults for local development are usually but not always sufficient
  • Some values really need to vary per-project or per-team or per-developer
    • Examples: third party service API keys, cloud specific details like S3 bucket paths
  • It's easy for managing this to become a tedious, error-prone, and frustrating experience
    • Teams can lose track of the full up-to-date list of environment variables
    • The knowledge of the current correct values for each setting can become distributed across different developers
  • Currently we don't give timely feedback when values or wrong (although we plan to directly address this separately), so this can cause a developer to go through multiple rounds of wait a long time, get an error message relating to some environment variable, try to correct it, wait a long time, etc. This is a very frustrating experience. It's also very inefficient in terms of developer time.

ENV_PATH solution design

Each project changes its docker-compose.yml file to take advantage of some supported features:

  • docker-compose supports a list of env files
  • the paths to those files can be stored in environment variables
    • Specifying defaults with bash syntax is supported
  • docker-compose handles loading in order with later files overwriting values from earlier files

For example, in core reaction we could have this section in docker-compose.yml

services:
  reaction:
    env_file:
      - "${REACTION_ENV_PATH-./.env}"
      - "${REACTION_ENV2_PATH-./.env2}"

Developers could configure a custom path by setting the corresponding environment variables. This mechanism should support

  • Keybase filesystem paths like /keybase/team/acme/.env.reaction
  • Dropbox when mounted as a local filesystem
  • Google drive when mounted as a local filesystem
    • I use google-drive-ocaml-fuse for this on linux
  • Other local files preconfigured for a particular project or feature branch

Side Benefit

  • This would at least partially also facilitate easier switching between divergent code branches or environments
    • If a developer is working on a new feature branch that requires some new/different values, they can have REACTION_ENV2_PATH=.env2-feature-a and when switching tasks and checking out different git branches, it's just a matter of setting or unsetting that environment variable

Implementation Notes

  • Files at these paths must exist to avoid a docker-compose error (but they can be empty) so bin/setup or other script should ensure at least there exist empty files in the case no REACTION_ENV_PATH environment variables are set
  • The idea would be REACTION_ENV_PATH could be team-shared defaults and developer-specific overrides to that could live at REACTION_ENV2_PATH
  • I think ENV and ENV2 is probably the right number, but I could likely be convinced that either just 1 is sufficient or we should support 3 or 4.

Open Questions

  • Given our general preference for independent microservices, each project would need to have a unique variable name so REACTION_ENV_PATH, STOREFRONT_ENV_PATH, SEARCH_ENV_PATH etc to avoid collisions.
  • However, maybe it's worth considering whether the whole platform should share a single file with unique env var names.

Symlink solution design

Maybe just documenting/testing that the .env and .env2 files being symlinks is sufficient. I have locally tested (on linux) that symlinking my .env to a file in keybase filesystem works fine.

Open Questions

  • How would we want to integrate with a fresh clone and "first big make" flow?
  • Split up the steps?
    • make checkout
    • Script to set up the symlinks
    • make start
  • Support specifying as env vars on your command line?
    • REACTION_ENV_PATH=/path/to/.env make start
      • Scripts then set up the symlink for you

Caveats

  • Would require a bit more skill/comfort from developers with symlink management on macos and linux
  • Could potentially be problematic is we start supporting windows development again
  • I suspect symlinking to a keybase filesystem file might lead to obscure error messages if you try to start reaction-platform when keybase filesystem isn't mounted and available.

Other concerns

  • Need to think about risk of disrupting your team when making changes to the env files. Need to try to be backward compatible, deprecate old names, not remove them until all work on older branches that reference them is complete, etc.
    • Could maybe use timestamp file naming conventions so developers can update their own symlinks when ready: /keybase/team/acme/.env.reaction-2019-03-05
  • Need to understand dependency on cloud filesystems may prevent or hamper offline development work
    • Need to also understand if developers copy files from encrypted cloud filesystems to local to support offline work, they are less likely to be encrypted at rest

Unable to access the GraphQL API

Are you looking for help with getting started on Reaction? Please visit our Reaction documentation.

Prerequisites

  • [x ] Are you running the latest version?
  • Are you able to consistently reproduce the issue?
  • [x ] Did you search the issue queue for existing issue? Search issues

Issue Description

After installing Reaction commerce and opening first page I received error:
"Unable to access the GraphQL API. Is it running and accessible at http://reaction.api.reaction.localhost:3000/graphql-alpha from the Storefront UI server?"

Steps to Reproduce

Please provide starting context, i.e. logged in as a user, configure a particular payment method.

  1. Install Reaction commerce via reaction-platform in docker environment.
  2. Open first page.
  3. See the logs: reaction-next-starterkit$ docker-compose logs -f

Possible Solution

Not obligatory, but suggest a fix/reason for the bug

Versions

Support release tags and upgrades

Issue Description

As we get ready for the final 2.0.0 release and subsequent semver releases following that, I think we need to make sure we have a solid mechanism including documentation and reaction-platform code to how we expect upgrading to newer releases. We have make checkout but I think we need to work through some more things:

  • Repos that need to fetch new tags
  • dealing with uncommitted changes in local work areas

how to install reaction commerce in ubuntu

Are you looking for help with getting started on Reaction? Please visit our Reaction documentation.

Prerequisites

  • Are you running the latest version?
  • Are you able to consistently reproduce the issue?
  • Did you search the issue queue for existing issue? Search issues

Issue Description

Providing a clear description of the issue will enable a developer to quickly reproduce and understand the issue. Please provide a detailed description including images, animation and/or videos. For client issues, include browser console errors, for server issues please add terminal output and stack traces.

Steps to Reproduce

Please provide starting context, i.e. logged in as a user, configure a particular payment method.
1.
2.
3.

Possible Solution

Not obligatory, but suggest a fix/reason for the bug

Versions

make: *** [reaction-hydra] Error 1

## Issue Description
running the make command produces the following errors:

if [ ! -d "reaction-hydra" ] ; then git clone "[email protected]:/reactioncommerce/reaction-hydra.git" "reaction-hydra"; cd reaction-hydra && git checkout "master"; fi
Cloning into 'reaction-hydra'...
ssh: Could not resolve hostname github.com;c: Name or service not known
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
/usr/bin/sh: line 0: cd: reaction-hydra: No such file or directory
Makefile:133: recipe for target 'reaction-hydra' failed
make: *** [reaction-hydra] Error 1

## Steps to Reproduce

  1. Install Docker
  2. configure A GitHub account with a configured SSH key
  3. git clone [email protected]:reactioncommerce/reaction-platform.git
  4. cd reaction-platform
  5. make

### Versions
windows 10
docker Version 2.0.0.2 (30215)

Not getting any output after following get started docs

Prerequisites

  • Are you running the latest version?
  • Are you able to consistently reproduce the issue?
  • Did you search the issue queue for existing issue? Search issues

Issue Description

After following the installation docs here, I am getting nothing showing up on any of the ports listed here:
image with no console or terminal errors.

image

image

Attempting other approaches, if I run reaction on the master branch in the reaction-platform directory, I get an error saying "Not in a Reaction app directory. To create a new app, run: reaction init". If I cd into the reaction directory and then run reaction, I get an error saying "Can't listen on port 3000. Perhaps another Meteor is running? ... App failed to start", so then if I force it onto a free port with reaction --port 8888 I get another error saying "Unable to resolve some modules", but then if I run meteor npm install and try again on the free port, I am finally able to get a store running on that port.

This is all quite different from what the installation docs say, though, and I'm not getting anything on any of the ports that it suggests (see image above), so I'm not sure that I'm doing this right, and I'm not sure what the other directories are for.

Steps to Reproduce

Please provide starting context, i.e. logged in as a user, configure a particular payment method.

  1. git clone [email protected]:reactioncommerce/reaction-platform.git
  2. cd reaction-platform
  3. make

Versions

Reaction v2.0
macOS Mojave v10.14.2
node v8.12.0
Chrome v71.0 or Firefox v64.0

reaction_reaction_1 container exits after a few seconds

Prerequisites

  • Are you running the latest version?
  • Are you able to consistently reproduce the issue?
  • Did you search the issue queue for existing issue? Search issues

Issue Description

I cloned reaction-platform and ran the makefile as described.
All the networks and services have been created and started successfully. But reaction_reaction_1 container exits after few seconds.

docker logs reaction_reaction_1 command output:
up to date in 10.804s
MongoDB replica set initialized and ready.
Error creating Reaction config file: /opt/reaction/src/.reaction/config.json

Remove node and yarn as prerequisites

The README lists node and yarn as prerequisites, but I'm not sure we ever actually use them directly in the host OS. I think it's possible to just have docker handle everything. I am able to run a full reaction 2.0 stack without having them installed in the host OS. Now there could be supporting scripts we sometimes run that need them in one of the repos, but maybe not?

Make `make` command more resilient to misconfigured directory

Issue Description

If any subdirectory underneath the parent doesn't have a Dockerfile the make command errors out and doesn't continue.

Steps to Reproduce

  1. Set up platform
  2. Add a subdirectory without a Dockerfile
  3. run make
  4. Observe error
ERROR: Cannot locate specified Dockerfile: Dockerfile
make: *** [start-reaction-etl-shippable-inventory] Error 1

Possible Solution

Possible check for existence of the file and skip whatever step is trying to use this file

Versions

release-2.0.0-rc.9

make: Makefile 183: build-reaction-hydra error 127

Hi all... trying to install reaction platform on rpi4. Raspbian/Debian/Buster
Have followed the process instructions without too many issues.
have done the ssh key stuff and the prerequisites etc.
Cloned fine and directory exists etc

I do note that there is a statement that docker-compose "not found". The file is definitely there however (though if its valid I do not know). The contents are "Not Found"
Note that this was a second attempt at installing hence the "already exists" messages. These did not occur during the first attempt. There appeared to be no issues until the final error line, which persists.

pi@raspberrypi:~/reaction-platform $ make
Error response from daemon: network with name auth.reaction.localhost already exists
Error response from daemon: network with name api.reaction.localhost already exists
Error response from daemon: network with name streams.reaction.localhost already exists
Running pre-build hook script for reaction-hydra.
reaction-hydra post-project-start script invoked.
/usr/local/bin/docker-compose: 1: /usr/local/bin/docker-compose: Not: not found
make: *** [Makefile:183: build-reaction-hydra] Error 127

make destroy cannot delete files owned by root

If you run make destroy there are some files created inside a container that are owned by root and cannot be deleted by a normal user in the host OS.

rm: cannot remove 'reaction-next-starterkit/src/.next/build-manifest.json': Permission denied
~/work-reaction/reaction-platform -> ls -l reaction-next-starterkit/src/.next/build-manifest.json 
-rw-r--r-- 1 root root 410 Sep 11 15:17 reaction-next-starterkit/src/.next/build-manifest.json

The cleanest solution I think would be running as the same uid in the container as is being used in the host OS. I have done this in some dockerfiles and it seems to work OK but can be tricky to properly support all host OS platforms. Here's pieces of the approach I took:

Dockerfile

FROM foo-bar
ARG USER
ARG UID
ARG GID
RUN adduser --disabled-password --uid ${UID} --gid ${GID} --gecos ${USER} ${USER}

docker-compose build script

docker-compose build \
  --build-arg "USER=${USER}" \
  --build-arg "UID=$(id -u)" \
  --build-arg "GID=$(id -g)"

Add Segment tracking from CLI to RP

As of Reaction 2.0, the https://github.com/reactioncommerce/reaction-cli is removed as a dependency. For 1.x users, the https://github.com/reactioncommerce/reaction-cli will no longer be updated.

Instead of having Segment as a part of the CLI, we'd like to add the Segment features from the CLI into Reaction Platform. Ask @cindyfirestone for credentials for Segment & other specifics on data to be tracked.

Code from CLI: https://github.com/reactioncommerce/reaction-cli/blob/master/src/utils/analytics.js

cc / @cshivaratri @cindyfirestone

Add command to use dev overrides in projects

Starting with Reaction 3.0.0, the projects run the published image by default. To run for development, with host files linked into the container, you must symlink the docker-compose.dev.yml file in a project to docker-compose.override.yml, which Docker Compose then picks up automatically.

Create a command in this platform repo to make this easier. It could either create the symlink for you (effectively "switch" a project to dev mode until switched back) or allow specifying projects that should run in dev mode, adding -f docker-compose.dev.yml option to docker-compose up command (i.e. one time override).

containers unresponsive and then shuts down

Prerequisites

  • Are you running the latest version?
  • Are you able to consistently reproduce the issue?
  • Did you search the issue queue for existing issue? Search issues

Issue Description

Reaction makes ok, starts containsers that consume ~200% cpu, then the load dissappears (~3-4 min). 4000 port keeps loading all the time, 3000 port just shuts down (refuses to connect).

Steps to Reproduce

Please provide starting context, i.e. logged in as a user, configure a particular payment method.

  1. make
  2. try :3000 :4000

Meteor pooling interval still 10000. Latest Mojave, latest Docker, master.

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.