flatisfy/doc/2.docker.md
Phyks (Lucas Verney) f55b6a940b Update Dockerfile to use an entrypoint
Mimmick what Kresus is doing so that generated file are not owned by
root. Fix for #106.
2017-12-30 19:57:14 +01:00

1.6 KiB

Installing Flatisfy using Docker

A basic Dockerfile is available for rapid testing. It is still really hacky and should not be used in production.

1. First, build the docker image:

cd docker
docker build -t phyks/flatisfy .

2. Then, create some folder to store your Flatisfy data in a permanent way (it will be mount as a Docker volume in next steps), and initialize an empty config:

mkdir flatisfy
cd flatisfy
FLATISFY_VOLUME=$(pwd)
docker run -it -e LOCAL_USER_ID=`id -u` -v $FLATISFY_VOLUME:/flatisfy phyks/flatisfy sh -c "cd /home/user/app && python -m flatisfy init-config > /flatisfy/config.json"

3. Then, edit the generated $FLATISFY_VOLUME/config.json file according to your needs. See 0.getting_started.md for more infos on the configuration file format. You will have to define your constraints (at least postal codes, house type and type of post), set data_directory to /flatisfy and set host to 0.0.0.0 to make the web UI accessible from outside the Docker container. The rest is up to you.

4. Finally, run the docker image to fetch flats and serve the web UI:

docker run -it -e LOCAL_USER_ID=`id -u` -v $FLATISFY_VOLUME:/flatisfy -p 8080:8080 phyks/flatisfy

Your Flatisfy instance is now available at localhost:8080!

To fetch new housing posts, you should manually call

docker run -it -e LOCAL_USER_ID=`id -u` -v $FLATISFY_VOLUME:/flatisfy phyks/flatisfy /home/user/fetch.sh

This can be done easily in a crontask on your host system, to run it typically every night.