Skip to content

This project aims to broaden your knowledge of System Administration by using Docker.

Notifications You must be signed in to change notification settings

MGuardia10/42cursus_inception

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 

Repository files navigation

42cursus_inception

This project aims to broaden your knowledge of System Administration by using Docker.

This project consists in having you set up a small infrastructure composed of different services under specific rules. The whole project has to be done in a virtual machine. You have to use docker compose. You can see the subject HERE.

Docker Bash Makefile

Rules to follow:
  • Each Docker image must have the same name as its corresponding service.
  • Each service has to run in a dedicated container.
  • For performance matters, the containers must be built either from the penultimate stable version of Alpine or Debian.
  • 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).
Diagram of the expected result for mandatory part:
    diagram of expected result
Expected directory structure:
    Expected directory structure

Mandatory part

List of services and volumes to set up for the mandatory part:

  • A Docker container that contains NGINX with TLSv1.2 or TLSv1.3 only.
  • A Docker container that contains WordPress + php-fpm (it must be installed and configured) only without nginx.
  • A Docker container that contains MariaDB only without nginx.
  • A volume that contains your WordPress database.
  • A second volume that contains your WordPress website files.
  • A docker-network that establishes the connection between your containers.

Bonus Part

A Dockerfile must be written for each extra service. Thus, each one of them will run inside its own container and will have, if necessary, its dedicated volume.

Bonus list:

  • Set up redis cache for your WordPress website in order to properly manage the cache.
  • Set up a FTP server container pointing to the volume of your WordPress website.
  • Create a simple static website in the language of your choice except PHP. For example, a showcase site or a site for presenting your resume.
  • Set up Adminer.
  • Set up a service of your choice that you think is useful. I am using Grafana.

Disclaimer

At 42School, almost every project must be written in accordance to the Norm, the school's coding standard. As a result, the implementation of certain parts may appear strange and for sure had room for improvement.

About

This project aims to broaden your knowledge of System Administration by using Docker.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published