51 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# AEMO - Fribourg
 | 
						|
 | 
						|
## Description
 | 
						|
 | 
						|
TODO
 | 
						|
 | 
						|
## Dev environment with docker-compose
 | 
						|
 | 
						|
Prerequisites:
 | 
						|
 | 
						|
- Docker & docker-compose installed on your system
 | 
						|
- "docker" group exists on your system (`sudo groupadd docker` will fail anyway if it exists)
 | 
						|
- Your user in "docker" group (`sudo usermod -aG docker $USER` + restart your system)
 | 
						|
 | 
						|
### Setup
 | 
						|
 | 
						|
You first have to create the untracked file "settings/__init__.py" to be able to run the docker environment.
 | 
						|
Use command line: `echo "from settings.dev_docker import *" > settings/__init__.py`
 | 
						|
 | 
						|
Then, you have to add your POST API credentials in it.
 | 
						|
settings/__init__.py should looks like:
 | 
						|
 | 
						|
```python
 | 
						|
from settings.dev_docker import *
 | 
						|
 | 
						|
 | 
						|
POST_API_USER = 'your user'
 | 
						|
POST_API_PASSWORD = 'your password'
 | 
						|
```
 | 
						|
 | 
						|
### Quick start
 | 
						|
 | 
						|
To run a dev environment: `docker-compose up -d`  
 | 
						|
Then you'll be able to reach your local environment on localhost:8000
 | 
						|
 | 
						|
To collect static: `docker-compose exec web /src/manage.py collectstatic`
 | 
						|
 | 
						|
To restart & rebuild your environment: `docker-compose down --remove-orphans && docker-compose up -d --build`
 | 
						|
 | 
						|
To use Python debugger (breakpoint): `docker attach $(docker-compose ps -q web)`
 | 
						|
 | 
						|
### Clone production data in your dev environment
 | 
						|
 | 
						|
There are three fabric tasks you can use to clone & prepare production data in your dev environment:
 | 
						|
 | 
						|
- `fab -r docker-dev -H <HOST> download-remote-data` dumps remote (production) DB, downloads it and synchronizes media
 | 
						|
- `fab -r docker-dev import-db-in-dev` overwrites local DB with the production DB
 | 
						|
- `fab -r docker-dev create-admin-in-dev` create a superuser with credentials admin/admin
 | 
						|
 | 
						|
You can also proceed all tasks in the same command with:
 | 
						|
`fab -r docker-dev -H <HOST> download-remote-data import-db-in-dev create-admin-in-dev`
 |