Skip to content

Latest commit

 

History

History
88 lines (73 loc) · 2.49 KB

README_UPDATES.md

File metadata and controls

88 lines (73 loc) · 2.49 KB

Ajouter de nouvelles horaires

En local

  • Pour ajouter de nouvelles horaires, il faut executer ce docker-compose en local : (en ajustant le volume pour pointer vers la session désirée)

(Si la BD est pas créée, vous devez l'initialiser avec le code dans le README.md, adapté pour docker.)

-> Assurez-vous de builder votre image avant de lancer.

version: "3.8"
services:
    web:
      build: .
      image: <repo>/rubik:latest
      ports:
        - "8000:3000"
      volumes:
        - ./db/raw/ets/2022/automne/tous:/rubik/db/raw/ets/2022/automne/tous
      environment:
        - [email protected]
        - AIRBRAKE_PROJECT_ID=1234
        - AIRBRAKE_API_KEY=1234
        - [email protected]
        - GA_ANALYTICS_ID=""
        - GOOGLE_AD_CLIENT=""
        - GOOGLE_OAUTH_CLIENT_ID=some_client_id
        - GOOGLE_OAUTH_CLIENT_SECRET=some_client_secret
        #- DATABASE_URL=mysql2://<username>:<pass>@<host>:<port>/<db_name>
        - DATABASE_HOST=db
        - RAILS_ENV=development
        - SECRET_KEY_BASE=
        - SENDGRID_USERNAME=apikey
        - SENDGRID_PASSWORD=
        - REDIS_URL=redis://redis:6379/0
      networks:
        - rubik_network
    redis:
      image: redis
      ports:
        - "6739:6739"
      networks:
        - rubik_network
    db:
      image: mysql:5.7
      container_name: db
      environment:
        MYSQL_ALLOW_EMPTY_PASSWORD: 'true'
        MYSQL_USER: basic_user
        MYSQL_PASSWORD: db_user_pass
      ports:
        - "3306:3306"
      volumes:
        - dbdata:/var/lib/mysql
      networks:
        - rubik_network

volumes:
  dbdata:

networks:
  rubik_network:
    external: true
    name: rubik_network
  • Ensuite, il faut exécuter la fonction suivante:
docker exec -it rubik_web_1 rails ets_pdf:etl
  • S'il y a des erreurs et que vous devez corriger les fichiers TXT, il faut se les approprier sur votre compte avec chown.

  • Après, on build l'image et on la push sur DockerHub.

En production

Sur l'instance de production, on fait les étapes suivantes:

  • On push l'image depuis DockerHub
  • On change la variable d'environnement PDF_FOLDER=db/raw/ets/2022/automne/**/* dans le docker-compose.yaml
  • On relance l'instance: DOCKER_GATEWAY_HOST="$(ip -4 addr show docker0 | grep -Po 'inet \K[\d.]+')" docker-compose -f production.yml up -d
  • On exécute la commande: docker exec -it rubik_web_1 rails ets_pdf:etl
  • On va dans la BD et on active la nouvelle session qu'on vient de créer.