mirror of
https://github.com/bunkerity/bunkerweb
synced 2026-05-24 09:28:37 +00:00
docs - add azure integration
This commit is contained in:
parent
4f3f662d80
commit
bc18af9b44
5 changed files with 311 additions and 1 deletions
11
README.md
11
README.md
|
|
@ -147,6 +147,7 @@ The following integrations are officially supported :
|
|||
- [Docker autoconf](https://docs.bunkerweb.io/1.5.7/integrations/?utm_campaign=self&utm_source=github#docker-autoconf)
|
||||
- [Kubernetes](https://docs.bunkerweb.io/1.5.7/integrations/?utm_campaign=self&utm_source=github#kubernetes)
|
||||
- [Swarm](https://docs.bunkerweb.io/1.5.7/integrations/?utm_campaign=self&utm_source=github#swarm)
|
||||
- [Microsoft Azure](https://docs.bunkerweb.io/1.5.7/integrations/?utm_campaign=self&utm_source=github#microsoft-azure)
|
||||
|
||||
## Settings
|
||||
|
||||
|
|
@ -285,6 +286,16 @@ You will find more information in the [Linux section](https://docs.bunkerweb.io/
|
|||
> [!IMPORTANT]
|
||||
> As of Ubuntu 24.04, the `nginx` package is not available in the official repository. You will need to use the `jammy` repository to install NGINX 1.24.0. Also we do not yet run automated tests on Ubuntu 24.04, so please consider this version as experimental.
|
||||
|
||||
## Microsoft Azure
|
||||
|
||||
<p align="center">
|
||||
<img alt="Azure banner" src="https://github.com/bunkerity/bunkerweb/raw/v1.5.7/docs/assets/img/integration-azure.webp" />
|
||||
</p>
|
||||
|
||||
BunkerWeb is refferenced in [Azure Marketplace](https://azuremarketplace.microsoft.com/fr-fr/marketplace/apps/bunkerity.bunkerweb?tab=Overview) and a ARM template is available in the [Misc folder](https://github.com/bunkerity/bunkerweb/raw/v1.5.7/misc/integrations/azure-arm-template.json)
|
||||
|
||||
You will find more information in the [Microsoft Azure](https://docs.bunkerweb.io/1.5.7/integrations/?utm_campaign=self&utm_source=github#microsoft-azure) of the documentation.
|
||||
|
||||
# Quickstart guide
|
||||
|
||||
Once you have setup BunkerWeb with the integration of your choice, you can follow the [quickstart guide](https://docs.bunkerweb.io/1.5.7/quickstart-guide/?utm_campaign=self&utm_source=github) that will cover the following common use cases :
|
||||
|
|
|
|||
8
docs/assets/img/integration-azure-deploy.svg
Normal file
8
docs/assets/img/integration-azure-deploy.svg
Normal file
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 7.4 KiB |
BIN
docs/assets/img/integration-azure.webp
Normal file
BIN
docs/assets/img/integration-azure.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 19 KiB |
|
|
@ -1151,4 +1151,59 @@ networks:
|
|||
bw-services:
|
||||
external: true
|
||||
name: bw-services
|
||||
```
|
||||
```
|
||||
|
||||
## Microsoft Azure
|
||||
|
||||
<figure markdown>
|
||||
{ align=center, width="600" }
|
||||
<figcaption>Azure integration</figcaption>
|
||||
</figure>
|
||||
|
||||
!!! info "Recommended VM size"
|
||||
Please be aware while you choose the SKU of the VM. You must select a SKU compatible with Gen2 VM and we recommend starting at B2s or Ds2 series for optimal use.
|
||||
|
||||
You can easily deploy BunkerWeb on your Azure subscription in several ways:
|
||||
|
||||
- Azure CLI in Cloud Shell
|
||||
- Azure ARM Template
|
||||
- Azure portal via the Marketplace
|
||||
|
||||
=== "Cloud Shell"
|
||||
|
||||
Create a resource group. Replace value `RG_NAME`
|
||||
|
||||
```bash
|
||||
az group create --name "RG_NAME" --location "LOCATION"
|
||||
```
|
||||
|
||||
Create a VM with `Standard_B2s` SKU in the location of the resource group. Replace values `RG_NAME`, `VM_NAME`, `VNET_NAME`, `SUBNET_NAME`
|
||||
|
||||
```bash
|
||||
|
||||
az vm create --resource-group "RG_NAME" --name "VM_NAME" --image bunkerity:bunkerweb:bunkerweb:latest --accept-term --generate-ssh-keys --vnet-name "VNET_NAME" --size Standard_B2s --subnet "SUBNET_NAME"
|
||||
```
|
||||
|
||||
Full command. Replace values `RG_NAME`, `VM_NAME`, `LOCATION`, `HOSTNAME`, `USERNAME`, `PUBLIC_IP`, `VNET_NAME`, `SUBNET_NAME`, `NSG_NAME`
|
||||
|
||||
```bash
|
||||
az vm create --resource-group "RG_NAME" --name "VM_NAME" --location "LOCATION" --image bunkerity:bunkerweb:bunkerweb:latest --accept-term --generate-ssh-keys --computer-name "HOSTNAME" --admin-username "USERNAME" --public-ip-address "PUBLIC_IP" --public-ip-address-allocation Static --size Standard_B2s --public-ip-sku Standard --os-disk-delete-option Delete --nic-delete-option Delete --vnet-name "VNET_NAME" --subnet "SUBNET_NAME" --nsg "NSG_NAME"
|
||||
```
|
||||
|
||||
=== "ARM Template"
|
||||
|
||||
!!! info "Permissions requirement"
|
||||
To deploy a ARM template, you need write access on the resources you're deploying and access to all operations on the Microsoft.Resources/deployments resource type.
|
||||
To deploy a virtual machine, you need Microsoft.Compute/virtualMachines/write and Microsoft.Resources/deployments/* permissions. The what-if operation has the same permission requirements.
|
||||
|
||||
Deploy the ARM Template:
|
||||
|
||||
[](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2Fbunkerity%2Fbunkerweb%2Fmaster%2Fmisc%2Fintegrations%2Fazure-arm-template.json){:target="_blank"}
|
||||
|
||||
=== "Marketplace"
|
||||
|
||||
Login in [Azure portal](https://portal.azure.com){:target="_blank"}.
|
||||
|
||||
Get BunkerWeb from the [Create ressource menu](https://portal.azure.com/#view/Microsoft_Azure_Marketplace/GalleryItemDetailsBladeNopdl/id/bunkerity.bunkerweb){:target="_blank"}.
|
||||
|
||||
You can also go through the [Marketplace](https://azuremarketplace.microsoft.com/fr-fr/marketplace/apps/bunkerity.bunkerweb?tab=Overview){:target="_blank"}.
|
||||
236
misc/integrations/azure-arm-template.json
Normal file
236
misc/integrations/azure-arm-template.json
Normal file
|
|
@ -0,0 +1,236 @@
|
|||
{
|
||||
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
|
||||
"contentVersion": "1.0.0.0",
|
||||
"parameters": {
|
||||
"location": {
|
||||
"type": "string"
|
||||
},
|
||||
"networkInterfaceName1": {
|
||||
"type": "string"
|
||||
},
|
||||
"networkSecurityGroupName": {
|
||||
"type": "string"
|
||||
},
|
||||
"networkSecurityGroupRules": {
|
||||
"type": "array"
|
||||
},
|
||||
"subnetName": {
|
||||
"type": "string"
|
||||
},
|
||||
"virtualNetworkName": {
|
||||
"type": "string"
|
||||
},
|
||||
"addressPrefixes": {
|
||||
"type": "array"
|
||||
},
|
||||
"subnets": {
|
||||
"type": "array"
|
||||
},
|
||||
"publicIpAddressName1": {
|
||||
"type": "string"
|
||||
},
|
||||
"publicIpAddressType": {
|
||||
"type": "string"
|
||||
},
|
||||
"publicIpAddressSku": {
|
||||
"type": "string"
|
||||
},
|
||||
"pipDeleteOption": {
|
||||
"type": "string"
|
||||
},
|
||||
"virtualMachineName": {
|
||||
"type": "string"
|
||||
},
|
||||
"virtualMachineName1": {
|
||||
"type": "string"
|
||||
},
|
||||
"virtualMachineComputerName1": {
|
||||
"type": "string"
|
||||
},
|
||||
"virtualMachineRG": {
|
||||
"type": "string"
|
||||
},
|
||||
"osDiskType": {
|
||||
"type": "string"
|
||||
},
|
||||
"osDiskDeleteOption": {
|
||||
"type": "string"
|
||||
},
|
||||
"virtualMachineSize": {
|
||||
"type": "string"
|
||||
},
|
||||
"nicDeleteOption": {
|
||||
"type": "string"
|
||||
},
|
||||
"hibernationEnabled": {
|
||||
"type": "bool"
|
||||
},
|
||||
"adminUsername": {
|
||||
"type": "string"
|
||||
},
|
||||
"securityType": {
|
||||
"type": "string"
|
||||
},
|
||||
"secureBoot": {
|
||||
"type": "bool"
|
||||
},
|
||||
"vTPM": {
|
||||
"type": "bool"
|
||||
},
|
||||
"virtualMachine1Zone": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"variables": {
|
||||
"nsgId": "[resourceId(resourceGroup().name, 'Microsoft.Network/networkSecurityGroups', parameters('networkSecurityGroupName'))]",
|
||||
"vnetName": "[parameters('virtualNetworkName')]",
|
||||
"vnetId": "[resourceId(resourceGroup().name,'Microsoft.Network/virtualNetworks', parameters('virtualNetworkName'))]",
|
||||
"subnetRef": "[concat(variables('vnetId'), '/subnets/', parameters('subnetName'))]"
|
||||
},
|
||||
"resources": [
|
||||
{
|
||||
"name": "[parameters('networkInterfaceName1')]",
|
||||
"type": "Microsoft.Network/networkInterfaces",
|
||||
"apiVersion": "2022-11-01",
|
||||
"location": "[parameters('location')]",
|
||||
"dependsOn": [
|
||||
"[concat('Microsoft.Network/networkSecurityGroups/', parameters('networkSecurityGroupName'))]",
|
||||
"[concat('Microsoft.Network/virtualNetworks/', parameters('virtualNetworkName'))]",
|
||||
"[concat('Microsoft.Network/publicIpAddresses/', parameters('publicIpAddressName1'))]"
|
||||
],
|
||||
"properties": {
|
||||
"ipConfigurations": [
|
||||
{
|
||||
"name": "ipconfig1",
|
||||
"properties": {
|
||||
"subnet": {
|
||||
"id": "[variables('subnetRef')]"
|
||||
},
|
||||
"privateIPAllocationMethod": "Dynamic",
|
||||
"publicIpAddress": {
|
||||
"id": "[resourceId(resourceGroup().name, 'Microsoft.Network/publicIpAddresses', parameters('publicIpAddressName1'))]",
|
||||
"properties": {
|
||||
"deleteOption": "[parameters('pipDeleteOption')]"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"networkSecurityGroup": {
|
||||
"id": "[variables('nsgId')]"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "[parameters('networkSecurityGroupName')]",
|
||||
"type": "Microsoft.Network/networkSecurityGroups",
|
||||
"apiVersion": "2020-05-01",
|
||||
"location": "[parameters('location')]",
|
||||
"properties": {
|
||||
"securityRules": "[parameters('networkSecurityGroupRules')]"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "[parameters('virtualNetworkName')]",
|
||||
"type": "Microsoft.Network/virtualNetworks",
|
||||
"apiVersion": "2023-02-01",
|
||||
"location": "[parameters('location')]",
|
||||
"properties": {
|
||||
"addressSpace": {
|
||||
"addressPrefixes": "[parameters('addressPrefixes')]"
|
||||
},
|
||||
"subnets": "[parameters('subnets')]"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "[parameters('publicIpAddressName1')]",
|
||||
"type": "Microsoft.Network/publicIpAddresses",
|
||||
"apiVersion": "2020-08-01",
|
||||
"location": "[parameters('location')]",
|
||||
"properties": {
|
||||
"publicIpAllocationMethod": "[parameters('publicIpAddressType')]"
|
||||
},
|
||||
"sku": {
|
||||
"name": "[parameters('publicIpAddressSku')]"
|
||||
},
|
||||
"zones": [
|
||||
"[parameters('virtualMachine1Zone')]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "[parameters('virtualMachineName1')]",
|
||||
"type": "Microsoft.Compute/virtualMachines",
|
||||
"apiVersion": "2024-03-01",
|
||||
"location": "[parameters('location')]",
|
||||
"dependsOn": [
|
||||
"[concat('Microsoft.Network/networkInterfaces/', parameters('networkInterfaceName1'))]"
|
||||
],
|
||||
"properties": {
|
||||
"hardwareProfile": {
|
||||
"vmSize": "[parameters('virtualMachineSize')]"
|
||||
},
|
||||
"storageProfile": {
|
||||
"osDisk": {
|
||||
"createOption": "fromImage",
|
||||
"managedDisk": {
|
||||
"storageAccountType": "[parameters('osDiskType')]"
|
||||
},
|
||||
"deleteOption": "[parameters('osDiskDeleteOption')]"
|
||||
},
|
||||
"imageReference": {
|
||||
"publisher": "bunkerity",
|
||||
"offer": "bunkerweb",
|
||||
"sku": "bunkerweb",
|
||||
"version": "latest"
|
||||
}
|
||||
},
|
||||
"networkProfile": {
|
||||
"networkInterfaces": [
|
||||
{
|
||||
"id": "[resourceId('Microsoft.Network/networkInterfaces', parameters('networkInterfaceName1'))]",
|
||||
"properties": {
|
||||
"deleteOption": "[parameters('nicDeleteOption')]"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"additionalCapabilities": {
|
||||
"hibernationEnabled": false
|
||||
},
|
||||
"osProfile": {
|
||||
"computerName": "[parameters('virtualMachineComputerName1')]",
|
||||
"adminUsername": "[parameters('adminUsername')]",
|
||||
"linuxConfiguration": {
|
||||
"disablePasswordAuthentication": true
|
||||
}
|
||||
},
|
||||
"securityProfile": {
|
||||
"securityType": "[parameters('securityType')]",
|
||||
"uefiSettings": {
|
||||
"secureBootEnabled": "[parameters('secureBoot')]",
|
||||
"vTpmEnabled": "[parameters('vTPM')]"
|
||||
}
|
||||
},
|
||||
"diagnosticsProfile": {
|
||||
"bootDiagnostics": {
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"plan": {
|
||||
"name": "bunkerweb",
|
||||
"publisher": "bunkerity",
|
||||
"product": "bunkerweb"
|
||||
},
|
||||
"zones": [
|
||||
"[parameters('virtualMachine1Zone')]"
|
||||
]
|
||||
}
|
||||
],
|
||||
"outputs": {
|
||||
"adminUsername": {
|
||||
"type": "string",
|
||||
"value": "[parameters('adminUsername')]"
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue