From 00ab87f36193d88e14fd5a855ce6f315d61398dc Mon Sep 17 00:00:00 2001 From: Jonas Legion Date: Sat, 18 Dec 2021 08:15:44 +0400 Subject: [PATCH 1/8] compose dev --- Docker/Development/docker-compose.yml | 103 ++++++++++++++++---------- 1 file changed, 65 insertions(+), 38 deletions(-) diff --git a/Docker/Development/docker-compose.yml b/Docker/Development/docker-compose.yml index 7ee2cd6..e3fb4a0 100644 --- a/Docker/Development/docker-compose.yml +++ b/Docker/Development/docker-compose.yml @@ -1,51 +1,78 @@ version: '3.7' services: - tibillet_postgres: - container_name: tibillet_postgres - image: postgres:11.5-alpine - restart: always + billetterie_postgres_dev: + extends: + file: ../compose/docker-compose-base.yml + service: billetterie_postgres + env_file: .env ports: - 5432:5432 - volumes: - - "../../Postgres/dbdata:/var/lib/postgresql/data" - - "/etc/localtime:/etc/localtime:ro" - environment: - POSTGRES_USER: ${POSTGRES_USER} - POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} - POSTGRES_DB: ${POSTGRES_DB} + networks: + - backend-billeterie - redis: - image: redis:6-alpine - restart: always - container_name: redis - hostname: redis + billetterie_redis_dev: + extends: + file: ../compose/docker-compose-base.yml + service: billetterie_redis + networks: + - backend-billeterie - tibillet_django: - container_name: tibillet_django - build: ../Dockerfile/ - restart: always + billetterie_django_dev: + extends: + file: ../compose/docker-compose-base.yml + service: billetterie_django + command: "bash /DjangoFiles/launch.sh" env_file: .env ports: - 8002:8002 - volumes: - - "../../DjangoFiles:/DjangoFiles" - - "../../Backup:/Backup" - - "../../Docker/bashrc:/root/.bashrc" - working_dir: /DjangoFiles - command: "bash /DjangoFiles/launch.sh" depends_on: - - tibillet_postgres - - redis + - billetterie_postgres_dev + links: + - billetterie_postgres_dev:billetterie_postgres + - billetterie_redis_dev:redis + networks: + - frontend + - backend-billeterie - tibillet_celery: - container_name: tibillet_celery - build: ../Dockerfile/ - restart: always + billetterie_celery_dev: + extends: + file: ../compose/docker-compose-base.yml + service: billetterie_celery + command: "bash /DjangoFiles/launch_celery.sh" env_file: .env - volumes: - - "../../DjangoFiles:/DjangoFiles" - - "../../Docker/bashrc:/root/.bashrc" - working_dir: /DjangoFiles - command: "bash /DjangoFiles/launch.sh" depends_on: - - tibillet_django + - billetterie_django_dev + links: + - billetterie_postgres_dev:billetterie_postgres + - billetterie_redis_dev:redis + networks: + - frontend + - backend-billeterie + + + billetterie_nginx_dev: + extends: + file: ../compose/docker-compose-base.yml + service: billetterie_nginx + + env_file: .env + depends_on: + - billetterie_django_dev + links: + - billetterie_django_dev:billetterie_django + labels: + - traefik.enable=true + - traefik.docker.network=frontend + - traefik.http.routers.billeterie_nginx.tls.certresolver=myresolver + - traefik.http.routers.billeterie_nginx.rule=Host(`m.${DOMAIN}`) || Host(`www.${DOMAIN}`) || Host(`raffinerie.${DOMAIN}`) || Host(`bisik.${DOMAIN}`) || Host(`vavangart.${DOMAIN}`) || Host(`manapany.${DOMAIN}`) || Host(`demo.${DOMAIN}`) || Host(`${DOMAIN}`) + networks: + - frontend + +# pour demo : jturbeaux@pm.me / eiXom5mo + +networks: + frontend: + external: true + backend-billeterie: + name: "backend-billeterie" + From 51069a5e28e8f93b1fed1b2af983460aab58c834 Mon Sep 17 00:00:00 2001 From: Jonas Legion Date: Sat, 18 Dec 2021 08:38:54 +0400 Subject: [PATCH 2/8] gitignore --- .gitignore | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitignore b/.gitignore index b6e4761..eff900d 100644 --- a/.gitignore +++ b/.gitignore @@ -127,3 +127,7 @@ dmypy.json # Pyre type checker .pyre/ + +# postgres +./Postgres +Postgres/* From d7c76c2c81dff6514de2c43f44b91a983c54d32a Mon Sep 17 00:00:00 2001 From: Jonas Legion Date: Sat, 18 Dec 2021 09:04:03 +0400 Subject: [PATCH 3/8] pre log4s for dev' --- DjangoFiles/TiBillet/settings.py | 31 ++++++++++++++------------- Docker/Development/docker-compose.yml | 2 ++ Docker/Dockerfile/dockerfile | 7 +++++- 3 files changed, 24 insertions(+), 16 deletions(-) diff --git a/DjangoFiles/TiBillet/settings.py b/DjangoFiles/TiBillet/settings.py index b959cc6..9ca15bd 100644 --- a/DjangoFiles/TiBillet/settings.py +++ b/DjangoFiles/TiBillet/settings.py @@ -241,23 +241,24 @@ LOGGING = { 'class': 'logging.StreamHandler', 'formatter': 'simple', }, - 'logfile': { - 'level': 'INFO', - 'class': 'logging.handlers.RotatingFileHandler', - 'filename': f"{BASE_DIR}/www/Djangologfile", - 'formatter': 'simple', - 'maxBytes': 1024 * 1024 * 100, # 100 mb - }, - 'weasyprint': { - 'level': 'ERROR', - 'class': 'logging.handlers.RotatingFileHandler', - 'filename': f"{BASE_DIR}/www/weasyprint", - 'formatter': 'simple', - 'maxBytes': 1024 * 1024 * 100, # 100 mb - }, + # 'logfile': { + # 'level': 'INFO', + # 'class': 'logging.handlers.RotatingFileHandler', + # 'filename': f"{BASE_DIR}/www/Djangologfile", + # 'formatter': 'simple', + # 'maxBytes': 1024 * 1024 * 100, # 100 mb + # }, + # 'weasyprint': { + # 'level': 'ERROR', + # 'class': 'logging.handlers.RotatingFileHandler', + # 'filename': f"{BASE_DIR}/www/weasyprint", + # 'formatter': 'simple', + # 'maxBytes': 1024 * 1024 * 100, # 100 mb + # }, }, 'root': { 'level': 'INFO', - 'handlers': ['console', 'logfile', 'weasyprint'] + # 'handlers': ['console', 'logfile', 'weasyprint'] + 'handlers': ['console'] }, } \ No newline at end of file diff --git a/Docker/Development/docker-compose.yml b/Docker/Development/docker-compose.yml index e3fb4a0..4ed816d 100644 --- a/Docker/Development/docker-compose.yml +++ b/Docker/Development/docker-compose.yml @@ -21,6 +21,7 @@ services: extends: file: ../compose/docker-compose-base.yml service: billetterie_django + image: registry.3peaks.re/billetterie_django:2.8-bullyeses_python38_prelog4s command: "bash /DjangoFiles/launch.sh" env_file: .env ports: @@ -38,6 +39,7 @@ services: extends: file: ../compose/docker-compose-base.yml service: billetterie_celery + image: registry.3peaks.re/billetterie_django:2.8-bullyeses_python38_prelog4s command: "bash /DjangoFiles/launch_celery.sh" env_file: .env depends_on: diff --git a/Docker/Dockerfile/dockerfile b/Docker/Dockerfile/dockerfile index 1df7104..38aa3f8 100644 --- a/Docker/Dockerfile/dockerfile +++ b/Docker/Dockerfile/dockerfile @@ -1,4 +1,4 @@ -from python:3.8-bullseye +from python:3.7 ## UPDATE RUN apt-get update @@ -83,3 +83,8 @@ RUN python --version RUN django-admin --version RUN pip freeze +# docker build -t production_billetterie_django_demo:2.8-bullyeses_python38 . +# docker tag production_billetterie_django_demo registry.3peaks.re/billetterie_django:2.8-bullyeses_python38_prelog4s +# docker push registry.3peaks.re/billetterie_django:2.8-bullyeses_python38_prelog4s + +# docker pull docker push registry.3peaks.re/billetterie_django:2.8-bullyeses_python38_prelog4s \ No newline at end of file From fa848b89c155f047aba5f99032fd3e3eeed8ecde Mon Sep 17 00:00:00 2001 From: Moi Windows VSC Date: Sat, 18 Dec 2021 05:17:53 +0100 Subject: [PATCH 4/8] image pour dev --- Docker/Development/docker-compose.yml | 2 -- Docker/compose/docker-compose-base.yml | 6 ++++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Docker/Development/docker-compose.yml b/Docker/Development/docker-compose.yml index 4ed816d..e3fb4a0 100644 --- a/Docker/Development/docker-compose.yml +++ b/Docker/Development/docker-compose.yml @@ -21,7 +21,6 @@ services: extends: file: ../compose/docker-compose-base.yml service: billetterie_django - image: registry.3peaks.re/billetterie_django:2.8-bullyeses_python38_prelog4s command: "bash /DjangoFiles/launch.sh" env_file: .env ports: @@ -39,7 +38,6 @@ services: extends: file: ../compose/docker-compose-base.yml service: billetterie_celery - image: registry.3peaks.re/billetterie_django:2.8-bullyeses_python38_prelog4s command: "bash /DjangoFiles/launch_celery.sh" env_file: .env depends_on: diff --git a/Docker/compose/docker-compose-base.yml b/Docker/compose/docker-compose-base.yml index b2872d6..67b1d4b 100644 --- a/Docker/compose/docker-compose-base.yml +++ b/Docker/compose/docker-compose-base.yml @@ -20,7 +20,8 @@ services: billetterie_django: container_name: billetterie_django - build: ../Dockerfile/ +# build: ../Dockerfile/ + image: registry.3peaks.re/billetterie_django:2.8-bullyeses_python38_prelog4s restart: always # ports: # - 8002:8002 @@ -33,7 +34,8 @@ services: billetterie_celery: container_name: billetterie_celery - build: ../Dockerfile/ +# build: ../Dockerfile/ + image: registry.3peaks.re/billetterie_django:2.8-bullyeses_python38_prelog4s restart: always volumes: - "../../DjangoFiles:/DjangoFiles" From ed49281afc57f5fce2d8632c95b8a86747a59d9e Mon Sep 17 00:00:00 2001 From: Moi Windows VSC Date: Sat, 18 Dec 2021 05:45:29 +0100 Subject: [PATCH 5/8] Installation pour windowset vsc --- DjangoFiles/launch.sh | 4 +- Docker/Development/docker-compose.yml | 34 +++++----- Docker/Development/env_example | 2 +- windows install fr.md | 94 +++++++++++++++++++++++++++ 4 files changed, 113 insertions(+), 21 deletions(-) create mode 100644 windows install fr.md diff --git a/DjangoFiles/launch.sh b/DjangoFiles/launch.sh index 8366696..3b691eb 100755 --- a/DjangoFiles/launch.sh +++ b/DjangoFiles/launch.sh @@ -1,3 +1 @@ -sleep 30d - -# celery -A TiBillet worker -l INFO \ No newline at end of file +sleep 30d \ No newline at end of file diff --git a/Docker/Development/docker-compose.yml b/Docker/Development/docker-compose.yml index e3fb4a0..6680889 100644 --- a/Docker/Development/docker-compose.yml +++ b/Docker/Development/docker-compose.yml @@ -21,7 +21,7 @@ services: extends: file: ../compose/docker-compose-base.yml service: billetterie_django - command: "bash /DjangoFiles/launch.sh" + command: "sleep 30d" env_file: .env ports: - 8002:8002 @@ -50,23 +50,23 @@ services: - backend-billeterie - billetterie_nginx_dev: - extends: - file: ../compose/docker-compose-base.yml - service: billetterie_nginx + # billetterie_nginx_dev: + # extends: + # file: ../compose/docker-compose-base.yml + # service: billetterie_nginx - env_file: .env - depends_on: - - billetterie_django_dev - links: - - billetterie_django_dev:billetterie_django - labels: - - traefik.enable=true - - traefik.docker.network=frontend - - traefik.http.routers.billeterie_nginx.tls.certresolver=myresolver - - traefik.http.routers.billeterie_nginx.rule=Host(`m.${DOMAIN}`) || Host(`www.${DOMAIN}`) || Host(`raffinerie.${DOMAIN}`) || Host(`bisik.${DOMAIN}`) || Host(`vavangart.${DOMAIN}`) || Host(`manapany.${DOMAIN}`) || Host(`demo.${DOMAIN}`) || Host(`${DOMAIN}`) - networks: - - frontend + # env_file: .env + # depends_on: + # - billetterie_django_dev + # links: + # - billetterie_django_dev:billetterie_django + # labels: + # - traefik.enable=true + # - traefik.docker.network=frontend + # - traefik.http.routers.billeterie_nginx.tls.certresolver=myresolver + # - traefik.http.routers.billeterie_nginx.rule=Host(`m.${DOMAIN}`) || Host(`www.${DOMAIN}`) || Host(`raffinerie.${DOMAIN}`) || Host(`bisik.${DOMAIN}`) || Host(`vavangart.${DOMAIN}`) || Host(`manapany.${DOMAIN}`) || Host(`demo.${DOMAIN}`) || Host(`${DOMAIN}`) + # networks: + # - frontend # pour demo : jturbeaux@pm.me / eiXom5mo diff --git a/Docker/Development/env_example b/Docker/Development/env_example index b43c8d4..7e9fc51 100644 --- a/Docker/Development/env_example +++ b/Docker/Development/env_example @@ -1,7 +1,7 @@ # CHANGE ME DJANGO_SECRET='ingeci8ar6Ahr6aiBi!ghovezahs@eiNgai4eingaa1zaeRi7E' -POSTGRES_HOST='tibillet_postgres' +POSTGRES_HOST='billetterie_postgres' POSTGRES_USER='tibillet_postgres_user' POSTGRES_PASSWORD='tibillet_postgres_password' POSTGRES_DB='tibillet' diff --git a/windows install fr.md b/windows install fr.md new file mode 100644 index 0000000..a9ca8c4 --- /dev/null +++ b/windows install fr.md @@ -0,0 +1,94 @@ +# Installation Windows et contribuer avec VSC : + +### Installer VSC +https://code.visualstudio.com + +### Intaller Git +https://git-scm.com/download/win + +### Installer Docker +https://docs.docker.com/desktop/windows/install/ + +### Mettre a jour le kernel WSL +https://docs.microsoft.com/fr-fr/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package + +### dans power shell ( touche windows + x -> powershell admin) : +wsl --set-default-version 2 + +### modifier le etc/hosts +Avec les droits admin, modifier le fichier suivant : +C:\Windows\System32\drivers\etc\hosts + +rajoutez à la fin : +``` +# TiBillet Dev +127.0.0.1 tibillet-local.me +127.0.0.1 www.tibillet-local.me +127.0.0.1 demo.tibillet-local.me +``` + +## Récuperer le projet + +Créer un compte github +Lancer VSC +Clonez un dépot avec l'adresse : https://github.com/Nasjoe/TiBillet-Ticket +Autoriser VSC a se connecter avec son compte github + +Dans VSC, icone extension, installer : +Docker - Par microsoft +Django - Par Baptiste Darthenay + +## Docker containers +ouvrir un terminal : + + +``` +docker network create frontend +docker login registry.3peaks.re +docker pull registry.3peaks.re/billetterie_django:2.8-bullyeses_python38_prelog4s +``` + +Toujours dans le terminal, notifiez qui vous êtes : +``` +git config --global user.email "moi@moi.me" +git config --global user.name "Moi Windows VSC" +``` + + +### Copier les variables d'environement utiles au projet +Dans l'explorateur de gauche, ouvrir Docker/Development +Copier / coller env_example +renommer env_example copy en .env + +### Construire et lancer les conteneurs +clic droit sur docker-compose.yml -> Compose Up +Une fois terminé, si le parefeu windows se lance, cocher et accepter tout. + +### Entrer dans le conteneur qui fait tourner l'application +Allez sur l'onglet docker de VSC +Dans la partie CONTAINERS, clic droit sur billetterie_django -> attach shel + +### Créer la base de donnée et le super utilisateur +Dans le terminal qui s'ouvre: +``` +python manage.py migrate +python manage.py createdemo +python manage.py create_tenant_superuser + -> public +``` +Bien entrer nom, email et mot de passe. + +### lancer l'application +Toujours dans le conteneur : +``` +python /DjangoFiles/manage.py runserver_plus 0.0.0.0:8002 +``` + +### +Sur votre navigateur, aller sur : +http://demo.tibillet-local.me:8002 + +Pour l'admin : +http://demo.tibillet-local.me:8002/admin + +avec email / password créé plus haut \ No newline at end of file From 826ed5d6d18d5afc51e6e0489b9ce919d3018834 Mon Sep 17 00:00:00 2001 From: Moi Windows VSC Date: Sat, 18 Dec 2021 05:49:50 +0100 Subject: [PATCH 6/8] Mise en page --- windows install fr.md | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/windows install fr.md b/windows install fr.md index a9ca8c4..febc9b6 100644 --- a/windows install fr.md +++ b/windows install fr.md @@ -13,11 +13,13 @@ https://docs.docker.com/desktop/windows/install/ https://docs.microsoft.com/fr-fr/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package ### dans power shell ( touche windows + x -> powershell admin) : +``` wsl --set-default-version 2 +``` ### modifier le etc/hosts Avec les droits admin, modifier le fichier suivant : -C:\Windows\System32\drivers\etc\hosts +```C:\Windows\System32\drivers\etc\hosts``` rajoutez à la fin : ``` @@ -31,15 +33,18 @@ rajoutez à la fin : Créer un compte github Lancer VSC -Clonez un dépot avec l'adresse : https://github.com/Nasjoe/TiBillet-Ticket -Autoriser VSC a se connecter avec son compte github +Clonez un dépot avec l'adresse : ```https://github.com/Nasjoe/TiBillet-Ticket``` + +Autorisez VSC a se connecter avec son compte github Dans VSC, icone extension, installer : +``` Docker - Par microsoft Django - Par Baptiste Darthenay +``` -## Docker containers -ouvrir un terminal : +## Configurer docker +ouvrir un terminal dans VSC : ``` @@ -47,8 +52,10 @@ docker network create frontend docker login registry.3peaks.re docker pull registry.3peaks.re/billetterie_django:2.8-bullyeses_python38_prelog4s ``` +Demandez à Jonas en privé pour pull l'image :) -Toujours dans le terminal, notifiez qui vous êtes : + +Toujours dans le même terminal, notifiez à Git qui vous êtes : ``` git config --global user.email "moi@moi.me" git config --global user.name "Moi Windows VSC" @@ -56,16 +63,20 @@ git config --global user.name "Moi Windows VSC" ### Copier les variables d'environement utiles au projet -Dans l'explorateur de gauche, ouvrir Docker/Development -Copier / coller env_example +Dans l'explorateur de gauche, ouvrir Docker/Development. + +Copier / coller env_example. + renommer env_example copy en .env ### Construire et lancer les conteneurs clic droit sur docker-compose.yml -> Compose Up + Une fois terminé, si le parefeu windows se lance, cocher et accepter tout. ### Entrer dans le conteneur qui fait tourner l'application Allez sur l'onglet docker de VSC + Dans la partie CONTAINERS, clic droit sur billetterie_django -> attach shel ### Créer la base de donnée et le super utilisateur From 1559e1dbfeb0f9f37330a3928bc7faabbbfbb1dc Mon Sep 17 00:00:00 2001 From: Jonas Legion Date: Mon, 20 Dec 2021 09:35:53 +0400 Subject: [PATCH 7/8] compose --- Docker/Dockerfile/dockerfile | 8 ++++---- Docker/compose/docker-compose-base.yml | 9 +++++---- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/Docker/Dockerfile/dockerfile b/Docker/Dockerfile/dockerfile index 38aa3f8..52a0104 100644 --- a/Docker/Dockerfile/dockerfile +++ b/Docker/Dockerfile/dockerfile @@ -1,4 +1,4 @@ -from python:3.7 +from python:3.8-bullseye ## UPDATE RUN apt-get update @@ -9,16 +9,16 @@ RUN pip install pip --upgrade ## PYTHON RUN pip install django==2.2 -RUN pip install djangorestframework==3.11 -RUN pip install requests +RUN pip install django-admin-sortable2==1.0.2 +RUN pip install djangorestframework RUN pip install django-jet +RUN pip install requests RUN pip install gunicorn RUN pip install django-admin-rangefilter RUN pip install sentry-sdk RUN pip install python-dateutil RUN pip install Werkzeug RUN pip install django-solo -RUN pip install django-admin-sortable2 RUN pip install admin-totals RUN pip install django-tenants RUN pip install mollie-api-python diff --git a/Docker/compose/docker-compose-base.yml b/Docker/compose/docker-compose-base.yml index 67b1d4b..153a33a 100644 --- a/Docker/compose/docker-compose-base.yml +++ b/Docker/compose/docker-compose-base.yml @@ -20,8 +20,8 @@ services: billetterie_django: container_name: billetterie_django -# build: ../Dockerfile/ - image: registry.3peaks.re/billetterie_django:2.8-bullyeses_python38_prelog4s + build: ../Dockerfile/ +# image: registry.3peaks.re/billetterie_django:2.8-bullyeses_python38_prelog4s restart: always # ports: # - 8002:8002 @@ -34,8 +34,8 @@ services: billetterie_celery: container_name: billetterie_celery -# build: ../Dockerfile/ - image: registry.3peaks.re/billetterie_django:2.8-bullyeses_python38_prelog4s + build: ../Dockerfile/ +# image: registry.3peaks.re/billetterie_django:2.8-bullyeses_python38_prelog4s restart: always volumes: - "../../DjangoFiles:/DjangoFiles" @@ -44,6 +44,7 @@ services: # command: "bash /DjangoFiles/launch.sh" + billetterie_nginx: container_name: billetterie_nginx image: nginx From 00d731e692b01a7c3100824eb052aeb910147545 Mon Sep 17 00:00:00 2001 From: Jonas Legion Date: Mon, 20 Dec 2021 09:38:40 +0400 Subject: [PATCH 8/8] tuto windows --- windows install fr.md | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/windows install fr.md b/windows install fr.md index febc9b6..9318e39 100644 --- a/windows install fr.md +++ b/windows install fr.md @@ -49,10 +49,7 @@ ouvrir un terminal dans VSC : ``` docker network create frontend -docker login registry.3peaks.re -docker pull registry.3peaks.re/billetterie_django:2.8-bullyeses_python38_prelog4s ``` -Demandez à Jonas en privé pour pull l'image :) Toujours dans le même terminal, notifiez à Git qui vous êtes : @@ -65,9 +62,9 @@ git config --global user.name "Moi Windows VSC" ### Copier les variables d'environement utiles au projet Dans l'explorateur de gauche, ouvrir Docker/Development. -Copier / coller env_example. +Copier / coller env_example en env_example_copy -renommer env_example copy en .env +renommer env_example_copy en .env ### Construire et lancer les conteneurs clic droit sur docker-compose.yml -> Compose Up