Skip to content

mlouguid/Goku

Repository files navigation

Goku-V1.1

Gogo is the standard development environment used to deploy your app locally or in production, with minimal resource usage to optimize your infrastructure with docker or k8s

Goku app-php | Docker

php PostgreSQL redis nginx docker

Project Requirements

•	Containerized application using PHP, Nginx, PostgreSQL and Redis
•	Simple PHP application code for demonstration
•	CI/CD setup using GitHub Actions
•	Deployment to Kubernetes (K8s)

🚀 To get started quickly, just follow these steps:

💡 Note: Before starting the project locally, make sure you have Docker Desktop and Docker Compose installed on your system.

Once installed, you’re ready to spin up the environment locally.

Clone the repository “Goku”

git clone https://github.com/mlouguid/Goku.git
cd Goku

Infra Project Docker

├── docker-compose.yaml
└── app-php/   # your-project
│    ├── public/
│    │   └── index.php
│    ├── src/
│    ├── composer.json
│    ├── Dockerfile
│    ├── .env
│
├── database
│   └── postgres
│       ├── Dockerfile
│       ├── .env
│       └── init.sql
│ 
├── nginx
│   ├── beta.conf
│   ├── Dockerfile
│   ├── .env
│   └── fastcgi_params
│ 
└── redis
    ├── Dockerfile
    ├── .env
    └── redis.conf      

Deploy to Docker Compose

docker-compose up -d

Goku v1.1 k8s

Goku app-php | k8s

php PostgreSQL redis nginx k8s

Infra Project k8s

kubernetes
k8s
│   ├── deployments
│   │   ├── postgres.yaml  
│   │   ├── nginx.yaml
│   │   ├── php.yaml
│   │   └── redis.yaml
│   ├── pvc
│   │   ├── postgres_pv.yaml   
│   │   └── postgres_pvc.yaml 
│   ├── secrets
│   │   └── postgres_secrets.yaml  
│   └── services
│       ├── postgres_service.yaml 
│       ├── nginx_service.yaml
│       ├── php_service.yaml
│       └── redis_service.yaml

Deploy to k8s

kubectl apply -R -f kubernetes/k8s 

more detail -> kubernetes/README.md

Packages

 
 
 

Contributors