diff --git a/doc/deploy.md b/doc/deploy.md
index 92bb3bcc1a37ee0583762d3a8862fb4392ab6a29..b39a58ba83645d2cd884883c090b8352fd301109 100644
--- a/doc/deploy.md
+++ b/doc/deploy.md
@@ -78,12 +78,37 @@ make deploy i=inventories/local-mediaworker
 make deploy i=inventories/local-mediavault
 ```
 
+## Offline
+
+### Requirements
+
+- A local repository with at least all the Debian packages required by the installation, and the UbiCast packages provided in the tar archive
+- A `/etc/apt/sources.list` configured to use the local repository
+- A copy of the envsetup repository at `/root/envsetup`
+- A copy of the configuration file generated by UbiCast located at `/root/envsetup/auto-generated-conf.sh`
+
+### MediaWorker
+
+```sh
+cd ~/envsetup/
+cp -v inventories/offline-mediaworker/host_vars/localhost{.dist,}.yml
+./playbooks/mediaserver.yml -i inventories/offline-mediaworker/
+```
+
+### MediaServer
+
+```sh
+cd ~/envsetup/
+cp -v inventories/offline-mediaserver/host_vars/localhost{.dist,}.yml
+./playbooks/mediaserver.yml -i inventories/offline-mediaserver/
+```
+
 ## Known issues
 
 - Proxy
 
 If output trafic on the remote hosts is allowed only through a proxy, the deployment will fail.
-It won't be able to locally clone repositry and get host configuration file from mirismanager.ubicast.eu.
+It won't be able to locally clone repository and get host configuration file from mirismanager.ubicast.eu.
 
 For "remote" deployment you have to set the proxy settings in the inventory variables, in `inventories/my-customer/group_vars/all.yml`: