freundcloud

Terraform

This example provisions a Linux App Service which runs multiple Docker Containers from Docker Compose file.

```yaml version: ‘3.3’

services: db: image: mysql:5.7 volumes: - db_data:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD: somewordpress MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress

wordpress: depends_on: - db image: wordpress:latest ports: - “8000:80” restart: always environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: wordpress volumes: db_data:

```plaintext

```hcl provider “azurerm” { features {} }

resource “azurerm_resource_group” “main” { name = “${var.prefix}-resources” location = var.location }

resource “azurerm_app_service_plan” “main” { name = “${var.prefix}-asp” location = azurerm_resource_group.main.location resource_group_name = azurerm_resource_group.main.name kind = “Linux” reserved = true

sku { tier = “Standard” size = “S1” } }

resource “azurerm_app_service” “main” { name = “${var.prefix}-appservice” location = azurerm_resource_group.main.location resource_group_name = azurerm_resource_group.main.name app_service_plan_id = azurerm_app_service_plan.main.id

site_config { app_command_line = “” linux_fx_version = “COMPOSE|${filebase64(“docker-compose.yml”)}” }

app_settings = { “WEBSITES_ENABLE_APP_SERVICE_STORAGE” = “false” } } ```plaintext