πŸ”ͺ WordPress + React Starter Kit: Spin up a WordPress-powered React app in one step

Overview

WordPress + React Starter Kit

Build status

Postlight's Headless WordPress + React Starter Kit is an automated toolset that will spin up three things:

  1. A WordPress backend that serves its data via the WP REST API and GraphQL.
  2. A sample React frontend powered by the WP GraphQL API, which supports posts, pages, categories, menus, search, and user sign-in.
  3. Another sample server-side rendered React frontend using Next.js powered by the WP REST API.

You can read all about it in this handy introduction.

What's inside:

  • An automated installer which bootstraps a core WordPress installation that provides an established, stable REST API.
  • A plugin which exposes a newer, in-progress GraphQL API for WordPress.
  • The WordPress plugins you need to set up custom post types and custom fields (Advanced Custom Fields and Custom Post Type UI).
  • Plugins which expose those custom fields and WordPress menus in the WP REST API (ACF to WP API and WP-REST-API V2 Menus).
  • JWT authentication plugins: JWT WP REST and JWT WP GraphQL.
  • All the starter WordPress theme code and settings headless requires, including pretty permalinks, CORS Allow-Origin headers, and useful logging functions for easy debugging.
  • A mechanism for easily importing data from an existing WordPress installation anywhere on the web using WP Migrate DB Pro and its accompanying plugins (license required).
  • A sample, starter frontend React app powered by GraphQL.
  • Another sample, starter frontend React app, server-side rendered via Next.js, powered by the WP REST API.
  • Docker containers and scripts to manage them, for easily running the frontend React apps and backend locally or deploying it to any hosting provider with Docker support.

Let's get started.

Install

Prerequisite: Before you begin, you need Docker installed. On Linux, you might need to install docker-compose separately.

Docker Compose builds and starts four containers by default: db-headless, wp-headless, frontend & frontend-graphql:

docker-compose up -d

Wait a few minutes for Docker to build the services for the first time. After the initial build, startup should only take a few seconds.

You can follow the Docker output to see build progress and logs:

docker-compose logs -f

Alternatively, you can use some useful Docker tools like Kitematic and/or VSCode Docker plugin to follow logs, start / stop / remove containers and images.

Optional: you can run the frontend locally while WordPress still runs on Docker:

docker-compose up -d wp-headless
cd frontend && yarn && yarn start

Once the containers are running, you can visit the React frontends and backend WordPress admin in your browser.

Frontend

This starter kit provides two frontend containers:

  • frontend container powered by the WP REST API is server-side rendered using Next.js, and exposed on port 3000: http://localhost:3000
  • frontend-graphql container powered by GraphQL, exposed on port 3001: http://localhost:3001

Here's what the frontend looks like:

Frontend Screencast

You can follow the yarn start output by running docker-compose logs command followed by the container name. For example:

docker-compose logs -f frontend

If you need to restart that process, restart the container:

docker-compose restart frontend

PS: Browsing the Next.js frontend in development mode is relatively slow due to the fact that pages are being built on demand. In a production environment, there would be a significant improvement in page load.

Backend

The wp-headless container exposes Apache on host port 8080:

This container includes some development tools:

docker exec wp-headless composer --help
docker exec wp-headless phpcbf --help
docker exec wp-headless phpcs --help
docker exec wp-headless phpunit --help
docker exec wp-headless wp --info

Apache/PHP logs are available via docker-compose logs -f wp-headless.

Database

The db-headless container exposes MySQL on host port 3307:

mysql -uwp_headless -pwp_headless -h127.0.0.1 -P3307 wp_headless

You can also run a mysql shell on the container:

docker exec db-headless mysql -hdb-headless -uwp_headless -pwp_headless wp_headless

Reinstall/Import

To reinstall WordPress from scratch, run:

docker exec wp-headless wp db reset --yes && docker exec wp-headless install_wordpress

To import data from a mysqldump with mysql, run:

docker exec db-headless mysql -hdb-headless -uwp_headless -pwp_headless wp_headless < example.sql
docker exec wp-headless wp search-replace https://example.com http://localhost:8080

Import Data from Another WordPress Installation

You can use a plugin called WP Migrate DB Pro to connect to another WordPress installation and import data from it. (A Pro license will be required.)

To do so, first set MIGRATEDB_LICENSE & MIGRATEDB_FROM in .env and recreate containers to enact the changes.

docker-compose up -d

Then run the import script:

docker exec wp-headless migratedb_import

If you need more advanced functionality check out the available WP-CLI commands:

docker exec wp-headless wp help migratedb

Extend the REST and GraphQL APIs

At this point you can start setting up custom fields in the WordPress admin, and if necessary, creating custom REST API endpoints in the Postlight Headless WordPress Starter theme.

The primary theme code is located in wordpress/wp-content/themes/postlight-headless-wp.

You can also modify and extend the GraphQL API, An example of creating a Custom Type and registering a Resolver is located in: wordpress/wp-content/themes/postlight-headless-wp/inc/graphql.

