first commit
This commit is contained in:
89
README.md
Normal file
89
README.md
Normal file
@@ -0,0 +1,89 @@
|
||||
# taal-academie.arree.bzh
|
||||
|
||||
Project structure :
|
||||
|
||||
```
|
||||
.
|
||||
├── django
|
||||
│ ├── Dockerfile
|
||||
│ ├── requirements.txt
|
||||
│ └── src
|
||||
│ ├── config
|
||||
│ ├── development.env
|
||||
│ ├── home
|
||||
│ ├── local.env
|
||||
│ ├── manage.py
|
||||
│ ├── pages
|
||||
│ ├── production.env
|
||||
│ └── workshops
|
||||
├── compose.dev.yml
|
||||
├── compose.local.yml
|
||||
├── compose.prod.yml
|
||||
├── compose.yml
|
||||
├── nginx
|
||||
│ ├── default.conf
|
||||
│ └── Dockerfile
|
||||
└── README.md
|
||||
```
|
||||
|
||||
## Deployment with Nerdctl Compose
|
||||
|
||||
Can be used as well in Nerdctl root or [rootless](https://docs.docker.com/engine/security/rootless/) mode.
|
||||
|
||||
There are three profiles :
|
||||
|
||||
* Development : with only the database
|
||||
* Local : for local testing of the production stack
|
||||
* Production : Final deployment on the server
|
||||
|
||||
### Development
|
||||
|
||||
To run the development profile from the project `django/src` directory :
|
||||
|
||||
```
|
||||
$ ( cd ../.. && nerdctl compose -f compose.yml -f compose.dev.yml up -d postgres )
|
||||
```
|
||||
|
||||
Then when calling the `manage.py` script we need to pass `DJANGO_ENV` to load `src/dev.env`, like in the
|
||||
following example to start the Django development server :
|
||||
|
||||
```
|
||||
$ DJANGO_ENV=dev python manage.py runserver
|
||||
```
|
||||
|
||||
To not have to pass this for each `manage.py` execution you may export `DJANGO_ENV` from your `.bashrc` :
|
||||
|
||||
```
|
||||
$ echo -e "\n# Django development\nexport DJANGO_ENV=dev" >> ~/.bashrc
|
||||
```
|
||||
|
||||
> Need to restart the session !
|
||||
|
||||
### Local
|
||||
|
||||
To run the local profile from the project `django/src` directory :
|
||||
|
||||
```
|
||||
$ ( cd ../.. && nerdctl compose -f compose.yml -f compose.local.yml up -d )
|
||||
```
|
||||
|
||||
### Production
|
||||
|
||||
To run the production profile from the directory where the `compose.yml` file lives :
|
||||
|
||||
```
|
||||
$ nerdctl compose -f compose.yml -f compose.prod.yml up -d
|
||||
```
|
||||
|
||||
At the first launch, it is advised to run the Deployment checklist from `manage.py` to check if there are some security
|
||||
improvements :
|
||||
|
||||
```
|
||||
$ nerdctl exec -it django_taal-academiearreebzh python /django/manage.py check --deploy
|
||||
```
|
||||
|
||||
Then create an admin user for the Django admin panel :
|
||||
|
||||
```
|
||||
$ nerdctl exec -it django_taal-academiearreebzh python /django/manage.py createsuperuser
|
||||
```
|
||||
Reference in New Issue
Block a user