moz667 / homodaba

Aplicación django para gestionar/clasificar los videos de bpk
GNU General Public License v3.0
3 stars 3 forks source link

Question regarding Docker #14

Closed bpk667 closed 3 years ago

bpk667 commented 3 years ago

¿Qué es ./docker/volumes/static/ y por qué tiene unos contenidos diferentes a la versión no dockerizada (./homodaba/static/)? ¿No debería el git clone del Dockerfile ocuparse de crear esta estructura?

(homadaba) bpk@ripley:~/repos/HomoDaba/homodaba$ ls -l homodaba/static/ docker/volumes/static/
docker/volumes/static/:
total 24
drwxr-xr-x 6 root root 4096 Aug  4 12:11 admin/
drwxr-xr-x 5 root root 4096 Aug  4 12:11 admin_interface/
drwxr-xr-x 3 root root 4096 Aug  4 12:11 ckeditor/
drwxr-xr-x 3 root root 4096 Aug  5 13:25 colorfield/
drwxr-xr-x 4 root root 4096 Aug  4 12:11 django-admin-autocomplete-filter/
drwxr-xr-x 6 root root 4096 Aug  4 12:11 homodaba/

homodaba/static/:
total 32
drwxr-xr-x 6 bpk bpk 4096 Aug  4 12:14 build/
drwxr-xr-x 3 bpk bpk 4096 Aug  5 13:08 css/
-rw-r--r-- 1 bpk bpk 4533 Aug  4 12:14 gulpfile.js
drwxr-xr-x 2 bpk bpk 4096 Aug  4 12:14 inc/
drwxr-xr-x 2 bpk bpk 4096 Aug  5 13:08 js/
-rw-r--r-- 1 bpk bpk 1104 Aug  4 12:14 package.json
-rw-r--r-- 1 bpk bpk   59 Aug  4 12:14 README.md
moz667 commented 3 years ago

¿Qué es ./docker/volumes/static/ y por qué tiene unos contenidos diferentes a la versión no dockerizada (./homodaba/static/)?

son cosas distintas:

  1. docker/volumes/static/ son todos los archivos estaticos que usan las aplicaciones que se usan en homodaba (tanto internas como de terceros)
  2. homodaba/static/ son los archivos estaticos de las aplicaciones de homodaba (dentro de build tendrias los generados con el gestor de tareas gulp que son los que realmente usa la app. No es muy elegante meter esos estaticos a capon en el repo, pero es muy practico de cara a no complicar mas el despliegue por defecto)

¿No debería el git clone del Dockerfile ocuparse de crear esta estructura?

Por conveniencia se hace al inicializar el contenedor (en el init-homodaba.sh), esto es porque requeriria tener la variable SECRET_KEY definida (que nos la sopla el valor, por lo que podriamos spoofearla) pero es que ademas, te interesa que este en un volumen compartido, para que luego puedas servirlo a traves de otro sevicio...

El comando que se encarga de recopilar los estaticos es:

python manage.py collectstatic --no-input
bpk667 commented 3 years ago

Ok. Gracias por la explicación. Entiendo que de momento no necesitamos actualizar los datos estáticos de terceros pero, cuando toque, quizá sea interesante que lo veamos.