kopia lustrzana https://github.com/piku/piku
38 wiersze
1.5 KiB
Markdown
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.
|