diff --git a/docker_dev_start.py b/docker_dev_start.py
index 07c327d902e5aad83d79a803b0f2edac80ef1ad9_ZG9ja2VyX2Rldl9zdGFydC5weQ==..4f0257e9564c5f7e092c2de74c5dc473d888dc0f_ZG9ja2VyX2Rldl9zdGFydC5weQ== 100755
--- a/docker_dev_start.py
+++ b/docker_dev_start.py
@@ -514,15 +514,21 @@
         password = 'odoo'
 
     # data volume handling
-    if odoo_type != 'odoo7':
-        data_volume_name = '{}_data'.format(project_name)
-        _logger.debug('Using data volume %s', data_volume_name)
-        createVolume(docker_client, data_volume_name)
-        # make sure the permission in the volume are correct
-        mount_opts = '{}:/mnt/data'.format(data_volume_name)
-        # TODO replace by something cleaner if possible
-        call([
-            'docker', 'run', '--rm', '-v',
-            mount_opts, 'busybox', 'chmod', '-R', '777', '/mnt/data',
-        ])
+    if odoo_type == 'odoo7':
+        _logger.debug('Only sessions volume for this odoo version')
+        # this path is in odoo code, the last part is the system user
+        data_volume_path = '/tmp/oe-sessions-{}'.format('odoo')
+    else:
+        data_volume_path = '/mnt/data'
+        arg.append('--data-dir {}'.format(data_volume_path))
+    data_volume_name = '{}_data'.format(project_name)
+    _logger.debug('Using data volume %s', data_volume_name)
+    createVolume(docker_client, data_volume_name)
+    # make sure the permission in the volume are correct
+    mount_opts = '{}:/mnt'.format(data_volume_name)
+    # TODO replace by something cleaner if possible
+    call([
+        'docker', 'run', '--rm', '-v', mount_opts, '--entrypoint',
+        '/bin/chown', image, 'odoo', '/mnt',
+    ])
 
@@ -528,7 +534,4 @@
 
-        binds.append('{}:/mnt/data'.format(data_volume_name))
-        arg.append('--data-dir /mnt/data')
-    else:
-        _logger.debug('No data volume for this odoo version')
+    binds.append('{}:{}'.format(data_volume_name, data_volume_path))
 
     # avoid the duplication of unbind volumes with all addons
@@ -533,6 +536,24 @@
 
     # avoid the duplication of unbind volumes with all addons
-    # additionnal_addons only in odoo < 10
-    for extra_volume in ['additional_addons', 'var', 'data']:
-        volume_name = '{}_opt_odoo_{}'.format(project_name, extra_volume)
+    if odoo_type == 'odoo7':
+        extra_volumes = [
+            '/opt/odoo/additional_addons', '/opt/odoo/var',
+            # not used but declared as a mount point in Dockerfile :-(
+            '/opt/odoo/data',
+        ]
+    elif odoo_type == 'odoo8':
+        extra_volumes = [
+            '/opt/odoo/additional_addons', '/opt/odoo/var', '/opt/odoo/data',
+        ]
+    elif odoo_type == 'odoo10':
+        extra_volumes = [
+            '/opt/odoo/additional_addons', '/opt/odoo/var', '/opt/odoo/data',
+        ]
+    else:
+        extra_volumes = [
+            '/var/lib/odoo',
+        ]
+    for extra_volume in extra_volumes:
+        volume_name = '{}_{}'.format(
+            project_name, extra_volume.replace('/', '_'))
         # volume = createVolume(docker_client, volume_name)
@@ -538,5 +559,5 @@
         # volume = createVolume(docker_client, volume_name)
-        binds.append('{}:/opt/odoo/{}'.format(volume_name, extra_volume))
+        binds.append('{}:{}'.format(volume_name, extra_volume))
 
     start_py3o_stack = 'report_py3o_fusion_server' in module_list