diff --git a/caretech/README.md b/caretech/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..1709deaa9806f07f0a3ee149c4f8890bb3d1c4ac
--- /dev/null
+++ b/caretech/README.md
@@ -0,0 +1,5 @@
+# Caretech
+
+Ce dossier contient les fichiers nécessaires au déploiement des services hébergées pour le Caretech.
+
+Chaque service a son propre sous-dossier.
diff --git a/caretech/map/README.md b/caretech/map/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..c17e31e47cdba0e79d3ffb99cda83b0a5c4aae97
--- /dev/null
+++ b/caretech/map/README.md
@@ -0,0 +1,3 @@
+# uMap
+
+Ce dossier permet de déployer une instance de [uMap](https://github.com/umap-project/umap/), protégée par une authenfication HTTP.
diff --git a/caretech/wiki/README.md b/caretech/wiki/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..678712ceaf42dade1d5e986e90c3066e50492902
--- /dev/null
+++ b/caretech/wiki/README.md
@@ -0,0 +1,17 @@
+# Wiki.js
+
+Ce dossier permet de déployer une instance de [Wiki.js](https://wiki.js.org/).
+
+## Configuration
+
+La configuration se fait via les variables d'environnement et le fichier de secrets, et ne concerne que la connexion à la base de données dans notre cas.
+Le reste de la configuration (utilisateurs, permissions...) est géré dynamiquement depuis l'interface.
+
+## Lancement
+
+Copier `db.secrets.example` à `db.secrets` et remplacer les valeurs.
+Lancer `docker-compose up -d && docker-compose logs -f` et vérifier qu'il n'y a pas d'erreurs.
+
+## Mise à jour
+
+Mettre à jour le tag dans le fichier Compose et relancer le service. Aucune autre action n'est nécessaire. Attention lors des mises à jour majeures de Postgres (*e.g.* 12 → 13), voir la documentation officielle.
diff --git a/caretech/wiki/docker-compose.yml b/caretech/wiki/docker-compose.yml
new file mode 100644
index 0000000000000000000000000000000000000000..792d94b12f841b1fa42280ef555fd4aaea3e7bd1
--- /dev/null
+++ b/caretech/wiki/docker-compose.yml
@@ -0,0 +1,40 @@
+version: '3.7'
+
+volumes:
+  wiki-caretech:
+    name: wiki-caretech
+
+networks:
+  proxy:
+    external: true
+  db:
+    name: wiki-caretech
+
+services:
+  wiki:
+    image: requarks/wiki:2.5
+    container_name: wiki-caretech
+    env_file: ./secrets/db.secrets
+    environment:
+      DB_HOST: wiki-db-caretech
+      DB_PORT: 5432
+      DB_TYPE: postgres
+    labels:
+      traefik.http.routers.etherpad-app.entrypoints: websecure
+      traefik.http.routers.etherpad-app.rule: Host(`wiki.caretech.picasoft.net`)
+      traefik.http.services.etherpad-app.loadbalancer.server.port: 3000
+      traefik.enable: true
+    networks:
+      - proxy
+      - db
+    restart: unless-stopped
+
+  wiki-db:
+    image: postgres:12-alpine
+    container_name: wiki-db-caretech
+    volumes:
+      - wiki-caretech:/var/lib/postgresql/data
+    env_file: ./secrets/db.secrets
+    networks:
+      - db
+    restart: unless-stopped
diff --git a/caretech/wiki/secrets/db.secrets.example b/caretech/wiki/secrets/db.secrets.example
new file mode 100644
index 0000000000000000000000000000000000000000..9128bcb16c3cd59e0719b209adf272c2c5101795
--- /dev/null
+++ b/caretech/wiki/secrets/db.secrets.example
@@ -0,0 +1,9 @@
+# Valeurs identiques
+DB_USER=user
+POSTGRES_USER=user
+# Valeurs identiques
+DB_PASS=password
+POSTGRES_PASSWORD=password
+# Valeurs identiques
+DB_NAME=wiki_caretech
+POSTGRES_DB=wiki_caretech