Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
1148916
Actualització documentacio demo docker
rafatecno1 Feb 8, 2026
5cd6479
Afegint .dockerignore
rafatecno1 Feb 9, 2026
25855ea
esborrar dades_demo.sql
rafatecno1 Feb 9, 2026
47e2823
esborrant fitxers vells
rafatecno1 Feb 9, 2026
127be58
Neteja d'arxius
rafatecno1 Feb 9, 2026
bf2c76e
canviant fitxers a old
rafatecno1 Feb 10, 2026
c57e38e
Refactor: simplificació de l'estructura Docker i optimització del build
rafatecno1 Feb 10, 2026
b8625d7
Refactor: simplificació de l'estructura Docker i optimització del build
rafatecno1 Feb 10, 2026
4bb473c
Refactor: simplificació de l'estructura Docker i optimització del build
rafatecno1 Feb 10, 2026
5ba5080
Canvi de nom i simplificació instal·lador demo
rafatecno1 Feb 10, 2026
25155fa
Canvi de nom i simplificació instal·lador demo
rafatecno1 Feb 10, 2026
824ae8d
Integració versió dev de la Demo
rafatecno1 Feb 12, 2026
07cfd3b
Integració versio Dev
rafatecno1 Feb 12, 2026
f0a2c96
Afegint help i possibilitat de carregar dades en modo Dev
rafatecno1 Feb 13, 2026
ff02ce5
fix: help i Makefile
rafatecno1 Feb 13, 2026
0b375ca
fix: install demo
rafatecno1 Feb 13, 2026
c53aa33
fix: color gris dev-load_demo_data
rafatecno1 Feb 13, 2026
c6ec3fc
esborrar fitxers obsolets
rafatecno1 Feb 13, 2026
cefd196
Adaptació de la documentació a la simplificació de la Demo
rafatecno1 Feb 13, 2026
df771a1
fix: tipo
rafatecno1 Feb 13, 2026
ecfdc7d
Afegint CSRF False a demo.py per servir per http
rafatecno1 Feb 14, 2026
d8f0654
Fix. Instal·lador demo
rafatecno1 Feb 14, 2026
a0a825a
Apuntant al repo original
rafatecno1 Feb 14, 2026
d057854
fix: Documentació millorada
rafatecno1 Feb 18, 2026
9b39359
fix: Documentació millorada
rafatecno1 Feb 18, 2026
1ec4245
Fix. Documentació millorada
rafatecno1 Feb 18, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ Es pot consultar un índex complet amb tota la informació sobre Django-Aula:
<a name="requisits"></a>
## Requisits del sistema operatiu per instal·lar Django-Aula

Django-Aula s'instal·la en un servidor amb sistema operatiu Linux i està adaptat per Debian 13, Ubuntu Server 24.04 LTS o superior, o derivats de la mateixa base.
Django-Aula s'instal·la en un servidor amb sistema operatiu Linux i està adaptat per Debian 13, Ubuntu Server 24.04 LTS o superior, o derivats de la mateixa base. El hardware mínim és d'1 cpu (core), 1Gb de RAM i 10 o 15GB de disc dur per Debian Server o Ubuntu Server, respectívament.

Per qualsevol tipus d'instal·lació, ja sigui per un ús real o per l'entorn de demostració, és altament recomanable haver creat un usuari amb permisos de *SUDO*. [El procés està documentat.](docs/USER_MANUAL/ajuda-install/usuari_sudo.md)

Expand All @@ -59,7 +59,7 @@ Per qualsevol tipus d'instal·lació, ja sigui per un ús real o per l'entorn de

L'entorn de demostració, conegut com Demo, és una versió funcional del sistema i que es pot posar en funcionament en pocs minuts. Disposa de dades fictícies (usuaris, professors, alumnat i un horari mínim) que faciliten observar l'aspecte visual i interaccionar, des de diferents rols, amb les funcionalitats de l'aplicatiu real Django-Aula.

El desplegament de la Demo s'ha automatitzat amb l'execució de dues comandes i consta de dues passes consecutives:
El desplegament de la Demo es pot fer de forma automatitzada, tot i que també es pot fer de forma manual, i s'aconsegueix amb l'execució de dues comandes i consta de dues passes consecutives:


