virli/subject/owncloud/ex-owncloud.md
2020-09-21 23:48:16 +02:00

35 lines
1.3 KiB
Markdown

Projet
======
Pour mettre en pratiques toutes les notions que l'on a vu jusque là, écrivez un
playbook Ansible pour automatiser le lancement de votre instance personnelle de
[`nextcloud`](https://hub.docker.com/_/nextcloud/) ou
d'[`owncloud`](https://hub.docker.com/r/owncloud/server/). Une attention
particulière devra être apportée à la manière dont vous faites persister les
données entre deux lancements, tout en prenant en compte les futures mises à
jour.
Le service doit être accessible sur votre réseau local, sur un port
configurable.
Votre playbook devrait se limiter au module
[`docker-container`](https://docs.ansible.com/ansible/latest/modules/docker_container_module.html)
(ie. sans utiliser `docker-compose` ou `docker stack` que l'on verra dans un
second temps).
Cette instance devra utiliser une base de données MySQL ou Postgres (lancée par
vos soins dans un autre conteneur) et contenir ses données dans un ou plusieurs
volumes (afin qu'elles persistent notamment à une mise à jour des conteneurs).
L'exécution doit être la plus sécurisée possible (pas de port MySQL exposé sur
l'hôte par exemple, etc.) et la plus respectueuse des bonnes pratiques que l'on
a pu voir durant ce premier cours.
## Exemple d'exécution
<div lang="en-US">
```bash
42sh$ ansible-playbook -i hosts my_cloud.yml
```
</div>