Skip to content

Local development

Adam Brown edited this page May 21, 2024 · 29 revisions

Setup your environment

                        _______
                       | ___  o|
                       |[_-_]_ |
    ______________     |[_____]|
   |.------------.|    |[_____]|
   ||            ||    |[====o]|
   ||            ||    |[_.--_]|
   ||            ||    |[_____]|
   ||            ||    |      :|
   ||____________||    |      :|
.==.|""  ......    |.==.|      :|
|::| '-.________.-' |::||      :|
|''|  (__________)-.|''||______:|
`""`_.............._\""`______
  /:::::::::::'':::\`;'-.-.  `\
 /::=========.:.-::"\ \ \--\   \
 \`""""""""""""""""`/  \ \__)   \
  `""""""""""""""""`    '========'

Authenticate local machine to private repositories

We need access on our local machine to our private plugins and themes.

Login to 1Password - Private Packagist and ACF Pro secrets. Get the composer username, token and licence key from the secrets.

Run composer config --global --auth http-basic.repo.packagist.com <composer username> <token> to authenticate your machine to Private Packagist (packagist.com).

Run composer config --global --auth http-basic.connect.advancedcustomfields.com <licence key> <domain> to authenticate your machine to the ACF PRO private repo.

Create, install TLS certs

  1. Run brew install mkcert to install the mkcert app.
  2. Run mkdir -r /bin/certs in the root of this repository, to create a new /certs folder in the bin/ directory.
  3. In the /certs folder run mkcert hale.docker to create the certificates.
  4. Run mkcert -install to apply certificates to your mac.
  5. Run Make build, to build the image and pull in the new cert pem files.

Install Dory (Reverse proxy for running a domain locally)

brew install dory

Run locally using Docker

Make sure you have the .env.local file with correct env vars in the root of this repository.

  1. Run dory up - Make sure to run this command from within the root of the hale-platform repository (it uses the .dory config file).
  2. Run make build. This builds the images required and all assets. WARNING this wipes any previous install.
  3. Run make run to launch the site on https://hale.docker

Developing on themes and plugins

WordPress themes and plugins are loaded as part of the Docker image build. They are pulled into the build using PHP's Composer dependancy manager. To add or remove plugins, modify the composer.json file in the root of this directory.

Once the site is up and running to edit files and push them to GitHub, you need to clone the theme or plugin into the /wordpress/wp-content directory so that they are being used by the local Docker site. These cloned repositories will be wiped out whenever you run make build so make sure any changes are pushed to the remote branch on GitHub.

Clone this wiki locally