Compare commits
	
		
			1 Commits
		
	
	
	| Author | SHA1 | Date | 
|---|---|---|
| 
							
							
								
									
								
								 | 
						1cc2a50df8 | 
							
								
								
									
										140
									
								
								README.md
								
								
								
								
							
							
						
						
									
										140
									
								
								README.md
								
								
								
								
							| 
						 | 
					@ -1,61 +1,79 @@
 | 
				
			||||||
# eva
 | 
					# eva
 | 
				
			||||||
 | 
					
 | 
				
			||||||
A simple tool for on- and offboarding people in a mid sized organisation.
 | 
					A simple tool for on- and offboarding people in a mid sized organisation.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"EVA" is an german acronym for "Eintritt, Veränderung, Austritt",
 | 
					"EVA" is an german acronym for "Eintritt, Veränderung, Austritt",
 | 
				
			||||||
meaning "Onboarding, Change, Offboarding"
 | 
					meaning "Onboarding, Change, Offboarding"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# development
 | 
					# development
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- install gettext for instance via "apt install gettext" for translations
 | 
					- install gettext for instance via `apt install gettext` for translations
 | 
				
			||||||
 | 
					- set up a virtual environment with virtualenvwrapper or some other environment managing tool
 | 
				
			||||||
- set up a virtual environment with virtualenvwrapper or some other
 | 
					- use this environment and do
 | 
				
			||||||
environment managing tool
 | 
					```
 | 
				
			||||||
 | 
					pip install django django-multiselectfield django-formtools django-allauth
 | 
				
			||||||
- use this environment and do
 | 
					```
 | 
				
			||||||
 | 
					- clone this repository
 | 
				
			||||||
    pip install django django-multiselectfield django-formtools django-allauth
 | 
					- `ln -sr eva/settings_development.py eva/settings.py`
 | 
				
			||||||
 | 
					- initialise your database with `python manage.py migrate`
 | 
				
			||||||
- clone this repository
 | 
					- start your development server with `python manage.py runserver`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- ln -sr eva/settings_development.py eva/settings.py
 | 
					# oauth
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- initialise your database with
 | 
					- You need to add oauth information in the django backend via .../admin in "Social Accounts"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    python manage.py migrate
 | 
					# production
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- start your development server with
 | 
					- you can use gunicorn as server for example instead of the django development server.
 | 
				
			||||||
 | 
					- we use whitenoise for serving static files
 | 
				
			||||||
    python manage.py runserver
 | 
					- we still use the development SQLITE database from django
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# oauth
 | 
					do the following in the project main directory:
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
- You need to add oauth information in the django backend via .../admin in "Social Accounts"
 | 
					  ln -sr eva/settings_production.py eva/settings.py
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
# production
 | 
					edit /secrets.json to contain something similar to
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
- you can use gunicorn as server for example instead of the django development server.
 | 
					  {
 | 
				
			||||||
 | 
					    "SECRET_KEY": "THIS IS ANOTHER SECRET!"
 | 
				
			||||||
- we use whitenoise for serving static files
 | 
					  }
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
- we still use the development SQLITE database from django
 | 
					run the following commands:
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
do the following in the project main directory:
 | 
					  python3 manage.py migrate
 | 
				
			||||||
 | 
					  python3 manage.py collectstatic
 | 
				
			||||||
  ln -sr eva/settings_production.py eva/settings.py
 | 
					  django-admin compilemessages
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
edit /secrets.json to contain something similar to
 | 
					
 | 
				
			||||||
 | 
					As root create a file `/etc/systemd/system` (it's already deployed by puppet when the corresponding manifest is applied):
 | 
				
			||||||
  {
 | 
					
 | 
				
			||||||
    "SECRET_KEY": "THIS IS ANOTHER SECRET!"
 | 
					```
 | 
				
			||||||
  }
 | 
					# /etc/systemd/system/eva.service
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
run the following commands:
 | 
					
 | 
				
			||||||
 | 
					[Unit]
 | 
				
			||||||
  python3 manage.py migrate
 | 
					Description=gunicorn EVA daemon
 | 
				
			||||||
  python3 manage.py collectstatic
 | 
					After=network.target
 | 
				
			||||||
  django-admin compilemessages
 | 
					
 | 
				
			||||||
 | 
					[Service]
 | 
				
			||||||
server starts with
 | 
					Type=simple
 | 
				
			||||||
 | 
					User=eva
 | 
				
			||||||
  export PYTHONUNBUFFERED=TRUE; nohup gunicorn --forwarded-allow-ips="*" -b '0:8000' eva.wsgi &> logfile &
 | 
					Group=eva
 | 
				
			||||||
 | 
					RuntimeDirectory=eva
 | 
				
			||||||
 | 
					WorkingDirectory=/home/eva/eva
 | 
				
			||||||
 | 
					Environment=PYTHONUNBUFFERED=TRUE
 | 
				
			||||||
 | 
					ExecStart=/usr/bin/gunicorn  --forwarded-allow-ips='*' -b '0:8000' eva.wsgi
 | 
				
			||||||
 | 
					ExecReload=/bin/kill -s HUP $MAINPID
 | 
				
			||||||
 | 
					KillMode=mixed
 | 
				
			||||||
 | 
					TimeoutStopSec=5
 | 
				
			||||||
 | 
					PrivateTmp=true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[Install]
 | 
				
			||||||
 | 
					WantedBy=multi-user.target
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Adapt the paths in the file accordingly. Then, still as root, run:
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					systemctl enable --now eva.service
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					This enables the service to start at boot time and starts it immediately now. The daemon logs to the journal. You can see the last 10 lines by running `systemctl status eva.service` or the whole log by running `journalctl -u eva.service`. The usual switches to manipulate that output are available.
 | 
				
			||||||
		Loading…
	
		Reference in New Issue