{"id":29719494,"url":"https://github.com/phlearning/inception","last_synced_at":"2026-02-05T08:31:13.645Z","repository":{"id":232202707,"uuid":"756874393","full_name":"phlearning/inception","owner":"phlearning","description":" Ce projet a pour but d'approfondir vos connaissances en vous faisant utiliser Docker. Vous allez virtualiser plusieurs images Docker en les créant dans votre nouvelle machine virtuelle personnelle. ","archived":false,"fork":false,"pushed_at":"2024-06-27T09:09:46.000Z","size":1951,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-24T14:03:18.945Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/phlearning.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-13T13:33:10.000Z","updated_at":"2024-06-27T09:09:49.000Z","dependencies_parsed_at":null,"dependency_job_id":"60c2351e-97ce-4b93-a417-be840a1790f7","html_url":"https://github.com/phlearning/inception","commit_stats":null,"previous_names":["phlearning/inception"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/phlearning/inception","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phlearning%2Finception","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phlearning%2Finception/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phlearning%2Finception/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phlearning%2Finception/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/phlearning","download_url":"https://codeload.github.com/phlearning/inception/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phlearning%2Finception/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29116983,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-05T05:31:32.482Z","status":"ssl_error","status_checked_at":"2026-02-05T05:31:29.075Z","response_time":65,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-07-24T11:44:27.725Z","updated_at":"2026-02-05T08:31:13.640Z","avatar_url":"https://github.com/phlearning.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ft_inception\r\n\r\n## Table of Contents\r\n\r\n- [ft\\_inception](#ft_inception)\r\n  - [Table of Contents](#table-of-contents)\r\n  - [About ](#about-)\r\n    - [What is docker ?](#what-is-docker-)\r\n    - [Setup Details](#setup-details)\r\n  - [Getting Started ](#getting-started-)\r\n    - [Prerequisites](#prerequisites)\r\n    - [Installing](#installing)\r\n  - [Usage ](#usage-)\r\n    - [Make commands](#make-commands)\r\n  - [Acknowledgements ](#acknowledgements-)\r\n\r\n## About \u003ca name = \"about\"\u003e\u003c/a\u003e\r\n\r\nThis project aims to broaden your knowledge of system administration by using Docker. You will virtualize several Docker images, creating them in your new personal virtual machine. **We cannot pull ready-made Docker images**\r\n\r\n\u003e *\"You also have to write your own Dockerfiles, one per service. The Dockerfiles must be called in your docker-compose.yml by your Makefile. It means you have to build yourself the Docker images of your project. It is then forbidden to pull ready-made Docker images, as well as using services such as DockerHub(Alpine/Debian being excluded from this rule).\"* - from the subject\r\n\r\n###  What is docker ?\r\n\r\n- Docker is a platform that enables developers to create, deploy, and run applications in isolated environments called containers.\r\n- Containers package an application and its dependencies, ensuring consistency across different development and production environments.\r\n- By using Docker, developers can easily manage application components, streamline workflows, and improve scalability and performance through efficient resource utilization.\r\n\r\n### Setup Details\r\n\r\n- NGINX Container: Must support TLSv1.2 or TLSv1.3 only.\r\n- WordPress Container: Includes WordPress and php-fpm, configured and installed (without NGINX).\r\n- MariaDB Container: MariaDB only (without NGINX).\r\n- Volumes:\r\n    - One for the WordPress database.\r\n    - One for the WordPress website files.\r\n- Networking: Create a Docker network to connect all containers.\r\n- Container Management: Containers must restart automatically in case of a crash.\r\n\r\n\u003e PS: You should never actually put an environment file (.env) in public or in your github. As it is usually filled with your api keys or access information.\r\n\r\n\r\n## Getting Started \u003ca name = \"getting_started\"\u003e\u003c/a\u003e\r\n\r\nThese instructions will get you a copy of the project up and running on your local machine for development and testing purposes.\r\n\r\n### Prerequisites\r\n\r\n* Docker\r\n  * Go to https://docs.docker.com/get-docker/ and follow the instructions corresponding to your OS.\r\n* Make (to launch Makefile)\r\n* Either Mac or Linux (if not then there is a need to change the home path in the makefile)\r\n\r\n### Installing\r\n\r\n1. Clone the repo\r\n    ```\r\n    git clone https://github.com/phlearning/inception.git\r\n    ```\r\n2. Download docker and docker compose if needed (https://docs.docker.com/get-docker/)\r\n3. Adjust the Makefile\r\n    - Change the login var to your computer's user\r\n\r\n        ```\r\n        To get your user for the makefile:\r\n            `echo ${HOME}`\r\n\r\n        You should get something like this:\r\n            `/home/pvong` - the pvong here is my user\r\n\r\n        Or you can just do:\r\n            `echo ${USER}`\r\n        ```\r\n\r\n4. Change the `.env` file to your liking\r\n   - Note: If you want to run locally change the domains to localhost in the .env file. If not then adjust your `/etc/hosts`\r\n   - If you are in a Virtual Machine you can safely adjust the `/etc/hosts` file to reroute `127.0.0.1` to your domain specified in the .env file.\r\n\r\n5. Launch with `make` in the cli while inside the project folder.\r\n\r\n## Usage \u003ca name = \"usage\"\u003e\u003c/a\u003e\r\n\r\n   1. Use `make` to launch the application\r\n   2. Open your web browser and navigate to `https://localhost:443/` or the domain specified (https://domain:443/), I insist on the https as there is no redirection from http to https in my nginx config. You should now see a wordpress website.\r\n   3. Adjust the `.env` file if you wish to change the user and admin access.\r\n\r\n### Make commands\r\n - `make`: Create the folders, build the images and run the containers.\r\n - `make run-detached`: Run the containers while still accessing the terminal.\r\n - `make down`: To stop and remove the containers.\r\n - `make stop`: To stop the containers, use `make run` to rerun if needed.\r\n - `make clear`: To delete any containers, images, docker networks and volumes.\r\n - `make clean`: To prune any containers and images not in use or named after the given var NAME in the makefile (inception)\r\n - `make fclean`: Similar to make clean but also clean the volumes.\r\n - `make delete-volumes`: To clean only the volumes.\r\n - `make status`: To check the status of the containers, images, volumes and network.\r\n\r\n\r\n## Acknowledgements \u003ca name = \"acknowledgement\"\u003e\u003c/a\u003e\r\n - Help throughout the whole project:\r\n   - [FXC-ai](https://github.com/FXC-ai/Inception)'s help (helped in person 🏆)\r\n   - [Killian-Morin](https://github.com/Killian-Morin/42-Inception)'s help (do take a look at their readme for the sources)\r\n   - https://tuto.grademe.fr/inception/ (🌟 recommend to start with this)\r\n   - https://github.com/vbachele/Inception (🐐 really good)\r\n\r\n - Docker:\r\n   - https://docs.docker.com/\r\n   - https://www.youtube.com/watch?v=gAkwW2tuIqE\r\n\r\n - Nginx:\r\n   - https://docs.nginx.com/\r\n   - http://nginx.org/en/docs/beginners_guide.html\r\n\r\n - MariaDB:\r\n   - https://mariadb.com/kb/en/training-tutorials/\r\n\r\n - Wordpress:\r\n   - Refer to https://github.com/vbachele/Inception\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphlearning%2Finception","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphlearning%2Finception","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphlearning%2Finception/lists"}