flatisfy/doc/2.docker.md

52 lines
1.6 KiB
Markdown
Raw Normal View History

2017-12-05 14:56:08 +01:00
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 --rm -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"
```
2017-11-27 12:23:08 +01:00
3\. Then, edit the generated `$FLATISFY_VOLUME/config.json` file according to your needs. See
[0.getting_started.md](0.getting_started.md) for more infos on the
2017-11-27 12:23:08 +01:00
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`!
2017-11-27 12:23:08 +01:00
To fetch new housing posts, you should manually call
```
docker run --rm -it -e LOCAL_USER_ID=`id -u` -v $FLATISFY_VOLUME:/flatisfy phyks/flatisfy /home/user/fetch.sh
2017-11-27 12:23:08 +01:00
```
This can be done easily in a crontask on your host system, to run it typically
every night.