-
WordPress : a simple CMS.
-
MariaDB : the database associated with WordPress.
-
Nginx : the webserver that serves pages of the project, such as WordPress.
-
[Bonus] Adminer: an equivalent to PhpMyAdmin but uglier.
-
[Bonus] Vsftpd: a simple FTP server.
-
[Bonus] Gombling: you wouldn't know, but you would surely try.
-
[Bonus] Grafana: an advanced monitoring service to inspect exporters data.
-
[Bonus] Prometheus: a datasource from exporters to Grafana. Exports metrics.
-
[Bonus] Redis: a caching system for WordPress.
-
[Bonus] Wondercat: an amazing cat images generator.
There are also exporters - containers that are here to scrape and export metrics of other containers - that are plugged to some services, and are serving Prometheus.
List of exporters:
- MariaDB Exporter
- PHP-FPM Exporter
- Redis Exporter
- Nginx Exporter
- Once the Installation steps are done, build and wait for the whole project to be built:
make all- Stopping the containers:
make down- Enabling the containers:
make up- WordPress URL:
https://ehosta.42.fr - Adminer URL:
https://adminer.ehosta.42.fr - Grafana URL:
https://grafana.ehosta.42.fr - Wondercat URL:
https://wondercat.ehosta.42.fr - Gombling URL:
https://gombling.ehosta.42.fr
First, ensure a guardian_conf.toml file exists at root of project.
Then, fill it (example below):
[Secrets]
mysql_root_password="null"
wordpress_admin_user="null"
wordpress_admin_password="null"
wordpress_user="null"
wordpress_password="null"
mysql_exporter_user="null"
mysql_exporter_password="null"
mysql_user="null"
mysql_password="null"
wordpress_email="null"
ftp_user="null"
ftp_password="null"
gf_security_admin_user="null"
gf_security_admin_password="null"
[Environment]
mysql_db_name="wordpress"
mysql_db_host="mariadb"
mysql_db_port=3306
wordpress_domain="ehosta.42.fr"
redis_addr="redis:6379"
nginx_status_url="http://nginx:8080/status"Every "null" value will be automatically generated. Output is into the srcs/ folder, where a .env will be created and a secrets/ folder will be created.
Both of these descriptors are securely generated with stricts permissions.
To check if everything is going well, you can run:
make lsAnd scroll down each section to monitor each container.