### 1a - Instal·lació automàtica de Docker i Docker Compose
Expand Down Expand Up @@ -119,7 +119,7 @@ Després de la instal·lació el sistema estarà preparat per rebre les dades re

* **Vols col·laborar-hi com a #DEV?**
Aquestes són les [Issues prioritàries](https://github.com/ctrl-alt-d/django-aula/issues?q=is%3Aissue%20state%3Aopen%20label%3APrioritari)
* **Pregüntes d'ús freqüent**.
* **Preguntes d'ús freqüent**.
[FAQs](https://github.com/ctrl-alt-d/django-aula/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3AFAQ+)
* **Has trobat errors? Necessites ajuda?** Utilitza el Formulari per demanar ajuda o comunicar errors (*Issues*)
[Issues/Formularis d'ajuda](https://github.com/ctrl-alt-d/django-aula/issues/new/choose)
Expand Down
6 changes: 6 additions & 0 deletions aula/settings_dir/demo.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,12 @@ def location(x):
# Afegeix els hosts llegits de la variable d'entorn (separats per coma)
ALLOWED_HOSTS += DEMO_HOSTS_STR.split(',')

# Configuració per permetre log-in en entorns HTTP (no segurs)
# Demo manage.py runserver: Starting development server at http://0.0.0.0:8000/
SESSION_COOKIE_SECURE = False
CSRF_COOKIE_SECURE = False
SECURE_CROSS_ORIGIN_OPENER_POLICY = None

EMAIL_SUBJECT_PREFIX = "[DEMO AULA] "
EMAIL_BACKEND = "django.core.mail.backends.console.EmailBackend"

Expand Down
11 changes: 10 additions & 1 deletion docker/build-dev/.dockerignore.demo → docker/.dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,10 @@ __pycache__/
.DS_Store
Thumbs.db

# Documentació
docs/
README.md

# Altres fitxers grans o no necessaris
node_modules/
dist/
Expand All @@ -42,6 +46,11 @@ build/
# Altres fitxers
apache
canviDeCurs.txt
docker-compose.old
enDesenvolupament.txt
TODO.txt
*.old
install_djau.sh
install_demo_docker.sh
setup_djau/
docker/*
!docker/carrega_inicial.sh
File renamed without changes.
File renamed without changes.
2 changes: 1 addition & 1 deletion docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1

WORKDIR /app
COPY djau/. .
COPY . .
RUN apt-get update && apt-get install -y \
git \
# wait-for-it \
Expand Down
91 changes: 91 additions & 0 deletions docker/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
.PHONY: build serve stop down logs \
dev-build dev-serve dev-stop dev-down dev-logs \
dev-load_demo_data dev-makemigrations dev-shell dev-bash

# --- VARIABLES ---
COMPOSE_DEMO = docker-compose.yml
COMPOSE_DEV = docker-compose.dev.yml

# ----------- Aesthetics -----------
GROC := "\033[1;33m"
VERD := "\033[1;32m"
GRIS := "\033[1;90m"
NC := "\033[0m"

# Funció per a missatges informatius (Groc)
INFO := @bash -c '\
printf $(GROC); \
echo "=> $$1"; \
printf $(NC)' SOME_VALUE

# Funció per a missatges d'èxit (Verd)
EXITO := @bash -c '\
printf $(VERD); \
echo "✅ $$1"; \
printf $(NC)' SOME_VALUE

# --- COMANDES DE LA DEMO (AUTOMÀTICA) ---

build:
$(INFO) "Construint imatge de la Demo..."
docker compose -f $(COMPOSE_DEMO) build

serve:
$(INFO) "Aixecant serveis de la Demo..."
docker compose -f $(COMPOSE_DEMO) up -d
$(EXITO) "Demo en marxa al port 8000"

stop:
$(INFO) "Aturant serveis de la Demo..."
docker compose -f $(COMPOSE_DEMO) stop

down:
$(INFO) "Eliminant contenidors i xarxes de la Demo..."
docker compose -f $(COMPOSE_DEMO) down

logs:
docker compose -f $(COMPOSE_DEMO) logs -f web

# --- COMANDES DE DESENVOLUPAMENT (DEV) ---

dev-build:
$(INFO) "Construint imatge de Desenvolupament..."
docker compose -f $(COMPOSE_DEV) build

dev-serve:
$(INFO) "Aixecant serveis de Desenvolupament (amb volums en viu)..."
docker compose -f $(COMPOSE_DEV) up -d
$(EXITO) "Entorn 'Dev' aixecant-se al port 8000."

dev-stop:
$(INFO) "Aturant serveis de Dev..."
docker compose -f $(COMPOSE_DEV) stop

dev-down:
$(INFO) "Eliminant contenidors i xarxes de Dev..."
docker compose -f $(COMPOSE_DEV) down

dev-logs:
docker compose -f $(COMPOSE_DEV) logs -f web

# --- GESTIÓ DE DADES I DJANGO (DEV) ---

dev-load_demo_data:
$(INFO) "Carrega fixtures i dades de demo..."
@printf $(GRIS)
@docker exec -it dev_web bash -c "python manage.py loaddata aula/apps/*/fixtures/dades.json"
@docker exec -it dev_web python manage.py loaddemodata
@printf $(NC)
$(EXITO) "Dades de la Demo carregades amb èxit."

dev-makemigrations:
$(INFO) "Comprovant canvis als models i creant migracions..."
docker exec -it dev_web python manage.py makemigrations

dev-shell:
$(INFO) "Entrant a la consola de Django..."
docker exec -it dev_web python manage.py shell

dev-bash:
$(INFO) "Entrant al terminal del contenidor web..."
docker exec -it dev_web bash
33 changes: 0 additions & 33 deletions docker/Makefile.demo.automatica

This file was deleted.

47 changes: 16 additions & 31 deletions docker/README.md
Original file line number Diff line number Diff line change
@@ -1,44 +1,29 @@
# Contingut del Directori Docker

Aquest directori conté tots els fitxers creats per gestionar el desplegament de la Demo de Django-Aula i per la creació d'imatges de l'aplicació Django-Aula mitjançant contenidors Docker.

El directori conté els fitxers de configuració pel desplegament ràpid de la Demo i els fitxers per construir-la, així com algun arxiu més que obre la porta per futurs desenvolupaments de l'aplicatiu sencer amb Docker.
Aquest directori conté els fitxers necessaris per gestionar el desplegament d'una Demo de Django-Aula, tant per la versió normal com per la versió per desenvolupament, mitjançant contenidors Docker.

Per informació més precisa, consulti la documentació detallada per la [Instal·lació de la demo de forma automatitzada amb Docker](../docs/USER_MANUAL/demo/install_demo_docker.md)
---

## 1. Requisit previ. Instal·lació de Docker CE i docker-compose en el sistema operatiu

Segons es descriu a les instruccions principals del repositori, hi ha dues maneres d'instal·lar Docker en el sistema operatiu, la manual i l'automatitzada.

| Nom de l'Arxiu | Descripció | Ús Principal |
| :--- | :--- | :--- |
| `install_docker.sh` | **Script d'instal·lació automatitzada de Docker.** Descarrega i configura tot allò que cal per instal·lar l'entorn Docker i docker-compose en el sistema. | Instal·lar Docker en el sistema operatiu. |


## 2. Arxius de Configuració de Desplegament Ràpid
| Nom de l'Arxiu | Descripció |
| :--- | :--- |
| `install_docker.sh` | **Script d'instal·lació automatitzada de Docker.** Descarrega i configura tot allò que cal per instal·lar l'entorn Docker i docker-compose en el sistema. |

Aquests arxius s'utilitzen per a l'**Instal·lació de la Demo** amb Docker de forma automatitzada, tal com s'explica al document principal. Són la base per a un desplegament senzill i automatitzat típic amb Docker.

| Nom de l'Arxiu | Descripció | Ús Principal |
| :--- | :--- | :--- |
| `install_quick_demo_docker.sh` | **Script d'instal·lació automatitzada.** Descarrega, col·loca els arxius de configuració a l'arrel del projecte, els reanomena i desplega els contenidors automàticament. | Desplegament actual de la Demo. |
| `docker-compose.demo.automatica.yml` | Fitxer de configuració de serveis (Web + DB) utilitzat per la Demo. | Serà l'arxiu `docker-compose.yml` que desplegarà la Demo. |
| `Makefile.demo.automatica` | Defineix les ordres de gestió simplificades (`serve`, `stop`, `logs` i `down`) per a la Demo. | Serà l'arxiu `Makefile` que facilitarà el desplegament de la Demo. |
| `env.demo.automatica` | Arxiu de variables d'entorn per la base de dades de PostgreSQL que farà servir la Demo. | Serà l'arxiu `.env` que llegirà l'arxiu `docker-compose.yml`. |
| `dades_demmo.sql` | És el fitxer SQL (`.sql`) amb les dades de demostració precarregades. | El contenidor de PostgreSQL llegeix aquest fitxer en iniciar-se i omple la base de dades de forma ràpida i automàtica. |

---

## 3. Fitxers de Construcció i Entorns de Desenvolupament
## 2. Arxius necessaris pel desplegament de la Demo

Es troben ubicats al directori **build-dev** i són els que es fan servir per **crear noves imatges**, tant per la Demo com per qualsevol altre objectiu.
Aquests arxius s'utilitzen per la **Instal·lació de la Demo** amb Docker de forma automatitzada, tal com s'explica al document principal. Són la base d'un desplegament senzill i automatitzat típic amb Docker.

| Nom de l'Arxiu | Descripció | Finalitat |
| :--- | :--- | :--- |
| `Dockerfile.demo.automatica` | Defineix com es va construir la imatge per a la Demo actualment desplegable de forma automatitzada . | Utilitzat per crear la imatge pujada al repositori d'imatges *Docker Hub*. |
| `docker-compose.demo.manual.yml` | És el fitxer de partida a partir del qual es va construir el *docker-compose.demo.automatica.yml*. | Ús per a desenvolupadors locals que volen accedir a *shells*, *migrations*, etc. |
| `docker-compose.dev.yml` | Configuració completa dels serveis per a **l'entorn de Desenvolupament** (DEV). (ara en desenvolupament) | Facilitar crear un entorn de desenvolupament de l'aplicació bassat en Docker i pensat per a desenvolupadors locals que volen accedir a *shells*, *migrations*, etc. |
| `Makefile.demo.manual` | És el fitxer de partida a partir del qual es va construir el *Makefile.demo.automatica*. Interacciona amb el fitxer *docker-compose.demo.yml*.| És l'arxiu que facilitarà la creació i desplegament de les noves Demos que es vulguin crear. |
| `Makefile.demo.complet` | Conté conjuntament les instruccions per treballar tant amb la versió manual com la versió *DEV*. | Serveix com a referència i com a base per a entorns de Producció/Desenvolupament. |
| `env.example` | Arxiu de variables d'entorn *sense personalitzar* per la base de dades de PostgreSQL que farà servir la Demo. | Base per crear el fitxer `.env` per crear una imatge de Django-Aula amb Docker. |
| `.dockerignore.demo` | Especifica els fitxers que s'han d'excloure del context de construcció de la imatge de la Demo. | Optimització i seguretat de la imatge Docker final. |
| Nom de l'Arxiu | Descripció |
| :--- | :--- |
| `install_demo_docker.sh` | **Script d'instal·lació automatitzada.** Descarrega, col·loca els arxius de configuració a l'arrel del projecte, els reanomena i desplega els contenidors automàticament. |
| `docker-compose.yml` | Fitxer de configuració de serveis (Web + DB) utilitzat per la Demo. |
| `docker-compose.dev.yml` | Versió per a desenvolupadors de codi del fitxer de configuració de serveis (Web + DB) que crea la Demo. |
| `Dockerfile` | Defineix les passes que es seguiran per construir la imatge de la Demo |
| `Makefile` | Facilita el desplegament de la Demo mitjançant ordres de gestió simplificades, com ara `serve`, `stop`, `logs`, `down`, etc. |
| `.env` | Arxiu de variables d'entorn per la base de dades de PostgreSQL que farà servir la Demo. |
| `.dockerignore` | Declaració d'arxius que no son necessaris incloure dins el contenidor docker de la Demo |
22 changes: 0 additions & 22 deletions docker/build-dev/Dockerfile.demo.automatica

This file was deleted.

66 changes: 0 additions & 66 deletions docker/build-dev/Makefile.demo.complet

This file was deleted.

37 changes: 0 additions & 37 deletions docker/build-dev/Makefile.demo.manual

This file was deleted.

Loading