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
COPY . .
# declare var
ARG ENV
ARG BOOK_UID
ARG BOOK_GID
RUN groupadd -g ${BOOK_GID} pybook && useradd -m -u ${BOOK_UID} -g ${BOOK_GID} pybook
# 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 apt-get update && apt-get install -y sudo && apt-get -y upgrade
RUN wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
RUN apt-get update && \
RUN wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb && \
apt-get install -y ./google-chrome-stable_current_amd64.deb && \
apt-get install -f -y && \
apt-get install sudo && \
apt-get upgrade -y && \
rm ./google-chrome-stable_current_amd64.deb && \
rm -f ./google-chrome-stable_current_amd64.deb && \
apt-get clean
RUN pip3 install --upgrade pip
RUN pip3 install -U -r requirements.txt
# just copy requirements for now, helps with build optimisation
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 chmod 600 .sk
EXPOSE 80

16
README
View File

@@ -16,27 +16,27 @@ pip3 install --user flask sqlalchemy flask-sqlalchemy flask-marshmallow SQLAlche
########################################################### FOR local RUN:
# 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..
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 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 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 build bookdb_web
sudo docker compose -f /srv/docker/config/docker-compose.yml up bookdb_web
########################################################## 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)
##### 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
#### 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
#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):
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_USER_DN'] = 'ou=users'
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_BIND_USER_DN'] = None
app.config['LDAP_BIND_USER_PASSWORD'] = None