From 9d155d171e916cd3c2c34f6c50955745f8929e79 Mon Sep 17 00:00:00 2001 From: JF Date: Tue, 2 Jul 2019 13:22:33 -0700 Subject: added a docker dev environment Signed-off-by: Jan Friedli --- Dockerfile | 8 ++++++++ README.md | 6 ++++++ docker-compose.yml | 12 ++++++++++++ requirements.txt | 5 +++++ 4 files changed, 31 insertions(+) create mode 100644 Dockerfile create mode 100644 docker-compose.yml create mode 100644 requirements.txt diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..5ca3fd8 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,8 @@ +FROM python:3.7 +ADD . /mat2-web +WORKDIR /mat2-web +RUN apt-get update +RUN apt install -y python3-gi python3-gi-cairo gir1.2-poppler-0.18 \ +gir1.2-gdkpixbuf-2.0 libimage-exiftool-perl libgirepository1.0-dev +RUN pip install -r requirements.txt +CMD flask run --host=0.0.0.0 \ No newline at end of file diff --git a/README.md b/README.md index 2e01c14..0ee91ac 100644 --- a/README.md +++ b/README.md @@ -79,6 +79,12 @@ collector cronjob to remove leftover files. Besides, it can create a the uploads folder, to ensure that the uploaded files won't be recoverable between reboots. +# Development +Install docker and docker-compose and then run `docker-compose up` to setup +the docker dev environment. Mat2-web is now accessible on your host machine at `localhost:5000`. +Every code change triggers a restart of the app. +If you want to add/remove dependencies you have to rebuild the container. + # Custom templates You can override the default templates from `templates/` by putting replacements diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..c5f8b32 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,12 @@ +version: '2' +services: + web: + build: . + environment: + - FLASK_APP=main.py + - FLASK_ENV=development + ports: + - "5000:5000" + volumes: + - .:/mat2-web + restart: always diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..7cab5aa --- /dev/null +++ b/requirements.txt @@ -0,0 +1,5 @@ +mutagen==1.42.0 +ffmpeg==1.4 +bubblewrap==1.2.0 +mat2==0.9.0 +flask==1.0.3 \ No newline at end of file -- cgit v1.3