https://github.com/ejarvinen/42inception
A Docker project for a Wordpress site running on Nginx server employing a MariaDB database
https://github.com/ejarvinen/42inception
bash-scripting docker-compose docker-container dockerfiles mariadb mysql-database nginx-server wordpress
Last synced: 2 months ago
JSON representation
A Docker project for a Wordpress site running on Nginx server employing a MariaDB database
- Host: GitHub
- URL: https://github.com/ejarvinen/42inception
- Owner: ejarvinen
- Created: 2025-02-16T15:22:45.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-24T08:27:48.000Z (about 1 year ago)
- Last Synced: 2025-03-24T09:35:58.080Z (about 1 year ago)
- Topics: bash-scripting, docker-compose, docker-container, dockerfiles, mariadb, mysql-database, nginx-server, wordpress
- Language: Shell
- Homepage:
- Size: 31.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 42Inception
## Description
`Inception` is a system administration project aimed at setting up a small-scale infrastructure using Docker and Docker Compose. The goal is to create and manage multiple services in isolated containers, following best practices in containerization and security.
## Features
- Docker Compose-based container orchestration.
- Services run in separate containers:
- **NGINX** with TLSv1.2 or TLSv1.3 support.
- **WordPress** + php-fpm without NGINX.
- **MariaDB** as a database.
- Persistent storage using Docker volumes.
- Secure networking using a dedicated Docker network.
- Containers restart automatically in case of failure.
- Proper environment variable management with `.env` file.
## Installation
1. Clone the repository:
```
git clone https://github.com/ejarvinen/42Inception.git
```
2. Navigate to the project directory:
```
cd 42Inception
```
3. Build and run the project using:
```
make
```
## Usage
- To start the containers:
```
make up
```
- To stop the containers:
```
make down
```
- To clean up and rebuild:
```
make re
```
## Directory Structure
```
.
├── Makefile
├── srcs
│ ├── docker-compose.yml
│ ├── .env
│ ├── requirements
│ │ ├── mariadb
│ │ ├── nginx
│ │ ├── wordpress
```
## Configuration
- Modify the `.env` file to set up your domain, database credentials, and other configurations.
- The domain name must follow the format `login.42.fr`, where login for this specific project is `emansoor`.
## Security Considerations
- No plaintext passwords in Dockerfiles.
- Environment variables should be stored in `.env`.
- NGINX serves as the only entry point on port 443.