Skip to content

Latest commit

 

History

History
89 lines (72 loc) · 2.49 KB

USER_DOC.md

File metadata and controls

89 lines (72 loc) · 2.49 KB

User Documentation

Stack services

  • 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

Start and stop the project

  1. Once the Installation steps are done, build and wait for the whole project to be built:
make all
  1. Stopping the containers:
make down
  1. Enabling the containers:
make up

Access the website and administration panel

  • 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

Locate and manage credentials

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.

Check that the services are running correctly

To check if everything is going well, you can run:

make ls

And scroll down each section to monitor each container.