REST & GraphQL JWT Authentication

To give WordPress users the ability to sign in via the frontend app, use something like the WordPress Salt generator to generate a secret for JWT, then define it in wp-config.php

For the REST API:

define('JWT_AUTH_SECRET_KEY', 'your-secret-here');

For the GraphQL API:

define( 'GRAPHQL_JWT_AUTH_SECRET_KEY', 'your-secret-here');

Make sure to read the JWT REST and JWT GraphQL documentation for more info.

Linting

Remember to lint your code as you go.

To lint WordPress theme modifications, you can use PHP_CodeSniffer like this:

docker exec -w /var/www/html/wp-content/themes/postlight-headless-wp wp-headless phpcs -v .

You may also attempt to autofix PHPCS errors:

docker exec -w /var/www/html/wp-content/themes/postlight-headless-wp wp-headless phpcbf -v .

To lint and format the JavaScript apps, both Prettier and ESLint configuration files are included.

Hosting

Most WordPress hosts don't also host Node applications, so when it's time to go live, you will need to find a hosting service for the frontend.

That's why we've packaged the frontend app in a Docker container, which can be deployed to a hosting provider with Docker support like Amazon Web Services or Google Cloud Platform. For a fast, easier alternative, check out Now.

Troubleshooting Common Errors

Breaking Change Alert - Docker

If you had the project already setup and then updated to a commit newer than 99b4d7b, you will need to go through the installation process again because the project was migrated to Docker. You will need to also migrate MySQL data to the new MySQL db container.

Docker Caching

In some cases, you need to delete the wp-headless image (not only the container) and rebuild it.

CORS errors

If you have deployed your WordPress install and are having CORS issues be sure to update /wordpress/wp-content/themes/postlight-headless-wp/inc/frontend-origin.php with your frontend origin URL.

See anything else you'd like to add here? Please send a pull request!


πŸ”¬ A Labs project from your friends at Postlight. Happy coding!

