Código fuente wiki de Instalacion (docker)
Mostrar los últimos autores
author | version | line-number | content |
---|---|---|---|
1 | (% class="jumbotron" %) | ||
2 | ((( | ||
3 | (% class="container" %) | ||
4 | ((( | ||
5 | = NEXTCLOUD = | ||
6 | |||
7 | Instalación de nextcloud mediante docker | ||
8 | ))) | ||
9 | ))) | ||
10 | |||
11 | {{toc/}} | ||
12 | |||
13 | (% class="row" %) | ||
14 | ((( | ||
15 | (% class="col-xs-12 col-sm-8" %) | ||
16 | ((( | ||
17 | = INICIO = | ||
18 | |||
19 | == Instalacion == | ||
20 | |||
21 | La instalación consta de 4 servicios: | ||
22 | |||
23 | * db: Base de datos mariadb | ||
24 | * redes: Base de datos de memoria caché redis | ||
25 | * app: Aplicativo nextcloud | ||
26 | * web: Servidor web nginx | ||
27 | |||
28 | El primer paso es generar nuestro docker-compose: | ||
29 | |||
30 | {{code language="yaml"}} | ||
31 | services: | ||
32 | db: | ||
33 | image: mariadb:10.11 | ||
34 | container_name: nextcloud-db | ||
35 | restart: unless-stopped | ||
36 | command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW | ||
37 | volumes: | ||
38 | - database:/var/lib/mysql | ||
39 | environment: | ||
40 | MYSQL_ROOT_PASSWORD: Ko5b0sq977j1saaCQ3SD55 | ||
41 | MYSQL_DATABASE: nextcloud | ||
42 | MYSQL_USER: nextcloud | ||
43 | MYSQL_PASSWORD: Ko5b0sq977j1saaCQ3SD55 | ||
44 | |||
45 | redis: | ||
46 | image: redis:alpine | ||
47 | container_name: nextcloud-redis | ||
48 | restart: unless-stopped | ||
49 | volumes: | ||
50 | - redis:/data | ||
51 | |||
52 | app: | ||
53 | image: nextcloud:fpm | ||
54 | container_name: nextcloud-app | ||
55 | restart: unless-stopped | ||
56 | ports: | ||
57 | - 9000:9000 | ||
58 | depends_on: | ||
59 | - db | ||
60 | - redis | ||
61 | volumes: | ||
62 | - data:/var/www/html | ||
63 | - user:/var/nextcloud/data | ||
64 | - /datos/dFa:/mnt | ||
65 | environment: | ||
66 | MYSQL_HOST: db | ||
67 | MYSQL_DATABASE: nextcloud | ||
68 | MYSQL_USER: nextcloud | ||
69 | MYSQL_PASSWORD: Ko5b0sq977j1saaCQ3SD55 | ||
70 | REDIS_HOST: redis | ||
71 | PHP_UPLOAD_LIMIT: 0 | ||
72 | web: | ||
73 | image: nginx | ||
74 | container_name: nextcloud-web | ||
75 | restart: always | ||
76 | ports: | ||
77 | - 8080:80 | ||
78 | depends_on: | ||
79 | - app | ||
80 | volumes: | ||
81 | - nginx_conf:/etc/nginx | ||
82 | - data:/var/www/html | ||
83 | volumes_from: | ||
84 | - app | ||
85 | |||
86 | volumes: | ||
87 | data: | ||
88 | driver: local | ||
89 | database: | ||
90 | driver: local | ||
91 | redis: | ||
92 | driver: local | ||
93 | nginx_conf: | ||
94 | driver: local | ||
95 | user: | ||
96 | driver: local | ||
97 | {{/code}} | ||
98 | |||
99 | Los volúmenes se han configurado por las siguientes razones: | ||
100 | |||
101 | * database: Ficheros de la base de datos mysql | ||
102 | * redis: Ficheros de la base de datos redes | ||
103 | * data: Ficheros del aplicativo nextcloud (es necesario que lo usen tanto el contenedor app como el contenedor web) | ||
104 | * user: Ficheros de los perfiles de usuarios creados para nextcloud | ||
105 | * nginx_conf: Fichero nginx.conf | ||
106 | |||
107 | Además, en este caso, se ha realizado un bind de nuestro disco /datos para que sea utilizado como punto de montaje en nextcloud. Dado que es un contenedor, es necesario mapearlo para que la interfaz web tenga acceso al recurso de alguna manera. | ||
108 | |||
109 | |||
110 | |||
111 | |||
112 | ))) | ||
113 | |||
114 | |||
115 | |||
116 | (% class="col-xs-12 col-sm-4" %) | ||
117 | ((( | ||
118 | |||
119 | ))) | ||
120 | ))) |