82 lines
2.9 KiB
Markdown
82 lines
2.9 KiB
Markdown
Role Name
|
|
=========
|
|
|
|
This role installs nmgfitness: https://gitea.caret.be/jens/nmgfitness
|
|
|
|
Requirements
|
|
------------
|
|
|
|
This role requires a database server to to be present where the django app can connect to
|
|
|
|
Role Variables
|
|
--------------
|
|
|
|
- `django_admin_password`: required, password for 'admin' user
|
|
- `django_secret_key`: optional Secret Key for Django app, defaults to random 56char string recreated on every run (This will invalidated current open sessions)
|
|
- `django_user`: user running the app, defaults to 'django' (this user will be created)
|
|
- `django_home`: path to install the djangoapp in, defaults to /home/django (this path will be created)
|
|
- `django_domain`: the domain this app will run on (Needed for django's ALLOWED_HOSTS), default localhost
|
|
- `django_db_name`: database name, defaults to 'django'
|
|
- `django_db_user`: database user, defaults to 'django'
|
|
- `django_db_password`: database password, defaults to '', (ignored for unix socket connection)
|
|
- `django_db_host`: database server, defaults to '/run/postgresql/' for local unix socket connection
|
|
- `django_db_port`: database port, defaults to 5432 (ignored for unix socket connection)
|
|
- `django_workers`: the number of gunicorn http worker threads (defaults to 4)
|
|
- `django_http_listen`: the ip address to bind to, change this to ip address of the host if you use a reverse proxy on a different host, defaults to localhost
|
|
- `django_http_port`: the http port to bind to, defaults to 80
|
|
|
|
Dependencies
|
|
------------
|
|
None
|
|
|
|
Example Playbook
|
|
----------------
|
|
|
|
```yaml
|
|
- name: "Install im pantry app"
|
|
hosts: im
|
|
roles:
|
|
- ansible-role-djangoapp
|
|
vars:
|
|
- django_domain: "im.example.com"
|
|
- django_http_listen: "{{inventory_hostname}}"
|
|
- django_admin_password: "test"
|
|
- django_app_releaseurl: "https://gitea.caret.be/jens/im/archive/main.tar.gz"
|
|
```
|
|
|
|
```yaml
|
|
- name: "Install im pantry app"
|
|
hosts: im
|
|
roles:
|
|
- ansible-role-djangoapp
|
|
vars:
|
|
- django_appname: "im"
|
|
- django_domain: "im.example.com"
|
|
- django_admin_email: "im@example.com"
|
|
- django_http_listen: "{{inventory_hostname}}"
|
|
- django_http_listen: "192.168.1.112"
|
|
- django_http_port: 8000
|
|
# needs to be a tar.gz for now
|
|
# needs to have a settings_template.py.j2 file in the django_appname folder
|
|
- django_app_releaseurl: "https://gitea.caret.be/jens/im/archive/main.tar.gz"
|
|
- django_admin_password: !vault |
|
|
$ANSIBLE_VAULT;1.1;AES256
|
|
33366337663233346138373232353438613362636634393334613935303466343238646361613037
|
|
3738623833643738636162303362383665646132616362320a366338313363356634636534653932
|
|
36383131333437613236303662346637633536373637343562336465663639353765616130353536
|
|
3439653639343234390a636334383262663363353030333837316430383762346463386166626637
|
|
6536
|
|
```
|
|
|
|
|
|
|
|
License
|
|
-------
|
|
|
|
GPL-v3
|
|
|
|
Author Information
|
|
------------------
|
|
|
|
Jens (gitea.caret.be)
|