{"id":21285346,"url":"https://github.com/izenynn/inception","last_synced_at":"2026-04-11T05:04:20.467Z","repository":{"id":134167881,"uuid":"461912815","full_name":"izenynn/inception","owner":"izenynn","description":"42 cursus: docker and docker-compose project, see README.md for more info.","archived":false,"fork":false,"pushed_at":"2022-03-01T00:53:35.000Z","size":3439,"stargazers_count":0,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-03T14:21:42.457Z","etag":null,"topics":["42","42born2code","adminer","alpine","alpine-image","alpine-linux","docker","docker-compose","dockerfiles","ftp","ftp-server","linux","macos","mariadb","nginx","phpmyadmin","tls","wordpress"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/izenynn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2022-02-21T15:09:20.000Z","updated_at":"2022-02-28T23:43:44.000Z","dependencies_parsed_at":null,"dependency_job_id":"7c736c63-2f6a-4321-b8ee-52ece76a3fbe","html_url":"https://github.com/izenynn/inception","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/izenynn/inception","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/izenynn%2Finception","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/izenynn%2Finception/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/izenynn%2Finception/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/izenynn%2Finception/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/izenynn","download_url":"https://codeload.github.com/izenynn/inception/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/izenynn%2Finception/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31669118,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-10T17:19:37.612Z","status":"online","status_checked_at":"2026-04-11T02:00:05.776Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["42","42born2code","adminer","alpine","alpine-image","alpine-linux","docker","docker-compose","dockerfiles","ftp","ftp-server","linux","macos","mariadb","nginx","phpmyadmin","tls","wordpress"],"created_at":"2024-11-21T11:19:54.004Z","updated_at":"2026-04-11T05:04:20.452Z","avatar_url":"https://github.com/izenynn.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# inception\n\n## Info\n\n42 cursus: docker project.\n\n- Status: finished\n- Result: 125%\n- Observations: (null)\n\n## How to run\n\n- run `make` or `make load` to start the docker-compose containers.\n- run `make stop` to stop the containers.\n- run `make prune` to stop the containers and/or delete the volumes.\n\nNOTE: to change the docker-compose volumes location, you will need to change it in the `Makefile` and on the `srcs/docker-compose.yml` file.\n\nP.S.: you can change variables such as the Domain, users and passwords on the `srcs/.env` file.\n\n## About this project\n\nFor this project we need to setup a simple docker-compose network with the following containers:\n\n- NGINX with TLSv1.2 or TLSv1.3.\n- Wordpress + php-fpm (installed and configured).\n- MariaDB.\n\nWith the following volumes:\n\n- A volume that contains Wordpress database.\n- A volume that contains Wordpress website files.\n\nEach docker container must have his own `Dockerfile` and, of course, have to restart in case of crash\n\nHere is an example diagram of the expected result:\n\n![diagram](https://github.com/izenynn/inception/blob/main/diagram.png)\n*NOTE: I also open the port 80, to recive HTTP connections, but I redirect those to the HTTPS protocol, that's how it should be, and how it is in most websites. Just delete the line of the docker-compose.yml if you don't want the port 80 open.*\n\nI wanted to learn more about Docker so I also do the bonus part of the project, that part requires\nus to setup 5 more containers:\n\n- redis cache, for wordpress.\n- FTP server pointing to the volume of the wordpress site.\n- A static website (Some simple .html, .css and .js files is the web root, so wordpress is now in `https://domain.com/wordpress`).\n- Adminer (a simple tool to manage mysql).\n- A service of my choice, I choose `bind` (a DNS service), because we need to setup the ip resolve manually in `/etc/hosts` to access the web via the domain, so a DNS was fine for that purpouse.\n- I also add PhpMyAdmin because... why not? Simple to install and way better than adminer.\n\nIn addition to the diagram above, I also open the ports 21, 21100-21110 for the FTP server.\n\nConclusion: now I like Docker and I enjoyed this a lot.\n\n*NOTE: the bind container (DNS container) is commented on the docker-compose.yml file because it's not really important, uncomment it if you want it.*\n\n##\n[![forthebadge](https://forthebadge.com/images/badges/built-with-science.svg)](https://forthebadge.com)\n[![forthebadge](https://forthebadge.com/images/badges/it-works-why.svg)](https://forthebadge.com)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fizenynn%2Finception","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fizenynn%2Finception","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fizenynn%2Finception/lists"}