| | 127 | |
| | 128 | = dex-cashier = |
| | 129 | |
| | 130 | This is the physical machine that hosts the cashier website. This website consists of a standalone django application, which relies on a nginx webserver and a mysql database. No additional configuration is needed. |
| | 131 | |
| | 132 | == nginx == |
| | 133 | |
| | 134 | This is a standard nginx instance which hands-off the real work to a uwsgi-server. Only static data is served from nginx (at /static). |
| | 135 | |
| | 136 | Nginx runs as a docker instance |
| | 137 | |
| | 138 | == mysql == |
| | 139 | |
| | 140 | This is a standard mysql docker image. A user account needs to be made for the django application (standard "cashier") |
| | 141 | |
| | 142 | == uwsgi == |
| | 143 | |
| | 144 | This container runs the actual website code as a docker container. The current website code needs to be installed in /var/o2eappserver/fig/website. This directory is available as /code inside the docker image. (Further paths in this section will be specific to the docker instance) |
| | 145 | |
| | 146 | === Migration === |
| | 147 | |
| | 148 | After schema changes a database migration needs to be run. cashier is a django 1.7 application, so migrations are handled directly by django. In the docker instance run |
| | 149 | {{{ |
| | 150 | % /code/manage.py migrate |
| | 151 | }}} |
| | 152 | |
| | 153 | === Initial start === |
| | 154 | |
| | 155 | Static content must be created first time the application is deployed. This is done in the docker instance using |
| | 156 | |
| | 157 | {{{ |
| | 158 | % /code/manage.py collectstatic |
| | 159 | }}} |