Skip to content

Latest commit

 

History

History
94 lines (64 loc) · 2.17 KB

README.md

File metadata and controls

94 lines (64 loc) · 2.17 KB

insalan.fr infrastructure

This repository is here to hold all insalan.fr infrastructure.

Contributing

Please read carefully the CONTRIBUTING.md file before any contribution.

Installing and running insalan.fr in local

git clone git@github.com:InsaLan/infra-insalan.fr.git --recurse-submodules
cp .env.dist .env
chmod 0600 .env

Edit your .env with your local settings then:

docker compose -f docker-compose-beta.yml up --build -d

You can also launch the beta synchronously to get the logs:

docker compose -f docker-compose-beta.yml up --build

Then to stop the containers:

docker compose -f docker-compose-beta.yml down

The website is available at the value of WEBSITE_HOST which should be insalan.fr or insalan.localhost depending on where it's running. It's API backend is available at api.WEBSITE_HOST.

The "beta" environment is available at beta.WEBSITE_HOST and it's own API at api.beta.WEBSITE_HOST. There is hotreload for the front (with vite), back (with django runserver), and nginx (thanks to a custom script).

Running the prod environment

Put 0 in the .env file for the DEV variable. Run the following command:

docker compose -f docker-compose.yml build
docker compose -f docker-compose.yml up -d

To stop the prod environment:

docker compose -f docker-compose.yml down

The dev frontend is available at WEBSITE_HOST and it's API at api.WEBSITE_HOST.

Tests

It's important to run the tests to ensure that you didn't break anything.

docker exec infra-insalanfr-beta-backend-1 python manage.py test --parallel auto

Makefile

A makefile has been created to create shortcut for the command presented above. For example, you can launch the beta just by typing:

make run-beta

And you can run the tests with

make test-back

Cleanup

Docker can take a lot of disk space with all the images. You have a few options to clean it up:

  • make clean-all will remove all the containers and images
  • make clean-custom will remove all the custom images (the ones we build and not the ones we pull from docker hub)