| 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 | }}} |