diff --git a/exemples-terraform/main.tf b/exemples-terraform/base-nginx/main.tf similarity index 100% rename from exemples-terraform/main.tf rename to exemples-terraform/base-nginx/main.tf diff --git a/exemples-terraform/stack-wordpress/main.tf b/exemples-terraform/stack-wordpress/main.tf new file mode 100644 index 0000000000000000000000000000000000000000..0ae8e41d56a4fa30343aca46403f879545789297 --- /dev/null +++ b/exemples-terraform/stack-wordpress/main.tf @@ -0,0 +1,69 @@ +terraform { + required_providers { + docker = { + source = "kreuzwerker/docker" + version = "3.0.2" + } + } +} + +variable "docker_api_path" { + type = string + description = "Chemin d'accès à l'API (via tcp ou unix)" +} + +provider "docker" { + host = var.docker_api_path +} + +resource "docker_network" "private_network" { + name = "wpnet_form_docker" +} + +resource "docker_volume" "wpdb_form_docker" { + name = "wpdb_form_docker" +} + +resource "docker_volume" "wphtml_form_docker" { + name = "wphtml_form_docker" +} + +resource "docker_container" "db_form_docker" { + name = "db" + image = "mariadb:latest" + restart = "always" + network_mode = "wpnet_form_docker" + mounts { + type = "volume" + target = "/var/lib/mysql" + source = "wpdb_form_docker" + } + env = [ + "MYSQL_ROOT_PASSWORD=mdprootmysql", + "MYSQL_DATABASE=wordpress", + "MYSQL_USER=wpuser", + "MYSQL_PASSWORD=wppassword" + ] +} + +resource "docker_container" "wordpress_form_docker" { + name = "wordpress" + image = "wordpress:latest" + restart = "always" + network_mode = "wp_net" + env = [ + "WORDPRESS_DB_HOST=db", + "WORDPRESS_DB_USER=exampleuser", + "WORDPRESS_DB_PASSWORD=examplepass", + "WORDPRESS_DB_NAME=wordpress" + ] + ports { + internal = "80" + external = "5555" + } + mounts { + type = "volume" + target = "/var/www/html" + source = "wphtml_form_docker" + } +} \ No newline at end of file