Inception is a Docker-based web service infrastructure project that sets up a small-scale web hosting environment. It includes a web server (NGINX), a content management system (WordPress), and a database (MariaDB), all running in separate Docker containers.
- NGINX web server with TLSv1.2/TLSv1.3 support
- WordPress + php-fpm
- MariaDB database
- Docker volumes for data persistence
- Docker network for inter-container communication
- Automatic container restart on crash
- Docker
- Docker Compose
- Make
-
Clone the repository:
git clone https://github.com/lkabuci/inception.git cd inception -
Set up your environment variables:
- Copy the
.env.examplefile to.env - Edit the
.envfile with your desired settings
- Copy the
-
Build and start the containers:
make
After successful installation, you can access:
- WordPress site: https://yourdomain.42.fr
- Database: Only accessible internally by WordPress
To stop the services:
make stop To restart the services:
make restart To clean up all containers and volumes:
make fclean inception/ ├── Makefile ├── srcs/ │ ├── docker-compose.yml │ ├── .env │ └── requirements/ │ ├── nginx/ │ ├── wordpress/ │ └── mariadb/ - NGINX configuration:
srcs/requirements/nginx/conf/ - WordPress configuration:
srcs/requirements/wordpress/conf/ - MariaDB configuration:
srcs/requirements/mariadb/conf/
If you encounter any issues, please check the Docker logs:
docker logs <container_name> Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.