Comments
  • /bin/sh: 1: ./install.sh: not found on docker for windows using linux containers

    /bin/sh: 1: ./install.sh: not found on docker for windows using linux containers

    I have tried to run docker-compose up -d in windows and I get the following error.

    /bin/sh: 1: ./install.sh: not found
    ERROR: Service 'wp-headless' failed to build: The command '/bin/sh -c ./install.sh' returned a non-zero code: 127
    

    I thought docker is supposed to take care of running the linux container so this should work, I thought. I went and tried to do this is windows linux subsystem in ubuntu, and when I run the same command I get the following error there.

    ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?
    

    Thanks ahead of time

    opened by anderskitson 26
  • yarn run deploy fetchError

    yarn run deploy fetchError

    Hey, this project is awesome! I'm trying to run yarn run deploy but I keep getting this error when I load up localhost:3000

    > next start
    > Ready on http://localhost:3000
    { FetchError: request to http://localhost:8080/wp-json/postlight/v1/page?slug=welcome failed, reason: connect ECONNREFUSED 127.0.0.1:8080
        at ClientRequest.<anonymous> (/usr/src/app/node_modules/node-fetch/index.js:133:11)
        at emitOne (events.js:96:13)
        at ClientRequest.emit (events.js:191:7)
        at Socket.socketErrorListener (_http_client.js:358:9)
        at emitOne (events.js:96:13)
        at Socket.emit (events.js:191:7)
        at emitErrorNT (net.js:1279:8)
        at _combinedTickCallback (internal/process/next_tick.js:80:11)
        at process._tickCallback (internal/process/next_tick.js:104:9)
      name: 'FetchError',
      message: 'request to http://localhost:8080/wp-json/postlight/v1/page?slug=welcome failed, reason: connect ECONNREFUSED 127.0.0.1:8080',
      type: 'system',
      errno: 'ECONNREFUSED',
      code: 'ECONNREFUSED' }
    

    If I visit http://localhost:8080/wp-json/postlight/v1/page?slug=welcome in a browser I get the expected json appearing in the page.

    help wanted 
    opened by TylerBarnes 25
  • Backend Wordpress: Starting up Wordpress Backend getting error Messages.

    Backend Wordpress: Starting up Wordpress Backend getting error Messages.

    I'm just started working with postlight getting this error whenever I start up the WP server. I might have missed a step. Could someone guide me step by step through the repo an again sometimes miss leading? @#


    
    FetchError: invalid json response body at http://localhost:8080/wp-json/menus/v1/menus/header-menu reason: Unexpected token < in JSON at position 0
        at /Users/brandonpowell/headless-wp-starter/frontend/node_modules/node-fetch/lib/body.js:48:31 
        at <anonymous>
        at process._tickCallback (internal/process/next_tick.js:188:7)```
    
    
    
    
    ```Warning: require_once(index.php): failed to open stream: No such file or directory in /private/var/folders/62/rvytymts561_lt66mbcb_c7m0000gn/T/wp-cli-router.php on line 111
    
    Fatal error: require_once(): Failed opening required 'index.php' (include_path='.:') in /private/var/folders/62/rvytymts561_lt66mbcb_c7m0000gn/T/wp-cli-router.php on line 111```
    
    
    
    
    ```Not Found
    The requested resource / was not found on this server.```
    backend 
    opened by brandonpowell 17
  • Issue displaying Custom Fields

    Issue displaying Custom Fields

    I've created a custom field and added some custom text to a post (see screenshot), but don't see my custom text on the frontend. What are the steps I'm missing? Thanks!

    Admin panel: custom_text

    Frontent: frontend

    opened by annamirakk 14
  • Having trouble with custom post types

    Having trouble with custom post types

    I was able to correctly fetch a list of posts. However their single pages "http://localhost:3000/customslug/post" aren't working. Receiving 404 error.

    What am I missing?

    opened by justinledelson 13
  • URL structure (without

    URL structure (without "/page/" and "/post/" )

    I am migrating my Wordpress website to Next.js with the following URL structure: "example.com/awesome-post" "example.com/awesome-page"

    How I can keep the URLs without "/post/" or "/page/", but load the correct post and page, respectively.

    "example.com/awesome-post" instead of "example.com/post/awesome-post" "example.com/awesome-page" instead of "example.com/page/awesome-page"

    opened by tymoxx 12
  • Adjustments for MySQL 8

    Adjustments for MySQL 8

    brew install mysql now installs MySQL 8 by default. The current install script has a couple of issues with MySQL 8. Each commit should clearly document (more or less) the reason behind the fix but with these changes in place I was able to run yarn install successfully.

    This will likely solve a couple of GitHub issues like #104, #94 and #88 (maybe more) but there may be some more follow up (need to read through all of the issues a little more).

    opened by tristanoneil 12
  • error establishing a database connection on local server

    error establishing a database connection on local server

    This is the error I am getting after using nedstark/winteriscoming as username and password. What should my other settings be to get the wordpress back end set up?

    Error establishing a database connection This either means that the username and password information in your wp-config.php file is incorrect or we can’t contact the database server at localhost. This could mean your host’s database server is down.

    Are you sure you have the correct username and password? Are you sure that you have typed the correct hostname? Are you sure that the database server is running?

    opened by kellerchch 12
  • Errors installing Windows 10 LTSC

    Errors installing Windows 10 LTSC

    This project seems so awesome but I am not able to run it, I have tried running from elevated power shell but I keep getting "wp-headless exited with code 127" I have pasted my logs below in hopes someone else using windows can give me some insight. Thanks in advance.

    PS C:\dev\headless-wp-starter> docker-compose logs -f
    Attaching to wp-headless, frontend-graphql, frontend, db-headless
    db-headless         | 2020-05-11 16:04:44+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 1:10.4.12+maria~bionic started.
    db-headless         | 2020-05-11 16:04:51+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
    db-headless         | 2020-05-11 16:04:51+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 1:10.4.12+maria~bionic started.
    db-headless         | 2020-05-11 16:04:52+00:00 [Note] [Entrypoint]: Initializing database files
    frontend            | yarn install v1.22.4
    frontend            | [1/4] Resolving packages...
    frontend            | [2/4] Fetching packages...
    wp-headless         | /usr/bin/env: 'sh\r': No such file or directory
    frontend-graphql    | yarn install v1.22.4
    frontend-graphql    | [1/4] Resolving packages...
    frontend-graphql    | [2/4] Fetching packages...
    wp-headless exited with code 127
    frontend-graphql    | warning [email protected]: Invalid bin field for "mini-css-extract-plugin".
    db-headless         |
    db-headless         |
    db-headless         | PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER !
    db-headless         | To do so, start the server, then issue the following commands:
    db-headless         |
    db-headless         | '/usr/bin/mysqladmin' -u root password 'new-password'
    db-headless         | '/usr/bin/mysqladmin' -u root -h  password 'new-password'
    db-headless         |
    db-headless         | Alternatively you can run:
    db-headless         | '/usr/bin/mysql_secure_installation'
    db-headless         |
    db-headless         | which will also give you the option of removing the test
    db-headless         | databases and anonymous user created by default.  This is
    db-headless         | strongly recommended for production servers.
    db-headless         |
    db-headless         | See the MariaDB Knowledgebase at http://mariadb.com/kb or the
    db-headless         | MySQL manual for more instructions.
    db-headless         |
    db-headless         | Please report any problems at http://mariadb.org/jira
    db-headless         |
    db-headless         | The latest information about MariaDB is available at http://mariadb.org/.
    db-headless         | You can find additional information about the MySQL part at:
    db-headless         | http://dev.mysql.com
    db-headless         | Consider joining MariaDB's strong and vibrant community:
    db-headless         | https://mariadb.org/get-involved/
    db-headless         |
    db-headless         | 2020-05-11 16:05:13+00:00 [Note] [Entrypoint]: Database files initialized
    db-headless         | 2020-05-11 16:05:13+00:00 [Note] [Entrypoint]: Starting temporary server
    db-headless         | 2020-05-11 16:05:13+00:00 [Note] [Entrypoint]: Waiting for server startup
    db-headless         | 2020-05-11 16:05:14 0 [Note] mysqld (mysqld 10.4.12-MariaDB-1:10.4.12+maria~bionic) starting as process 122 ...
    db-headless         | 2020-05-11 16:05:14 0 [Note] InnoDB: Using Linux native AIO
    db-headless         | 2020-05-11 16:05:14 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
    db-headless         | 2020-05-11 16:05:14 0 [Note] InnoDB: Uses event mutexes
    db-headless         | 2020-05-11 16:05:14 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
    db-headless         | 2020-05-11 16:05:14 0 [Note] InnoDB: Number of pools: 1
    db-headless         | 2020-05-11 16:05:14 0 [Note] InnoDB: Using SSE2 crc32 instructions
    db-headless         | 2020-05-11 16:05:14 0 [Note] mysqld: O_TMPFILE is not supported on /tmp (disabling future attempts)
    db-headless         | 2020-05-11 16:05:15 0 [Note] InnoDB: Initializing buffer pool, total size = 256M, instances = 1, chunk size = 128M
    db-headless         | 2020-05-11 16:05:15 0 [Note] InnoDB: Completed initialization of buffer pool
    db-headless         | 2020-05-11 16:05:15 0 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority().
    db-headless         | 2020-05-11 16:05:17 0 [Note] InnoDB: 128 out of 128 rollback segments are active.
    db-headless         | 2020-05-11 16:05:17 0 [Note] InnoDB: Creating shared tablespace for temporary tables
    db-headless         | 2020-05-11 16:05:17 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
    db-headless         | 2020-05-11 16:05:17 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
    db-headless         | 2020-05-11 16:05:17 0 [Note] InnoDB: Waiting for purge to start
    db-headless         | 2020-05-11 16:05:17 0 [Note] InnoDB: 10.4.12 started; log sequence number 61147; transaction id 21
    db-headless         | 2020-05-11 16:05:17 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
    db-headless         | 2020-05-11 16:05:17 0 [Note] Plugin 'FEEDBACK' is disabled.
    db-headless         | 2020-05-11 16:05:17 0 [Warning] 'user' entry 'root@e5545d494c15' ignored in --skip-name-resolve mode.
    db-headless         | 2020-05-11 16:05:17 0 [Warning] 'user' entry '@e5545d494c15' ignored in --skip-name-resolve mode.
    db-headless         | 2020-05-11 16:05:17 0 [Warning] 'proxies_priv' entry '@% root@e5545d494c15' ignored in --skip-name-resolve mode.
    db-headless         | 2020-05-11 16:05:17 0 [Note] InnoDB: Buffer pool(s) load completed at 200511 16:05:17
    db-headless         | 2020-05-11 16:05:18 0 [Note] Reading of all Master_info entries succeeded
    db-headless         | 2020-05-11 16:05:18 0 [Note] Added new Master_info '' to hash table
    db-headless         | 2020-05-11 16:05:18 0 [Note] mysqld: ready for connections.
    db-headless         | Version: '10.4.12-MariaDB-1:10.4.12+maria~bionic'  socket: '/var/run/mysqld/mysqld.sock'  port: 0  mariadb.org binary
    distribution
    db-headless         | 2020-05-11 16:05:18+00:00 [Note] [Entrypoint]: Temporary server started.
    frontend            | info [email protected]: The platform "linux" is incompatible with this module.
    frontend            | info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
    frontend            | [3/4] Linking dependencies...
    frontend            | warning " > [email protected]" has unmet peer dependency "@babel/core@^7.0.0".
    frontend            | warning " > [email protected]" has incorrect peer dependency "eslint-plugin-react-hooks@^1.7.0".
    frontend-graphql    | info [email protected]: The platform "linux" is incompatible with this module.
    frontend-graphql    | info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
    frontend-graphql    | info [email protected]: The platform "linux" is incompatible with this module.
    frontend-graphql    | info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
    frontend-graphql    | [3/4] Linking dependencies...
    frontend-graphql    | warning "react-scripts > @typescript-eslint/[email protected]" has incorrect peer dependency "eslint@^5.0.0".
    frontend-graphql    | warning "react-scripts > @typescript-eslint/[email protected]" has incorrect peer dependency "eslint@^5.0.0".
    frontend-graphql    | warning "react-scripts > @typescript-eslint/eslint-plugin > [email protected]" has unmet peer dependency "typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta".
    frontend-graphql    | warning " > [email protected]" has incorrect peer dependency "eslint-plugin-react-hooks@^1.7.0".
    frontend-graphql    | error An unexpected error occurred: "ENOSYS: function not implemented, lstat '/home/node/app/node_modules/spdy/.travis.yml'".
    frontend-graphql    | info If you think this is a bug, please open a bug report with the information provided in "/home/node/app/yarn-error.log".
    frontend-graphql    | info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
    frontend-graphql exited with code 1
    frontend            | error An unexpected error occurred: "ENOSYS: function not implemented, lstat '/home/node/app/node_modules/parse5/lib/extensions/error-reporting/mixin-base.js'".
    frontend            | info If you think this is a bug, please open a bug report with the information provided in "/home/node/app/yarn-error.log".
    frontend            | info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
    frontend exited with code 1
    db-headless         | Warning: Unable to load '/usr/share/zoneinfo/leap-seconds.list' as time zone. Skipping it.
    wp-headless         | /usr/bin/env: 'sh\r': No such file or directory
    wp-headless         | /usr/bin/env: 'sh\r': No such file or directory
    wp-headless exited with code 127
    frontend            | yarn install v1.22.4
    frontend            | [1/4] Resolving packages...
    frontend-graphql    | yarn install v1.22.4
    frontend-graphql    | [1/4] Resolving packages...
    frontend            | [2/4] Fetching packages...
    frontend-graphql    | [2/4] Fetching packages...
    frontend            | info [email protected]: The platform "linux" is incompatible with this module.
    frontend            | info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
    frontend            | [3/4] Linking dependencies...
    frontend            | warning " > [email protected]" has unmet peer dependency "@babel/core@^7.0.0".
    frontend            | warning " > [email protected]" has incorrect peer dependency "eslint-plugin-react-hooks@^1.7.0".
    frontend-graphql    | info [email protected]: The platform "linux" is incompatible with this module.
    frontend-graphql    | info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
    frontend-graphql    | info [email protected]: The platform "linux" is incompatible with this module.
    frontend-graphql    | info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
    frontend-graphql    | [3/4] Linking dependencies...
    frontend-graphql    | warning "react-scripts > @typescript-eslint/[email protected]" has incorrect peer dependency "eslint@^5.0.0".
    frontend-graphql    | warning "react-scripts > @typescript-eslint/[email protected]" has incorrect peer dependency "eslint@^5.0.0".
    frontend-graphql    | warning "react-scripts > @typescript-eslint/eslint-plugin > [email protected]" has unmet peer dependency "typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta".
    frontend-graphql    | warning " > [email protected]" has incorrect peer dependency "eslint-plugin-react-hooks@^1.7.0".
    wp-headless         | /usr/bin/env: 'sh\r': No such file or directory
    wp-headless         | /usr/bin/env: 'sh\r': No such file or directory
    wp-headless exited with code 127
    wp-headless exited with code 127
    db-headless         | 2020-05-11 16:14:27+00:00 [Note] [Entrypoint]: GENERATED ROOT PASSWORD: iyee9chu8Ig3aciepephueh3eech2hai
    db-headless         | 2020-05-11 16:14:30 10 [Warning] 'proxies_priv' entry '@% root@e5545d494c15' ignored in --skip-name-resolve mode.
    db-headless         | 2020-05-11 16:14:30+00:00 [Note] [Entrypoint]: Creating database wp_headless
    db-headless         | 2020-05-11 16:14:30+00:00 [Note] [Entrypoint]: Creating user wp_headless
    db-headless         | 2020-05-11 16:14:30+00:00 [Note] [Entrypoint]: Giving user wp_headless access to schema wp_headless
    db-headless         | 2020-05-11 16:14:31 14 [Warning] 'proxies_priv' entry '@% root@e5545d494c15' ignored in --skip-name-resolve mode.
    db-headless         |
    db-headless         | 2020-05-11 16:14:31+00:00 [Note] [Entrypoint]: Stopping temporary server
    db-headless         | 2020-05-11 16:14:31 0 [Note] mysqld (initiated by: root[root] @ localhost []): Normal shutdown
    db-headless         | 2020-05-11 16:14:31 0 [Note] Event Scheduler: Purging the queue. 0 events
    db-headless         | 2020-05-11 16:14:31 0 [Note] InnoDB: FTS optimize thread exiting.
    db-headless         | 2020-05-11 16:14:33 0 [Note] InnoDB: Starting shutdown...
    db-headless         | 2020-05-11 16:14:33 0 [Note] InnoDB: Dumping buffer pool(s) to /var/lib/mysql/ib_buffer_pool
    db-headless         | 2020-05-11 16:14:33 0 [Note] InnoDB: Buffer pool(s) dump completed at 200511 16:14:33
    db-headless         | 2020-05-11 16:14:35 0 [Note] InnoDB: Shutdown completed; log sequence number 61156; transaction id 24
    db-headless         | 2020-05-11 16:14:35 0 [Note] InnoDB: Removed temporary tablespace data file: "ibtmp1"
    db-headless         | 2020-05-11 16:14:36 0 [Note] mysqld: Shutdown complete
    db-headless         |
    db-headless         | 2020-05-11 16:14:36+00:00 [Note] [Entrypoint]: Temporary server stopped
    db-headless         |
    db-headless         | 2020-05-11 16:14:36+00:00 [Note] [Entrypoint]: MySQL init process done. Ready for start up.
    db-headless         |
    db-headless         | 2020-05-11 16:14:36 0 [Note] mysqld (mysqld 10.4.12-MariaDB-1:10.4.12+maria~bionic) starting as process 1 ...
    db-headless         | 2020-05-11 16:14:36 0 [Note] InnoDB: Using Linux native AIO
    db-headless         | 2020-05-11 16:14:36 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
    db-headless         | 2020-05-11 16:14:36 0 [Note] InnoDB: Uses event mutexes
    db-headless         | 2020-05-11 16:14:36 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
    db-headless         | 2020-05-11 16:14:36 0 [Note] InnoDB: Number of pools: 1
    db-headless         | 2020-05-11 16:14:36 0 [Note] InnoDB: Using SSE2 crc32 instructions
    db-headless         | 2020-05-11 16:14:36 0 [Note] mysqld: O_TMPFILE is not supported on /tmp (disabling future attempts)
    db-headless         | 2020-05-11 16:14:36 0 [Note] InnoDB: Initializing buffer pool, total size = 256M, instances = 1, chunk size = 128M
    db-headless         | 2020-05-11 16:14:36 0 [Note] InnoDB: Completed initialization of buffer pool
    db-headless         | 2020-05-11 16:14:36 0 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority().
    db-headless         | 2020-05-11 16:14:37 0 [Note] InnoDB: 128 out of 128 rollback segments are active.
    db-headless         | 2020-05-11 16:14:37 0 [Note] InnoDB: Creating shared tablespace for temporary tables
    db-headless         | 2020-05-11 16:14:37 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
    db-headless         | 2020-05-11 16:14:37 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
    db-headless         | 2020-05-11 16:14:37 0 [Note] InnoDB: Waiting for purge to start
    db-headless         | 2020-05-11 16:14:37 0 [Note] InnoDB: 10.4.12 started; log sequence number 61156; transaction id 21
    db-headless         | 2020-05-11 16:14:37 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
    db-headless         | 2020-05-11 16:14:37 0 [Note] Plugin 'FEEDBACK' is disabled.
    db-headless         | 2020-05-11 16:14:38 0 [Note] Server socket created on IP: '::'.
    db-headless         | 2020-05-11 16:14:38 0 [Warning] 'proxies_priv' entry '@% root@e5545d494c15' ignored in --skip-name-resolve mode.
    db-headless         | 2020-05-11 16:14:38 0 [Note] InnoDB: Buffer pool(s) load completed at 200511 16:14:38
    db-headless         | 2020-05-11 16:14:38 0 [Note] Reading of all Master_info entries succeeded
    db-headless         | 2020-05-11 16:14:38 0 [Note] Added new Master_info '' to hash table
    db-headless         | 2020-05-11 16:14:38 0 [Note] mysqld: ready for connections.
    db-headless         | Version: '10.4.12-MariaDB-1:10.4.12+maria~bionic'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  mariadb.org binary distribution
    wp-headless         | /usr/bin/env: 'sh\r': No such file or directory
    wp-headless exited with code 127
    wp-headless exited with code 127
    
    opened by IntrovertedFL 11
  • mysql: unrecognized service in Docker container

    mysql: unrecognized service in Docker container

    I've been troubleshooting this issue with my team of engineers for a few days now. Everything works great locally but when deploying to a remote VM we run into mysql issues. I have an EC2 ubuntu VM running the backend docker container. the yarn docker:build command works fine. When I run yarn docker:start I get mysql: unrecognized service and all of the following commands naturally fail.

    I've run /bin/bash on the container to poke around - service mysql start in the container does not work. I've tried manually running through the steps of the Dockerfile inside the container to find an issue and everything installs correctly. If I look at services running in the container I get

    root@bb44f25a98af:/usr/src/app# service --status-all
     [ + ]  apache-htcacheclean
     [ - ]  apache2
     [ ? ]  hwclock.sh
     [ - ]  procps
    

    Any suggestions?

    opened by karatechops 11
  • I cannot install npm install && npm start

    I cannot install npm install && npm start

    mv: cannot create regular file '/usr/bin/robo': Permission denied

    [email protected] postinstall /home/nanda/Documents/07_react/headless-wp-starter-master robo wordpress:setup

    sh: 1: robo: not found npm ERR! file sh npm ERR! code ELIFECYCLE npm ERR! errno ENOENT npm ERR! syscall spawn npm ERR! [email protected] postinstall: robo wordpress:setup npm ERR! spawn ENOENT npm ERR! npm ERR! Failed at the [email protected] postinstall script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm WARN Local package.json exists, but node_modules missing, did you mean to install?

    npm ERR! A complete log of this run can be found in: npm ERR! /home/nanda/.npm/_logs/2018-05-08T03_19_39_205Z-debug.log

    needsdetail backend 
    opened by nandapuspitarana 11
  • chore(deps): bump json5 from 1.0.1 to 1.0.2 in /frontend-graphql

    chore(deps): bump json5 from 1.0.1 to 1.0.2 in /frontend-graphql

    Bumps json5 from 1.0.1 to 1.0.2.

    Release notes

    Sourced from json5's releases.

    v1.0.2

    • Fix: Properties with the name __proto__ are added to objects and arrays. (#199) This also fixes a prototype pollution vulnerability reported by Jonathan Gregson! (#295). This has been backported to v1. (#298)
    Changelog

    Sourced from json5's changelog.

    Unreleased [code, diff]

    v2.2.3 [code, diff]

    v2.2.2 [code, diff]

    • Fix: Properties with the name __proto__ are added to objects and arrays. (#199) This also fixes a prototype pollution vulnerability reported by Jonathan Gregson! (#295).

    v2.2.1 [code, diff]

    • Fix: Removed dependence on minimist to patch CVE-2021-44906. (#266)

    v2.2.0 [code, diff]

    • New: Accurate and documented TypeScript declarations are now included. There is no need to install @types/json5. (#236, #244)

    v2.1.3 [code, diff]

    • Fix: An out of memory bug when parsing numbers has been fixed. (#228, #229)

    v2.1.2 [code, diff]

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • a Composer plugin which is blocked by your allow-plugins config.

    a Composer plugin which is blocked by your allow-plugins config.

    docker compose up -d

    #0 6.143 In PluginManager.php line 738: #0 6.143
    #0 6.143 dealerdirect/phpcodesniffer-composer-installer (installed globally) contain
    #0 6.143 s a Composer plugin which is blocked by your allow-plugins config. You may
    #0 6.143 add it to the list if you consider it safe.
    #0 6.143 You can run "composer global config --no-plugins allow-plugins.dealerdirect
    #0 6.143 /phpcodesniffer-composer-installer [true|false]" to enable it (true) or dis
    #0 6.143 able it explicitly and suppress this exception (false)
    #0 6.143 See https://getcomposer.org/allow-plugins

    opened by artemkozlenkov 0
  • chore(deps): bump express from 4.17.2 to 4.18.2 in /frontend-graphql

    chore(deps): bump express from 4.17.2 to 4.18.2 in /frontend-graphql

    Bumps express from 4.17.2 to 4.18.2.

    Release notes

    Sourced from express's releases.

    4.18.2

    4.18.1

    • Fix hanging on large stack of sync routes

    4.18.0

    ... (truncated)

    Changelog

    Sourced from express's changelog.

    4.18.2 / 2022-10-08

    4.18.1 / 2022-04-29

    • Fix hanging on large stack of sync routes

    4.18.0 / 2022-04-25

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • chore(deps): bump express from 4.17.1 to 4.17.3 in /frontend

    chore(deps): bump express from 4.17.1 to 4.17.3 in /frontend

    Bumps express from 4.17.1 to 4.17.3.

    Release notes

    Sourced from express's releases.

    4.17.3

    4.17.2

    Changelog

    Sourced from express's changelog.

    4.17.3 / 2022-02-16

    4.17.2 / 2021-12-16

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • chore(deps): bump loader-utils from 1.4.0 to 1.4.2 in /frontend-graphql

    chore(deps): bump loader-utils from 1.4.0 to 1.4.2 in /frontend-graphql

    Bumps loader-utils from 1.4.0 to 1.4.2.

    Release notes

    Sourced from loader-utils's releases.

    v1.4.2

    1.4.2 (2022-11-11)

    Bug Fixes

    v1.4.1

    1.4.1 (2022-11-07)

    Bug Fixes

    Changelog

    Sourced from loader-utils's changelog.

    1.4.2 (2022-11-11)

    Bug Fixes

    1.4.1 (2022-11-07)

    Bug Fixes

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • chore(deps): bump loader-utils from 1.4.0 to 1.4.2 in /frontend

    chore(deps): bump loader-utils from 1.4.0 to 1.4.2 in /frontend

    Bumps loader-utils from 1.4.0 to 1.4.2.

    Release notes

    Sourced from loader-utils's releases.

    v1.4.2

    1.4.2 (2022-11-11)

    Bug Fixes

    v1.4.1

    1.4.1 (2022-11-07)

    Bug Fixes

    Changelog

    Sourced from loader-utils's changelog.

    1.4.2 (2022-11-11)

    Bug Fixes

    1.4.1 (2022-11-07)

    Bug Fixes

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
Releases(v2.0)
Owner
Postlight
Postlight designs and builds apps for web and mobile in New York City.
Postlight
Laravel React Webpack Starter Kit

About Laravel Laravel React Webpack Starter Kit This starter kit is designed to get you up and running with with react.js with Laravel, built on top o

Biju Nakarmi 32 Nov 24, 2022
React laravel starter kit with tailwind css and vite js(laravel 9)

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

Jerald Tonmoy Dias 2 Dec 23, 2022
One click, Fully Decoupled Drupal Site starter-kit with Druxt

DruxtSite quickstart - Drupal One click, Fully Decoupled Drupal Site starter-kit with Druxt. DruxtSite connects Drupal to Nuxt via JSON:API to provide

DruxtJS 12 Jan 3, 2023
WP React Plugin Boilerplate - WordPress Setting via React and Rest API

WP React Plugin Boilerplate is a starter WordPress plugin to develop WordPress Plugin via React and Rest API. WP React Plugin Boilerplate WP React Plu

Santosh Kunwar 36 Dec 6, 2022
Laravel API starter Kit will provide you with the tools for making API's that everyone will love

Laravel API Starter Kit Laravel API starter Kit will provide you with the tools for making API's that everyone will love, API Authentication is alread

Jose Luis Fonseca 400 Dec 29, 2022
A Laravel Starter Kit for Laravel. Built with Laravel 8.

Laravel Get Started Project Laravel Get Started Project is a basic crud app built with laravel 8. In this app a basic product crud created. Features i

Nazmul Hasan Robin 8 Nov 24, 2022
Laravel + Livewire + Bootstrap 5 UI starter kit.

bastinald/ui Laravel + Livewire + Bootstrap 5 UI starter kit. Requirements Laravel 8 NPM Features Bootstrap 5 pre-configured Textarea autosize Floatin

null 83 Dec 26, 2022
Wave - The Software as a Service Starter Kit, designed to help you build the SAAS of your dreams πŸš€ πŸ’°

Introduction Wave is a Software as a Service Starter Kit that can help you build your next great idea ?? . Wave is built with Laravel, Voyager, Tailwi

null 4.2k Jan 4, 2023
a free, open-source dashboard panel starter kit for Laravel

QAdmin a free, open-source dashboard panel starter kit for Laravel. Just intall and everything is ready Tech Stack Client: ruangAdmin, Bootstrap, Jque

null 30 Oct 11, 2022
Dynamic Framework :: A PHP starter kit for Noobs

A PHP starter kit for Noobs Author : Abdulbasit Rubeiyya The dynamic framework is not exactly a framework, but more of a starter kit for you, the thin

Abdulbasit Rubeiyya 1 Dec 16, 2022
Starter-kit for running a Drupal 9 website with Tome in Gitpod

DrupalPod + Tome Starter-kit Starter-kit for running a Drupal 9 website with Tome in Gitpod Getting started Click the Use this template button in GitH

DrupalPod 3 Apr 15, 2022
Starter-kit for running a Drupal 9 website in Gitpod

DrupalPod Starter-kit Starter-kit for running a Drupal 9 website in Gitpod Getting started Click the Use this template button in GitHub and follow the

DrupalPod 9 Nov 3, 2022
A simple starter kit for using TypedCMS with the Laravel framework.

TypedCMS Starter Kit for Laravel Our stater kits are tailored solutions for each platform, unlike the simple API wrappers offered by other vendors. Th

TypedCMS 1 Nov 20, 2021
πŸ‘” Enterprise Web application starter kit or template using Laravel

Laravel Enterprise Starter Kit (LESK) Description LESK, is a template project based on the Laravel LTS, combining a set of features that can kick star

Sebastien Routier 1 Dec 31, 2020
A Laravel-Nuxt starter kit.

Laravel-Nuxt A Laravel-Nuxt starter project template. Features Nuxt 2 Laravel 8 SPA or SSR Socialite integration VueI18n + ESlint + Bootstrap 4 + Font

Cretu Eusebiu 1.1k Jan 5, 2023
A Laravel-Vue-Tailwind SAAS Starter Kit.

Super SAAS Template My name is Julien Nahum, I've founded multiple Software-As-A-Service companies. This repo is the base I'm using to create a new SA

Julien Nahum 16 Dec 23, 2022
A Laravel-Vue SPA starter kit.

Laravel-Vue SPA A Laravel-Vue SPA starter kit. Features Laravel 8 Vue + VueRouter + Vuex + VueI18n + ESlint Pages with dynamic import and custom layou

Cretu Eusebiu 3k Jan 6, 2023
A starter kit that integrates Laravel with Vue CLI, Inertia.js, TailwindCSS and Vuetify

Laravel Viltify Laravel Viltify is a heavily opinionated Laravel starter kit. It's intent is to seamlessly integrate V ue, I nertia.js, L aravel, T ai

Matheus Dal'Pizzol 50 Jan 4, 2023
An administration starter kit for Laravel.

Craftable About Demo Packages used Requirements Installation New project Add to existing project Basics Documentation Where to go next? About Hi Craft

BRACKETS 862 Jan 4, 2023