Compare commits

...

3 Commits

3 changed files with 22 additions and 23 deletions

View File

@@ -1,29 +1,28 @@
FROM python FROM python:latest
WORKDIR /code WORKDIR /code
COPY . .
# declare var # declare var
ARG ENV ARG ENV
ARG BOOK_UID ARG BOOK_UID
ARG BOOK_GID ARG BOOK_GID
RUN groupadd -g ${BOOK_GID} pybook && useradd -m -u ${BOOK_UID} -g ${BOOK_GID} pybook RUN apt-get update && apt-get install -y sudo && apt-get -y upgrade
# in prod, /code will be owned by root and gunicorn logs wont work, so chg to pybook
RUN if [ "$ENV" = "production" ]; then \
chown -R pybook:pybook /code; \
fi
RUN wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb RUN wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb && \
RUN apt-get update && \
apt-get install -y ./google-chrome-stable_current_amd64.deb && \ apt-get install -y ./google-chrome-stable_current_amd64.deb && \
apt-get install -f -y && \ apt-get install -f -y && \
apt-get install sudo && \ rm -f ./google-chrome-stable_current_amd64.deb && \
apt-get upgrade -y && \
rm ./google-chrome-stable_current_amd64.deb && \
apt-get clean apt-get clean
RUN pip3 install --upgrade pip # just copy requirements for now, helps with build optimisation
RUN pip3 install -U -r requirements.txt COPY requirements.txt .
RUN pip3 install --upgrade pip && pip3 install -r requirements.txt
RUN groupadd -g ${BOOK_GID} pybook && useradd -m -u ${BOOK_UID} -g ${BOOK_GID} pybook
COPY . .
# in prod, /code will be owned by root and gunicorn logs wont work, so chg to pybook
RUN chown -R pybook:pybook /code
RUN cat /dev/urandom | head -c 50 | md5sum | head -c 32 > /code/.sk RUN cat /dev/urandom | head -c 50 | md5sum | head -c 32 > /code/.sk
RUN chmod 600 .sk RUN chmod 600 .sk
EXPOSE 80 EXPOSE 80

16
README
View File

@@ -16,27 +16,27 @@ pip3 install --user flask sqlalchemy flask-sqlalchemy flask-marshmallow SQLAlche
########################################################### FOR local RUN: ########################################################### FOR local RUN:
# run a DEV version by: # run a DEV version by:
FLASK_APP=main FLASK_ENV=development flask run --host=192.168.0.2 FLASK_APP=main FLASK_ENV=development flask run --host=mara.ddp.net
### to make a new PROD copy.. ### to make a new PROD copy..
sudo docker-compose -f /srv/docker/config/docker-compose.yml stop bookdb_web sudo docker compose -f /srv/docker/config/docker-compose.yml stop bookdb_web
sudo docker-compose -f /srv/docker/config/docker-compose.yml rm bookdb_web sudo docker compose -f /srv/docker/config/docker-compose.yml rm bookdb_web
sudo docker-compose -f /srv/docker/config/docker-compose.yml build bookdb_web sudo docker compose -f /srv/docker/config/docker-compose.yml build bookdb_web
sudo docker-compose -f /srv/docker/config/docker-compose.yml up bookdb_web sudo docker compose -f /srv/docker/config/docker-compose.yml up bookdb_web
########################################################## Remember: ########################################################## Remember:
MUST use form.errors when we have a validator that is fancier than not empty (year_published in book and num_books in series SO FAR) MUST use form.errors when we have a validator that is fancier than not empty (year_published in book and num_books in series SO FAR)
##### make backup / export: ##### make backup / export:
ddp@mara:/srv/docker/container/bookdb_dev$ sudo docker exec -it bookdb_dev bash ddp@mara:/srv/docker/container/bookdb_dev$ docker exec -it bookdb_dev bash
root@5eff50ab6cdc:/# pg_dump --user=ddp library > /docker-entrypoint-initdb.d/tables.sql root@5eff50ab6cdc:/# pg_dump --user=ddp library > /docker-entrypoint-initdb.d/tables.sql
#### if we want to upgrade postgres, do this extra step #### if we want to upgrade postgres, do this extra step
sudo docker-compose -f /srv/docker/config/docker-compose.yml stop bookdb_dev docker compose -f /srv/docker/config/docker-compose.yml stop bookdb_dev
sudo rm -rf /srv/docker/container/bookdb_dev/data sudo rm -rf /srv/docker/container/bookdb_dev/data
#tweak docker-compose.yml to upgrade PG... #tweak docker-compose.yml to upgrade PG...
sudo docker-compose -f /srv/docker/config/docker-compose.yml up -d bookdb_dev docker compose -f /srv/docker/config/docker-compose.yml up -d bookdb_dev
########################################################### TODOS (next 29): ########################################################### TODOS (next 29):
Validation: Validation:

View File

@@ -45,7 +45,7 @@ app.config['LDAP_HOST'] = 'mara.ddp.net'
app.config['LDAP_BASE_DN'] = 'dc=depaoli,dc=id,dc=au' app.config['LDAP_BASE_DN'] = 'dc=depaoli,dc=id,dc=au'
app.config['LDAP_USER_DN'] = 'ou=users' app.config['LDAP_USER_DN'] = 'ou=users'
app.config['LDAP_GROUP_DN'] = 'ou=groups' app.config['LDAP_GROUP_DN'] = 'ou=groups'
app.config['LDAP_USER_RDN_ATTR'] = 'cn' app.config['LDAP_USER_RDN_ATTR'] = 'uid'
app.config['LDAP_USER_LOGIN_ATTR'] = 'uid' app.config['LDAP_USER_LOGIN_ATTR'] = 'uid'
app.config['LDAP_BIND_USER_DN'] = None app.config['LDAP_BIND_USER_DN'] = None
app.config['LDAP_BIND_USER_PASSWORD'] = None app.config['LDAP_BIND_USER_PASSWORD'] = None