piku/examples/python-postgres/README.md

38 wiersze
1.5 KiB
Markdown

# Postgres backed Python + Django app
This is a simple Piku app to demonstrate deploying a Postgres backed Django app.
During the `release` worker phase this app creates a Postgres database, as well as running the Django `collectstatic` and `migrate` tasks. The `release` worker will use the domain name (`NGINX_SERVER_NAME`) for the database name and the Django app assumes this in [settings.py](pikudjango/settings.py), so make sure you set the config variable to specify a domain name. See below for instructions.
In order for this to work you will first need to install `postgresql` on your Piku server. You can do this with the [bootstrap script](https://github.com/piku/piku-bootstrap):
```shell
ssh root@my-piku-server
./piku-bootstrap postgres.yml
```
To publish this app to `piku`, make a copy of this folder and run the following commands inside the copy:
```bash
git init .
git remote add piku piku@your_server:pypostgres
git add .
git commit -a -m "initial commit"
git push piku master
```
Then you can connect a domain, set up an SSL cert, and create a database, by setting the `NGINX_SERVER_NAME` config variable.
```bash
piku config:set NGINX_SERVER_NAME=your_domain_name.com NGINX_HTTPS_ONLY=1
```
You can also create a super user and set a password like this:
```bash
piku run -- ./manage.py createsuperuser --email your@email.com --username admin --no-input
piku run -- ./manage.py changepassword admin
```
You will not see a prompt after the second command but you can type a new password anyway and hit enter.