https://github.com/blquatre/42-inception
https://github.com/blquatre/42-inception
42 docker docker-compose
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/blquatre/42-inception
- Owner: BLQuatre
- Created: 2025-02-14T00:18:27.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-28T12:10:42.000Z (over 1 year ago)
- Last Synced: 2025-02-28T16:44:42.451Z (over 1 year ago)
- Topics: 42, docker, docker-compose
- Language: Dockerfile
- Homepage:
- Size: 2.93 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Inception
## Introduction
Inception is a project that introduces containerization using Docker and Docker Compose. The goal is to set up a multi-container system with various services, ensuring they run in isolation while communicating effectively.
## Features
- **Nginx**: Reverse proxy and web server.
- **MariaDB**: SQL database server.
- **WordPress**: Content Management System (CMS).
- **Redis**: In-memory caching system.
- **Adminer**: Web-based database management tool.
- **FTP Server**: For remote file transfers.
- **Self-Signed SSL Certificates**: Secure communication with HTTPS.
- **Monitoring (Uptime Kuma)**: Visualizing containers' uptime.
## Prerequisites
- Docker
- Docker Compose
## Installation & Setup
1. Clone the repository:
```sh
git clone https://github.com/BLQuatre/42-Inception BLQuatre-Inception
cd BLQuatre-Inception
```
2. Create the necessary directories for volumes:
```sh
mkdir -p /home/cauvray/data/wordpress /home/cauvray/data/mariadb /home/cauvray/data/uptimekuma
```
3. Copy `.env.example` to `.env` and change all credentials to make it works
```sh
copy srcs/env.example srcs/.env
3. Build and start the containers:
```sh
make
```
4. To stop and remove all containers and the network:
```sh
make down
```
5. To link the wordpress to cauvray.42.fr
```sh
echo "127.0.0.1 cauvray.42.fr" >> /etc/hosts
```
## Website adresses
🌐 [WordPress](https://cauvray.42.fr:443)
🌐 [Portfolio / Small Static Website](http://localhost:7000)
🌐 [Uptime Kuma / Monitoring System](http://localhost:3001)
🌐 [Adminer / DB Management Tool](http://localhost:5000)
## Bonus Implemented
✔️ Adminer for database management
✔️ FTP server for file transfers
✔️ Small static website like a portfolio
✔️ Redis for Wordpress caching
✔️ A container of our choice: I choose Uptime Kuma, a monitoring service
