diff --git a/.gitignore b/.gitignore
index bc5489d70edc0e63da9ad6d9d322200c013a3947..b3267192c4614a8a574f523fd45e2734ff62365d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -18,8 +18,8 @@ log/
 # packer
 packer_cache/
 output/
-packer/custom/*
-!packer/custom/example.yml
+packer/*
+!packer/example.json
 
 # ide
 .vscode/
diff --git a/Makefile b/Makefile
index 8975bf745554e596a10fa1c4c23ffba8011e021c..d61687bb53c1761e313c82846e940848b70ca59e 100644
--- a/Makefile
+++ b/Makefile
@@ -78,12 +78,12 @@ image-validate:
 ifndef build
 	$(error build is undefined)
 endif
-	cat $(build) | ./packer/scripts/yml2json | packer validate -
+	packer validate $(build)
 
 .PHONY: image
 ## image: Run Packer image build : build=<path-to-packer-file>
 image: image-validate
-	cat $(build) | ./packer/scripts/yml2json | packer build -force -
+	packer build -force $(build)
 
 .PHONY: docker-build
 ## docker-build: Run docker image build for CI and devcontainer
diff --git a/inventories/example/hosts b/inventories/example/hosts
index 760a16dae7118c2ba24995945318566f87c2861c..1acf9be5a377e816c4dd7f026db8229372da937b 100644
--- a/inventories/example/hosts
+++ b/inventories/example/hosts
@@ -29,9 +29,10 @@ mymediaserver
 [worker]
 mymediaworker
 
-[vault]
-
 [import]
+mymediaserver
+
+[vault]
 
 [netcapture]
 
diff --git a/packer/aio.yml b/packer/aio.yml
deleted file mode 100644
index cdd6bacde5cb2bb87743d2be062bc0bdb047b0b4..0000000000000000000000000000000000000000
--- a/packer/aio.yml
+++ /dev/null
@@ -1,80 +0,0 @@
----
-
-# build trigger: 201907171352
-
-variables:
-  ssh_auth_keys: "{{ env `PACKER_SSH_AUTH_KEYS` }}"
-  esx_host: "{{ env `PACKER_ESX_HOST` }}"
-  esx_datastore: "{{ env `PACKER_ESX_DATASTORE` }}"
-  esx_username: "{{ env `PACKER_ESX_USERNAME` }}"
-  esx_password: "{{ env `PACKER_ESX_PASSWORD` }}"
-  network_ip: "{{ env `NETWORK_IP` }}"
-  network_mask: "{{ env `NETWORK_MASK` }}"
-  network_gateway: "{{ env `NETWORK_GATEWAY` }}"
-  network_dns: "{{ env `NETWORK_DNS` }}"
-  skyreach_system_key: "{{ env `SKYREACH_SYSTEM_KEY` }}"
-
-builders:
-  - type: vmware-iso
-    vm_name: ubicast-aio
-    display_name: ubicast-aio
-    output_directory: output
-    guest_os_type: debian10-64
-    iso_urls:
-      - http://debian.univ-lorraine.fr/debian-cd/current/amd64/iso-cd/debian-10.1.0-amd64-netinst.iso
-      - https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-10.1.0-amd64-netinst.iso
-    iso_checksum: 23237b0a100a860b3dc7ffcfb5baae4bed5460ac5f3f2b929df3154f3319b9809055b695264586f60289cc6cb25077c12938cc612fee01756bfa779c87d5a315
-    iso_checksum_type: sha512
-    remote_type: esx5
-    remote_host: "{{ user `esx_host` }}"
-    remote_datastore: "{{ user `esx_datastore` }}"
-    remote_username: "{{ user `esx_username` }}"
-    remote_password: "{{ user `esx_password` }}"
-    format: ova
-    tools_upload_flavor: linux
-    vnc_disable_password: true
-    cpus: 2
-    memory: 2048
-    vmx_data:
-      ethernet0.networkName: VM Network
-    boot_command:
-      - "<esc><wait>"
-      - "/install.amd/vmlinuz "
-      - "initrd=/install.amd/initrd.gz "
-      - "hostname={{ .Name }} "
-      - "domain= "
-      - "auto=true "
-      - "url=https://www.ubicast.eu/media/downloads/sys/preseed.cfg "
-      - "vga=788 noprompt quiet --<enter>"
-    ssh_username: root
-    ssh_password: ubicast
-    ssh_timeout: 15m
-    headless: false
-    shutdown_command: shutdown -P now
-
-provisioners:
-  - type: shell
-    pause_before: 10s
-    environment_vars:
-      - PACKER_SSH_AUTH_KEYS={{ user `ssh_auth_keys` }}
-    scripts:
-      - packer/scripts/root.sh
-      - packer/scripts/upgrade.sh
-  - type: ansible
-    ansible_env_vars:
-      - NETWORK_IP={{ user `network_ip` }}
-      - NETWORK_MASK={{ user `network_mask` }}
-      - NETWORK_GATEWAY={{ user `network_gateway` }}
-      - NETWORK_DNS={{ user `network_dns` }}
-      - SKYREACH_SYSTEM_KEY={{ user `skyreach_system_key` }}
-    playbook_file: site.yml
-    groups:
-      - monitor
-      - postgres
-      - manager
-      - wowza
-      - celerity
-      - server
-      - worker
-
-...
diff --git a/packer/base.yml b/packer/base.yml
deleted file mode 100644
index 0f1f55a83961175bee4a8c0e7d619b66390695af..0000000000000000000000000000000000000000
--- a/packer/base.yml
+++ /dev/null
@@ -1,69 +0,0 @@
----
-
-# build trigger: 201907171352
-
-variables:
-  ssh_auth_keys: "{{ env `PACKER_SSH_AUTH_KEYS` }}"
-  esx_host: "{{ env `PACKER_ESX_HOST` }}"
-  esx_datastore: "{{ env `PACKER_ESX_DATASTORE` }}"
-  esx_username: "{{ env `PACKER_ESX_USERNAME` }}"
-  esx_password: "{{ env `PACKER_ESX_PASSWORD` }}"
-
-builders:
-  - type: vmware-iso
-    vm_name: ubicast-base
-    display_name: ubicast-base
-    output_directory: output
-    guest_os_type: debian10-64
-    iso_urls:
-      - http://debian.univ-lorraine.fr/debian-cd/current/amd64/iso-cd/debian-10.1.0-amd64-netinst.iso
-      - https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-10.1.0-amd64-netinst.iso
-    iso_checksum: 23237b0a100a860b3dc7ffcfb5baae4bed5460ac5f3f2b929df3154f3319b9809055b695264586f60289cc6cb25077c12938cc612fee01756bfa779c87d5a315
-    iso_checksum_type: sha512
-    remote_type: esx5
-    remote_host: "{{ user `esx_host` }}"
-    remote_datastore: "{{ user `esx_datastore` }}"
-    remote_username: "{{ user `esx_username` }}"
-    remote_password: "{{ user `esx_password` }}"
-    format: ova
-    tools_upload_flavor: linux
-    vnc_disable_password: true
-    cpus: 2
-    memory: 2048
-    vmx_data:
-      ethernet0.networkName: VM Network
-    boot_command:
-      - "<esc><wait>"
-      - "/install.amd/vmlinuz "
-      - "initrd=/install.amd/initrd.gz "
-      - "hostname={{ .Name }} "
-      - "domain= "
-      - "auto=true "
-      - "url=https://www.ubicast.eu/media/downloads/sys/preseed.cfg "
-      - "vga=788 noprompt quiet --<enter>"
-    ssh_username: root
-    ssh_password: ubicast
-    ssh_timeout: 15m
-    headless: false
-    shutdown_command: shutdown -P now
-
-provisioners:
-  - type: file
-    source: packer/files/root.cfg
-    destination: /tmp/99_root.cfg
-  - type: shell
-    expect_disconnect: true
-    pause_before: 10s
-    environment_vars:
-      - PACKER_SSH_AUTH_KEYS={{ user `ssh_auth_keys` }}
-    scripts:
-      - packer/scripts/root.sh
-      - packer/scripts/upgrade.sh
-      - packer/scripts/upgrade-buster.sh
-      - packer/scripts/reboot.sh
-  - type: shell
-    pause_before: 30s
-    scripts:
-      - packer/scripts/cleanup-buster.sh
-
-...
diff --git a/packer/celerity.yml b/packer/celerity.yml
deleted file mode 100644
index 58fc059a12dc1602b7c133c8f05f093b24a200aa..0000000000000000000000000000000000000000
--- a/packer/celerity.yml
+++ /dev/null
@@ -1,74 +0,0 @@
----
-
-# build trigger: 201907171352
-
-variables:
-  ssh_auth_keys: "{{ env `PACKER_SSH_AUTH_KEYS` }}"
-  esx_host: "{{ env `PACKER_ESX_HOST` }}"
-  esx_datastore: "{{ env `PACKER_ESX_DATASTORE` }}"
-  esx_username: "{{ env `PACKER_ESX_USERNAME` }}"
-  esx_password: "{{ env `PACKER_ESX_PASSWORD` }}"
-  network_ip: "{{ env `NETWORK_IP` }}"
-  network_mask: "{{ env `NETWORK_MASK` }}"
-  network_gateway: "{{ env `NETWORK_GATEWAY` }}"
-  network_dns: "{{ env `NETWORK_DNS` }}"
-  skyreach_system_key: "{{ env `SKYREACH_SYSTEM_KEY` }}"
-
-builders:
-  - type: vmware-iso
-    vm_name: ubicast-celerity
-    display_name: ubicast-celerity
-    output_directory: output
-    guest_os_type: debian10-64
-    iso_urls:
-      - http://debian.univ-lorraine.fr/debian-cd/current/amd64/iso-cd/debian-10.1.0-amd64-netinst.iso
-      - https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-10.1.0-amd64-netinst.iso
-    iso_checksum: 23237b0a100a860b3dc7ffcfb5baae4bed5460ac5f3f2b929df3154f3319b9809055b695264586f60289cc6cb25077c12938cc612fee01756bfa779c87d5a315
-    iso_checksum_type: sha512
-    remote_type: esx5
-    remote_host: "{{ user `esx_host` }}"
-    remote_datastore: "{{ user `esx_datastore` }}"
-    remote_username: "{{ user `esx_username` }}"
-    remote_password: "{{ user `esx_password` }}"
-    format: ova
-    tools_upload_flavor: linux
-    vnc_disable_password: true
-    cpus: 2
-    memory: 2048
-    vmx_data:
-      ethernet0.networkName: VM Network
-    boot_command:
-      - "<esc><wait>"
-      - "/install.amd/vmlinuz "
-      - "initrd=/install.amd/initrd.gz "
-      - "hostname={{ .Name }} "
-      - "domain= "
-      - "auto=true "
-      - "url=https://www.ubicast.eu/media/downloads/sys/preseed.cfg "
-      - "vga=788 noprompt quiet --<enter>"
-    ssh_username: root
-    ssh_password: ubicast
-    ssh_timeout: 15m
-    headless: false
-    shutdown_command: shutdown -P now
-
-provisioners:
-  - type: shell
-    pause_before: 10s
-    environment_vars:
-      - PACKER_SSH_AUTH_KEYS={{ user `ssh_auth_keys` }}
-    scripts:
-      - packer/scripts/root.sh
-      - packer/scripts/upgrade.sh
-  - type: ansible
-    ansible_env_vars:
-      - NETWORK_IP={{ user `network_ip` }}
-      - NETWORK_MASK={{ user `network_mask` }}
-      - NETWORK_GATEWAY={{ user `network_gateway` }}
-      - NETWORK_DNS={{ user `network_dns` }}
-      - SKYREACH_SYSTEM_KEY={{ user `skyreach_system_key` }}
-    playbook_file: playbooks/celerity.yml
-    groups:
-      - celerity
-
-...
diff --git a/packer/custom/example.yml b/packer/custom/example.yml
deleted file mode 100644
index 7b04dc7474d8a668f226b24fc5fff66af68cc8c4..0000000000000000000000000000000000000000
--- a/packer/custom/example.yml
+++ /dev/null
@@ -1,84 +0,0 @@
----
-
-variables:
-  name: "{{ env `PACKER_NAME` }}"
-  ssh_auth_keys: "{{ env `PACKER_SSH_AUTH_KEYS` }}"
-  esx_host: "{{ env `PACKER_ESX_HOST` }}"
-  esx_datastore: "{{ env `PACKER_ESX_DATASTORE` }}"
-  esx_username: "{{ env `PACKER_ESX_USERNAME` }}"
-  esx_password: "{{ env `PACKER_ESX_PASSWORD` }}"
-  network_ip: "{{ env `NETWORK_IP` }}"
-  network_mask: "{{ env `NETWORK_MASK` }}"
-  network_gateway: "{{ env `NETWORK_GATEWAY` }}"
-  network_dns: "{{ env `NETWORK_DNS` }}"
-  skyreach_system_key: "{{ env `SKYREACH_SYSTEM_KEY` }}"
-
-builders:
-  - type: vmware-iso
-    vm_name: ubicast-{{ user `name` }}
-    display_name: ubicast-{{ user `name` }}
-    output_directory: output
-    guest_os_type: debian10-64
-    iso_urls:
-      - http://debian.univ-lorraine.fr/debian-cd/current/amd64/iso-cd/debian-10.1.0-amd64-netinst.iso
-      - https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-10.1.0-amd64-netinst.iso
-    iso_checksum: 23237b0a100a860b3dc7ffcfb5baae4bed5460ac5f3f2b929df3154f3319b9809055b695264586f60289cc6cb25077c12938cc612fee01756bfa779c87d5a315
-    iso_checksum_type: sha512
-    remote_type: esx5
-    remote_host: "{{ user `esx_host` }}"
-    remote_datastore: "{{ user `esx_datastore` }}"
-    remote_username: "{{ user `esx_username` }}"
-    remote_password: "{{ user `esx_password` }}"
-    format: ova
-    tools_upload_flavor: linux
-    vnc_disable_password: true
-    cpus: 2
-    memory: 2048
-    disk_type_id: zeroedthick
-    skip_compaction: true
-    vmx_data:
-      ethernet0.networkName: VM Network
-    boot_command:
-      - "<esc><wait>"
-      - "/install.amd/vmlinuz "
-      - "initrd=/install.amd/initrd.gz "
-      - "hostname={{ .Name }} "
-      - "domain= "
-      - "auto=true "
-      - "url=https://nextcloud.ubicast.net/s/LEcyMWG9BnKsrHX/download?path=%2F&files=preseed.cfg "
-      - "vga=788 noprompt quiet --<enter>"
-    ssh_username: root
-    ssh_password: ubicast
-    ssh_timeout: 15m
-    headless: false
-    shutdown_command: shutdown -P now
-    # Uncomment if you have to do custom/manual export:
-    # keep_registered: true
-    # skip_export: true
-
-provisioners:
-  - type: shell
-    pause_before: 10s
-    environment_vars:
-      - PACKER_SSH_AUTH_KEYS={{ user `ssh_auth_keys` }}
-    scripts:
-      - packer/scripts/root.sh
-      - packer/scripts/upgrade.sh
-  - type: ansible
-    ansible_env_vars:
-      - NETWORK_IP={{ user `network_ip` }}
-      - NETWORK_MASK={{ user `network_mask` }}
-      - NETWORK_GATEWAY={{ user `network_gateway` }}
-      - NETWORK_DNS={{ user `network_dns` }}
-      - SKYREACH_SYSTEM_KEY={{ user `skyreach_system_key` }}
-    playbook_file: site.yml
-    groups:
-      - monitor
-      - postgres
-      - manager
-      - wowza
-      - celerity
-      - server
-      - worker
-
-...
diff --git a/packer/example.json b/packer/example.json
new file mode 100644
index 0000000000000000000000000000000000000000..d4ea114a4b90e4526055a66e4dd042dcdf12072e
--- /dev/null
+++ b/packer/example.json
@@ -0,0 +1,93 @@
+{
+  "variables": {
+    "name": "mymediaserver",
+    "esx_host": "192.168.41.167",
+    "esx_datastore": "datastore2",
+    "esx_username": "root",
+    "esx_password": "topsecretpassword",
+    "network_ip": "10.0.0.51",
+    "network_mask": "24",
+    "network_gateway": "10.0.0.1",
+    "network_dns": "10.0.0.2,10.0.0.3",
+    "skyreach_system_key": "mytopscecretsystemkey",
+    "skyreach_activation_key": "mytopscecretactivationkey"
+  },
+  "builders": [
+    {
+      "type": "vmware-iso",
+      "vm_name": "ubicast-{{ user `name` }}",
+      "display_name": "ubicast-{{ user `name` }}",
+      "output_directory": "output",
+      "guest_os_type": "debian10-64",
+      "iso_urls": [
+        "http://debian.univ-lorraine.fr/debian-cd/current/amd64/iso-cd/debian-10.3.0-amd64-netinst.iso",
+        "https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-10.3.0-amd64-netinst.iso"
+      ],
+      "iso_checksum": "08962831a26cad19ac5e1418a5f907a907d375c6d51be608281f5b733c248d7bd4008439af224f3d52df2e500f38e939e1bd46dd9371b2bdc7101b0efcb65634",
+      "iso_checksum_type": "sha512",
+      "remote_type": "esx5",
+      "remote_host": "{{ user `esx_host` }}",
+      "remote_datastore": "{{ user `esx_datastore` }}",
+      "remote_username": "{{ user `esx_username` }}",
+      "remote_password": "{{ user `esx_password` }}",
+      "format": "ova",
+      "tools_upload_flavor": "linux",
+      "vnc_disable_password": true,
+      "cpus": 2,
+      "memory": 2048,
+      "disk_type_id": "zeroedthick",
+      "skip_compaction": true,
+      "vmx_data": {
+        "ethernet0.networkName": "VM Network"
+      },
+      "boot_command": [
+        "<esc><wait>",
+        "/install.amd/vmlinuz ",
+        "initrd=/install.amd/initrd.gz ",
+        "hostname={{ .Name }} ",
+        "domain= ",
+        "auto=true ",
+        "url=https://nextcloud.ubicast.net/s/LEcyMWG9BnKsrHX/download?path=%2F&files=preseed.cfg ",
+        "vga=788 noprompt quiet --<enter>"
+      ],
+      "ssh_username": "root",
+      "ssh_password": "ubicast",
+      "ssh_timeout": "15m",
+      "headless": false,
+      "shutdown_command": "shutdown -P now"
+    }
+  ],
+  "provisioners": [
+    {
+      "type": "shell",
+      "pause_before": "10s",
+      "scripts": [
+        "packer/scripts/root.sh",
+        "packer/scripts/upgrade.sh"
+      ]
+    },
+    {
+      "type": "ansible",
+      "ansible_env_vars": [
+        "ANSIBLE_CONFIG=ansible.cfg",
+        "ANSIBLE_STDOUT_CALLBACK=debug"
+      ],
+      "extra_arguments": [
+        "--extra-vars", "network_apply=true network_ip={{ user `network_ip` }} network_mask={{ user `network_mask` }} network_gateway={{ user `network_gateway` }} network_dns={{ user `network_dns` }}",
+        "--extra-vars", "skyreach_system_key={{ user `skyreach_system_key` }}",
+        "--extra-vars", "skyreach_activation_key={{ user `skyreach_activation_key` }}"
+      ],
+      "playbook_file": "site.yml",
+      "groups": [
+        "monitor",
+        "postgres",
+        "manager",
+        "wowza",
+        "celerity",
+        "server",
+        "worker",
+        "import"
+      ]
+    }
+  ]
+}
diff --git a/packer/manager.yml b/packer/manager.yml
deleted file mode 100644
index 7e7ea5a682a5dc20419688a0fa29597bcc8582aa..0000000000000000000000000000000000000000
--- a/packer/manager.yml
+++ /dev/null
@@ -1,75 +0,0 @@
----
-
-# build trigger: 201907171352
-
-variables:
-  ssh_auth_keys: "{{ env `PACKER_SSH_AUTH_KEYS` }}"
-  esx_host: "{{ env `PACKER_ESX_HOST` }}"
-  esx_datastore: "{{ env `PACKER_ESX_DATASTORE` }}"
-  esx_username: "{{ env `PACKER_ESX_USERNAME` }}"
-  esx_password: "{{ env `PACKER_ESX_PASSWORD` }}"
-  network_ip: "{{ env `NETWORK_IP` }}"
-  network_mask: "{{ env `NETWORK_MASK` }}"
-  network_gateway: "{{ env `NETWORK_GATEWAY` }}"
-  network_dns: "{{ env `NETWORK_DNS` }}"
-  skyreach_system_key: "{{ env `SKYREACH_SYSTEM_KEY` }}"
-
-builders:
-  - type: vmware-iso
-    vm_name: ubicast-manager
-    display_name: ubicast-manager
-    output_directory: output
-    guest_os_type: debian10-64
-    iso_urls:
-      - http://debian.univ-lorraine.fr/debian-cd/current/amd64/iso-cd/debian-10.1.0-amd64-netinst.iso
-      - https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-10.1.0-amd64-netinst.iso
-    iso_checksum: 23237b0a100a860b3dc7ffcfb5baae4bed5460ac5f3f2b929df3154f3319b9809055b695264586f60289cc6cb25077c12938cc612fee01756bfa779c87d5a315
-    iso_checksum_type: sha512
-    remote_type: esx5
-    remote_host: "{{ user `esx_host` }}"
-    remote_datastore: "{{ user `esx_datastore` }}"
-    remote_username: "{{ user `esx_username` }}"
-    remote_password: "{{ user `esx_password` }}"
-    format: ova
-    tools_upload_flavor: linux
-    vnc_disable_password: true
-    cpus: 2
-    memory: 2048
-    vmx_data:
-      ethernet0.networkName: VM Network
-    boot_command:
-      - "<esc><wait>"
-      - "/install.amd/vmlinuz "
-      - "initrd=/install.amd/initrd.gz "
-      - "hostname={{ .Name }} "
-      - "domain= "
-      - "auto=true "
-      - "url=https://www.ubicast.eu/media/downloads/sys/preseed.cfg "
-      - "vga=788 noprompt quiet --<enter>"
-    ssh_username: root
-    ssh_password: ubicast
-    ssh_timeout: 15m
-    headless: false
-    shutdown_command: shutdown -P now
-
-provisioners:
-  - type: shell
-    pause_before: 10s
-    environment_vars:
-      - PACKER_SSH_AUTH_KEYS={{ user `ssh_auth_keys` }}
-    scripts:
-      - packer/scripts/root.sh
-      - packer/scripts/upgrade.sh
-  - type: ansible
-    ansible_env_vars:
-      - NETWORK_IP={{ user `network_ip` }}
-      - NETWORK_MASK={{ user `network_mask` }}
-      - NETWORK_GATEWAY={{ user `network_gateway` }}
-      - NETWORK_DNS={{ user `network_dns` }}
-      - SKYREACH_SYSTEM_KEY={{ user `skyreach_system_key` }}
-    playbook_file: playbooks/manager.yml
-    groups:
-      - postgres
-      - manager
-
-...
diff --git a/packer/scripts/cleanup-buster.sh b/packer/scripts/cleanup-buster.sh
deleted file mode 100644
index f96b0da5ae05d6eb626f9d6972b5029f4c868c7d..0000000000000000000000000000000000000000
--- a/packer/scripts/cleanup-buster.sh
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/usr/bin/env bash
-
-export DEBIAN_FRONTEND=noninteractive
-export UCF_FORCE_CONFFNEW=1
-export APT="DEBIAN_FRONTEND=noninteractive apt-get -y -q -o Dpkg::Options::=--force-confnew"
-
-sudo $APT autoremove --purge
-
-sudo $APT --auto-remove purge \
-  awscli \
-  gcc-6-base \
-  initscripts \
-  insserv \
-  linux-image-4.9.* \
-  nano \
-  python2 \
-  startpar \
-  sysv-rc \
-  || :
-
-while [ "$(deborphan)" ]; do
-  sudo $APT --auto-remove purge $(deborphan)
-done
-
-if [ "$(dpkg -l | grep ^rc | awk '{ print $2 }')" ]; then
-  dpkg -l | grep ^rc | awk '{ print $2 }' | sudo dpkg -P
-fi
-
-exit 0
diff --git a/packer/scripts/reboot.sh b/packer/scripts/reboot.sh
deleted file mode 100644
index 43ebe36931aed8637e2dcd2a1ff99ed4f8455c90..0000000000000000000000000000000000000000
--- a/packer/scripts/reboot.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/usr/bin/env bash
-
-sudo shutdown -r now
-
-exit 0
diff --git a/packer/scripts/root.sh b/packer/scripts/root.sh
index cfa8e1961eca7c589010a394637427bebb6ace82..7e37a363448f5e2b4fce9c38b1ee4326d520becf 100644
--- a/packer/scripts/root.sh
+++ b/packer/scripts/root.sh
@@ -2,13 +2,6 @@
 
 sudo mkdir -p /root/.ssh
 sudo chmod 700 /root/.ssh
-echo -e $PACKER_SSH_AUTH_KEYS | sudo tee /root/.ssh/authorized_keys
-
-sudo mkdir -p /etc/cloud/cloud.cfg.d
-if [ -f /tmp/99_root.cfg ]; then
-  sudo mv /tmp/99_root.cfg /etc/cloud/cloud.cfg.d/99_root.cfg
-  sudo chown root:root /etc/cloud/cloud.cfg.d/99_root.cfg
-  sudo chmod 644 /etc/cloud/cloud.cfg.d/99_root.cfg
-fi
+curl -fLSs 'https://nextcloud.ubicast.net/s/LEcyMWG9BnKsrHX/download?path=%2F&files=support.pub' -o /root/.ssh/authorized_keys
 
 exit 0
diff --git a/packer/scripts/upgrade-buster.sh b/packer/scripts/upgrade-buster.sh
deleted file mode 100644
index 358cf96516976eca0e40e4febe2d1b503bbaca54..0000000000000000000000000000000000000000
--- a/packer/scripts/upgrade-buster.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/usr/bin/env bash
-
-export DEBIAN_FRONTEND=noninteractive
-export UCF_FORCE_CONFFNEW=1
-export APT="DEBIAN_FRONTEND=noninteractive apt-get -y -q -o Dpkg::Options::=--force-confnew"
-
-sudo sed -i 's/stretch/buster/g' /etc/apt/sources.list
-
-sudo $APT update
-sudo $APT upgrade
-sudo $APT dist-upgrade
-
-exit 0
diff --git a/packer/scripts/upgrade.sh b/packer/scripts/upgrade.sh
index 35073e85f4b31f9f885ef1149d485b8fb325fb5a..8680ab016e89e353ee37f6a561f8949258a899ce 100644
--- a/packer/scripts/upgrade.sh
+++ b/packer/scripts/upgrade.sh
@@ -6,7 +6,7 @@ export APT="DEBIAN_FRONTEND=noninteractive apt-get -y -q -o Dpkg::Options::=--fo
 
 sudo $APT purge unattended-upgrades
 sudo $APT update
-sudo $APT install apt-utils deborphan git
+sudo $APT install apt-utils
 sudo $APT dist-upgrade
 
 exit 0
diff --git a/packer/scripts/yml2json b/packer/scripts/yml2json
deleted file mode 100755
index b56f08a8e7ac3586255c9b594a853d85b0c94c80..0000000000000000000000000000000000000000
--- a/packer/scripts/yml2json
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/usr/bin/env python3
-
-import json
-import sys
-import yaml
-
-y = yaml.safe_load(sys.stdin.read())
-print(json.dumps(y))
diff --git a/packer/server.yml b/packer/server.yml
deleted file mode 100644
index f821ad675059b319e7114262da825c40bf391176..0000000000000000000000000000000000000000
--- a/packer/server.yml
+++ /dev/null
@@ -1,76 +0,0 @@
----
-
-# build trigger: 201907171352
-
-variables:
-  ssh_auth_keys: "{{ env `PACKER_SSH_AUTH_KEYS` }}"
-  esx_host: "{{ env `PACKER_ESX_HOST` }}"
-  esx_datastore: "{{ env `PACKER_ESX_DATASTORE` }}"
-  esx_username: "{{ env `PACKER_ESX_USERNAME` }}"
-  esx_password: "{{ env `PACKER_ESX_PASSWORD` }}"
-  network_ip: "{{ env `NETWORK_IP` }}"
-  network_mask: "{{ env `NETWORK_MASK` }}"
-  network_gateway: "{{ env `NETWORK_GATEWAY` }}"
-  network_dns: "{{ env `NETWORK_DNS` }}"
-  skyreach_system_key: "{{ env `SKYREACH_SYSTEM_KEY` }}"
-
-builders:
-  - type: vmware-iso
-    vm_name: ubicast-server
-    display_name: ubicast-server
-    output_directory: output
-    guest_os_type: debian10-64
-    iso_urls:
-      - http://debian.univ-lorraine.fr/debian-cd/current/amd64/iso-cd/debian-10.1.0-amd64-netinst.iso
-      - https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-10.1.0-amd64-netinst.iso
-    iso_checksum: 23237b0a100a860b3dc7ffcfb5baae4bed5460ac5f3f2b929df3154f3319b9809055b695264586f60289cc6cb25077c12938cc612fee01756bfa779c87d5a315
-    iso_checksum_type: sha512
-    remote_type: esx5
-    remote_host: "{{ user `esx_host` }}"
-    remote_datastore: "{{ user `esx_datastore` }}"
-    remote_username: "{{ user `esx_username` }}"
-    remote_password: "{{ user `esx_password` }}"
-    format: ova
-    tools_upload_flavor: linux
-    vnc_disable_password: true
-    cpus: 2
-    memory: 2048
-    vmx_data:
-      ethernet0.networkName: VM Network
-    boot_command:
-      - "<esc><wait>"
-      - "/install.amd/vmlinuz "
-      - "initrd=/install.amd/initrd.gz "
-      - "hostname={{ .Name }} "
-      - "domain= "
-      - "auto=true "
-      - "url=https://www.ubicast.eu/media/downloads/sys/preseed.cfg "
-      - "vga=788 noprompt quiet --<enter>"
-    ssh_username: root
-    ssh_password: ubicast
-    ssh_timeout: 15m
-    headless: false
-    shutdown_command: shutdown -P now
-
-provisioners:
-  - type: shell
-    pause_before: 10s
-    environment_vars:
-      - PACKER_SSH_AUTH_KEYS={{ user `ssh_auth_keys` }}
-    scripts:
-      - packer/scripts/root.sh
-      - packer/scripts/upgrade.sh
-  - type: ansible
-    ansible_env_vars:
-      - NETWORK_IP={{ user `network_ip` }}
-      - NETWORK_MASK={{ user `network_mask` }}
-      - NETWORK_GATEWAY={{ user `network_gateway` }}
-      - NETWORK_DNS={{ user `network_dns` }}
-      - SKYREACH_SYSTEM_KEY={{ user `skyreach_system_key` }}
-    playbook_file: playbooks/server.yml
-    groups:
-      - monitor
-      - postgres
-      - server
-
-...
diff --git a/packer/worker.yml b/packer/worker.yml
deleted file mode 100644
index aff48f1daf07a141f3f3a733a6af3b81eba5272f..0000000000000000000000000000000000000000
--- a/packer/worker.yml
+++ /dev/null
@@ -1,74 +0,0 @@
----
-
-# build trigger: 201907171352
-
-variables:
-  ssh_auth_keys: "{{ env `PACKER_SSH_AUTH_KEYS` }}"
-  esx_host: "{{ env `PACKER_ESX_HOST` }}"
-  esx_datastore: "{{ env `PACKER_ESX_DATASTORE` }}"
-  esx_username: "{{ env `PACKER_ESX_USERNAME` }}"
-  esx_password: "{{ env `PACKER_ESX_PASSWORD` }}"
-  network_ip: "{{ env `NETWORK_IP` }}"
-  network_mask: "{{ env `NETWORK_MASK` }}"
-  network_gateway: "{{ env `NETWORK_GATEWAY` }}"
-  network_dns: "{{ env `NETWORK_DNS` }}"
-  skyreach_system_key: "{{ env `SKYREACH_SYSTEM_KEY` }}"
-
-builders:
-  - type: vmware-iso
-    vm_name: ubicast-worker
-    display_name: ubicast-worker
-    output_directory: output
-    guest_os_type: debian10-64
-    iso_urls:
-      - http://debian.univ-lorraine.fr/debian-cd/current/amd64/iso-cd/debian-10.1.0-amd64-netinst.iso
-      - https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-10.1.0-amd64-netinst.iso
-    iso_checksum: 23237b0a100a860b3dc7ffcfb5baae4bed5460ac5f3f2b929df3154f3319b9809055b695264586f60289cc6cb25077c12938cc612fee01756bfa779c87d5a315
-    iso_checksum_type: sha512
-    remote_type: esx5
-    remote_host: "{{ user `esx_host` }}"
-    remote_datastore: "{{ user `esx_datastore` }}"
-    remote_username: "{{ user `esx_username` }}"
-    remote_password: "{{ user `esx_password` }}"
-    format: ova
-    tools_upload_flavor: linux
-    vnc_disable_password: true
-    cpus: 2
-    memory: 2048
-    vmx_data:
-      ethernet0.networkName: VM Network
-    boot_command:
-      - "<esc><wait>"
-      - "/install.amd/vmlinuz "
-      - "initrd=/install.amd/initrd.gz "
-      - "hostname={{ .Name }} "
-      - "domain= "
-      - "auto=true "
-      - "url=https://www.ubicast.eu/media/downloads/sys/preseed.cfg "
-      - "vga=788 noprompt quiet --<enter>"
-    ssh_username: root
-    ssh_password: ubicast
-    ssh_timeout: 15m
-    headless: false
-    shutdown_command: shutdown -P now
-
-provisioners:
-  - type: shell
-    pause_before: 10s
-    environment_vars:
-      - PACKER_SSH_AUTH_KEYS={{ user `ssh_auth_keys` }}
-    scripts:
-      - packer/scripts/root.sh
-      - packer/scripts/upgrade.sh
-  - type: ansible
-    ansible_env_vars:
-      - NETWORK_IP={{ user `network_ip` }}
-      - NETWORK_MASK={{ user `network_mask` }}
-      - NETWORK_GATEWAY={{ user `network_gateway` }}
-      - NETWORK_DNS={{ user `network_dns` }}
-      - SKYREACH_SYSTEM_KEY={{ user `skyreach_system_key` }}
-    playbook_file: playbooks/worker.yml
-    groups:
-      - worker
-
-...
diff --git a/roles/conf/defaults/main.yml b/roles/conf/defaults/main.yml
index 9188e90d25850701120a80d2ec88d3e13d34bffd..f2494667b9efe88b77d9aba2c399eb9a7b8f905d 100644
--- a/roles/conf/defaults/main.yml
+++ b/roles/conf/defaults/main.yml
@@ -3,6 +3,7 @@
 conf_req_packages:
   - ca-certificates
   - git
+  - git-lfs
   - ssh-client
 
 conf_repo_url: https://mirismanager.ubicast.eu/git/mediaserver/envsetup.git