Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mixerapi/app
A mixerapi/mixerapi application template for Docker Compose and Kubernetes based on the official cakephp/app 4.2 template.
https://github.com/mixerapi/app
cakephp docker docker-compose
Last synced: 6 days ago
JSON representation
A mixerapi/mixerapi application template for Docker Compose and Kubernetes based on the official cakephp/app 4.2 template.
- Host: GitHub
- URL: https://github.com/mixerapi/app
- Owner: mixerapi
- License: mit
- Created: 2021-04-05T23:15:14.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-09-30T00:05:13.000Z (about 2 years ago)
- Last Synced: 2024-04-23T13:58:26.895Z (7 months ago)
- Topics: cakephp, docker, docker-compose
- Language: PHP
- Homepage: https://mixerapi.com
- Size: 367 KB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# MixerAPI App
[![Build](https://github.com/mixerapi/app/actions/workflows/build.yml/badge.svg)](https://github.com/mixerapi/app/actions/workflows/build.yml)
[![MixerApi](https://mixerapi.com/assets/img/mixer-api-red.svg)](http://mixerapi.com)
[![CakePHP](https://img.shields.io/badge/cakephp-4.2-red?logo=cakephp)](https://book.cakephp.org/4/en/index.html)
[![Docker](https://img.shields.io/badge/docker-ffffff.svg?logo=docker)](.docker)
[![Kubernetes](https://img.shields.io/badge/kubernetes-D3D3D3.svg?logo=kubernetes)](.kube)
[![PHP](https://img.shields.io/badge/php-8.1-8892BF.svg?logo=php)](https://hub.docker.com/_/php)
[![NGINX](https://img.shields.io/badge/nginx-1.19-009639.svg?logo=nginx)](https://hub.docker.com/_/nginx)
[![MySQL](https://img.shields.io/badge/mysql-8-00758F.svg?logo=mysql)](https://hub.docker.com/_/mysql)A [mixerapi/mixerapi](https://github.com/mixerapi/mixerapi) application template for Docker Compose and Kubernetes
based on the official [cakephp/app 4.4](https://github.com/cakephp/app) template.This project has been forked from [cnizzardini/cakephp-docker](https://github.com/cnizzardini/cakephp-docker).
#### Dependencies:
- [Docker 20](https://docs.docker.com/engine/release-notes/) or higher
- Make| Service | Host:Port | Docker Host | Image |
|------------------------|----------------|-------------|----------------------------------------------------------------------------------------------|
| PHP8.1-FPM w/ Xdebug 3 | - | php | [cnizzardini/php-fpm-alpine:8.1-latest](https://hub.docker.com/r/cnizzardini/php-fpm-alpine) |
| NGINX 1.19 | localhost:8080 | web | [nginx:1.19-alpine](https://hub.docker.com/_/nginx) |
| MySQL 8 | localhost:3607 | db | [library/mysql:8](https://hub.docker.com/_/mysql) |- [Installation](#installation)
- [MacOS Notes](#mac-notes)
- [Usage](#usage)
- [PHP](#php)
- [MySQL](#mysql)
- [NGINX](#nginx)
- [Xdebug](#xdebug)
- [Reinstall](#reinstall)## Installation
Fork and clone this repository then run:
```console
make init
```That's it! Now just remove `app/*` from [.gitignore](.gitignore). You may also want to remove
[.assets](.assets) and adjust defaults in [.github](.github), [.docker](.docker), and [.kube](.kube).> Note: `make init` and `make init.nocache` output interactively, while `make start` and `make up` do not.
## Mac Notes
1. Change your `SHELL` in the Makefile to `/bin/zsh`. This improves various output from the Makefile such as emoji's.
3. Mac ships with an older version of `sed` so install `gnu-sed` for some targets in the Makefile:
```console
brew install gnu-sed
```Then update `sed` to `gsed` in the Makefile.
## Usage
After install browse to [http://localhost:8080](http://localhost:8080) to see the CakePHP welcome page.
A [Makefile](Makefile) is provided with some optional commands for your convenience. Please review the Makefile as
these commands are not exact aliases of docker-compose commands.| Make Command | Description |
|-------------------------|-----------------------------------------------------------------------------------------|
| `make` | Shows all make target commands |
| `make init` | Runs docker build, docker-compose up, and copies over env files |
| `make init.nocache` | Same as make.init but builds with --no-cache |
| `make start` | Starts services `docker-compose -f .docker/docker-compose.yml start` |
| `make stop` | Stops services `docker-compose -f .docker/docker-compose.yml stop` |
| `make up` | Create and start containers `docker-compose -f .docker/docker-compose.yml up -d` |
| `make down` | Take down and remove all containers `docker-compose -f .docker/docker-compose.yml down` |
| `make restart` | Restarts services `docker-compose -f .docker/docker-compose.yml restart` |
| `make php.sh` | PHP terminal `docker exec -it --user cakephp sh` |
| `make php.restart` | Restarts the PHP container |
| `make db.sh` | DB terminal `docker exec -it sh` |
| `make db.mysql` | MySQL terminal `mysql -u root -h 0.0.0.0 -p --port 3307` |
| `make web.sh` | Web terminal `docker exec -it sh` |
| `make xdebug.on` | Restarts PHP container with xdebug.mode set to debug,coverage |
| `make xdebug.off` | Restarts PHP container with xdebug.mode set to off |
| `make composer.install` | `docker exec composer install --no-interaction` |
| `make composer.test` | `docker exec composer test` |
| `make composer.check` | `docker exec composer check` |### PHP
See [.docker/README.md](.docker/README.md) for details.
Shell:
```console
make php.sh
```Helper commands:
```console
make composer.install
make composer.test
make composer.check
```### MySQL
See [.docker/README.md](.docker/README.md) for details.
Shell:
```console
make db.sh
```MySQL shell (requires mysql client on your localhost):
```console
make db.mysql
```### NGINX
See [.docker/README.md](.docker/README.md) for details.
Shell:
```console
make web.sh
```### Xdebug
Xdebug is disabled by default. To toggle:
```console
make xdebug.on
make xdebug.off
```### PHPStorm + Xdebug
Xdebug 3's default port is `9003`.
Go to `File > Settings > Languages & Frameworks > PHP > Servers`
- Name: `localhost`
- Host: `localhost`
- Port: `8080`
- Debugger: `Xdebug`
- Use path mappings: `Enable`Map your project's app directory to the absolute path on the docker container `/srv/app`
## Reinstall
To completely reinstall delete existing containers and images, then remove the `app/` directory and run `make init`
again.