https://github.com/mrsloth-dev/42.inception
https://github.com/mrsloth-dev/42.inception
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/mrsloth-dev/42.inception
- Owner: MrSloth-dev
- Created: 2025-02-03T17:51:09.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-18T10:40:12.000Z (about 1 year ago)
- Last Synced: 2025-03-18T11:35:23.424Z (about 1 year ago)
- Language: Shell
- Size: 1.69 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Inception
A Docker infrastructure project that creates a small virtualized environment with multiple services.
## Core Services
- **NGINX**: Web server with TLSv1.2/TLSv1.3 configuration
- **WordPress**: Content management system with PHP-FPM
- **MariaDB**: Database server
## Bonus Services
- **Redis**: Caching system for WordPress
- **Adminer**: Database management tool
- **FTP Server**: File Transfer Protocol service
- **Portainer**: Container management platform
- **Static Website**: Simple static site
## Project Structure
```
.
├── Makefile
├── secrets/ # Contains all sensitive information
└── srcs/
├── docker-compose.yaml
├── requirements
└── bonus
│ ├── adminer
│ │ ├── conf
│ │ └── tools
│ ├── ftp
│ │ ├── conf
│ │ └── tools
│ ├── portainer
│ │ └── tools
│ └── redis
│ ├── conf
│ └── tools
├── mariadb
│ ├── conf
│ └── tools
├── nginx
│ ├── conf
│ └── tools
├── portainer
│ └── tools
└── wordpress
├── conf
└── tools
```
## Usage
```bash
# Build all containers
make build
# Start services
make up
# Stop services
make down
# Clean all containers and volumes
make clean
# Clean all containers, volumes and data persistent directory ( needs sudo permission)
make fclean
```
## Volumes
The project uses persistent volumes for:
- MariaDB data
- WordPress files
## Network
All services communicate through an internal Docker network called "inception".
## Security
- No passwords in Dockerfiles
- Environment variables for configuration
- Docker secrets for sensitive data
- TLS encryption for web traffic
## Notes
- NGINX is the only entry point to the infrastructure via port 443
- All containers restart automatically in case of a crash