Browse Source

fix DB path and add instructions for docker deployment

pull/1/head
Trent Larson 11 months ago
parent
commit
72653abaf5
  1. 39
      README.md
  2. 6
      app.py

39
README.md

@ -1,6 +1,34 @@
# py-push-server # py-push-server
## Docker Compose Setup ## Docker Build & Deploy
```
export PUSH_SERVER_VERSION=0.1
# also in build.sh
docker build --tag py-push-server:amd-$PUSH_SERVER_VERSION --platform linux/amd64 .
docker save -o ~/dl/py-push-server-amd-$PUSH_SERVER_VERSION.tar py-push-server:amd-$PUSH_SERVER_VERSION
bzip2 ~/dl/py-push-server-amd-$PUSH_SERVER_VERSION.tar
```
... and then on the server after transferring that file:
```
export PUSH_SERVER_VERSION=0.1
bzip2 -d py-push-server-amd-$PUSH_SERVER_VERSION.tar.bz2
sudo docker load -i py-push-server-amd-$PUSH_SERVER_VERSION.tar
sudo docker run -d -p 8900:3000 -v ~/py-push-server-db:/app/instance/data --name py-push-server-$PUSH_SERVER_VERSION py-push-server:amd-$PUSH_SERVER_VERSION
```
## Docker Compose & HAProxy Setup
On first run you need to: On first run you need to:
@ -8,7 +36,7 @@ On first run you need to:
`docker network create phoenix-network` `docker network create phoenix-network`
## HAProxy setup ### HAProxy setup
... in docker-compose.yml ... ... in docker-compose.yml ...
@ -181,7 +209,7 @@ NOTE: `timesafari-pwa.anomalistlabs.com` PWA sits on the root
timesafari-pwa.anomalistlabs.com/web-push/ web_push_backend timesafari-pwa.anomalistlabs.com/web-push/ web_push_backend
``` ```
## The rest .. ### The rest ..
`docker-compose up -d` should just work :-) `docker-compose up -d` should just work :-)
@ -192,11 +220,6 @@ timesafari-pwa.anomalistlabs.com/web-push/ web_push_backend
## Run the server outside Docker ## Run the server outside Docker
Run the app: Run the app:

6
app.py

@ -9,6 +9,7 @@ from pywebpush import webpush, WebPushException
import base64 import base64
import json import json
import os
import threading import threading
import time import time
@ -36,7 +37,10 @@ class WebPushService():
self.app = app self.app = app
# Setting the database URI for the application # Setting the database URI for the application
self.app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///data/webpush.db' db_uri = os.getenv('SQLALCHEMY_DATABASE_URI', 'sqlite:////app/instance/data/webpush.db')
# This relative path works in docker-compose
#db_uri = os.getenv('SQLALCHEMY_DATABASE_URI', 'sqlite:///data/webpush.db')
self.app.config['SQLALCHEMY_DATABASE_URI'] = db_uri
# Initializing the database with the application # Initializing the database with the application
db.init_app(self.app) db.init_app(self.app)

Loading…
Cancel
Save