Update Dockerfile to use an entrypoint
Mimmick what Kresus is doing so that generated file are not owned by root. Fix for #106.
This commit is contained in:
parent
83ff6be409
commit
f55b6a940b
@ -20,7 +20,7 @@ docker build -t phyks/flatisfy .
|
|||||||
mkdir flatisfy
|
mkdir flatisfy
|
||||||
cd flatisfy
|
cd flatisfy
|
||||||
FLATISFY_VOLUME=$(pwd)
|
FLATISFY_VOLUME=$(pwd)
|
||||||
docker run -it -v $FLATISFY_VOLUME:/flatisfy phyks/flatisfy sh -c "cd /home/user/app && python -m flatisfy init-config > /flatisfy/config.json"
|
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"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
@ -35,7 +35,7 @@ docker run -it -v $FLATISFY_VOLUME:/flatisfy phyks/flatisfy sh -c "cd /home/user
|
|||||||
4\. Finally, run the docker image to fetch flats and serve the web UI:
|
4\. Finally, run the docker image to fetch flats and serve the web UI:
|
||||||
|
|
||||||
```
|
```
|
||||||
docker run -it -v $FLATISFY_VOLUME:/flatisfy -p 8080:8080 phyks/flatisfy
|
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`!
|
Your Flatisfy instance is now available at `localhost:8080`!
|
||||||
@ -44,7 +44,7 @@ Your Flatisfy instance is now available at `localhost:8080`!
|
|||||||
To fetch new housing posts, you should manually call
|
To fetch new housing posts, you should manually call
|
||||||
|
|
||||||
```
|
```
|
||||||
docker run -it -v $FLATISFY_VOLUME:/flatisfy phyks/flatisfy /home/user/fetch.sh
|
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
|
This can be done easily in a crontask on your host system, to run it typically
|
||||||
|
@ -19,7 +19,7 @@ RUN curl -sL https://deb.nodesource.com/setup_8.x | bash - \
|
|||||||
&& apt-get install -y nodejs
|
&& apt-get install -y nodejs
|
||||||
|
|
||||||
# Install weboob's code itself.
|
# Install weboob's code itself.
|
||||||
RUN git clone https://git.weboob.org/weboob/devel /home/user/weboob \
|
RUN git clone --depth 1 https://git.weboob.org/weboob/devel /home/user/weboob \
|
||||||
&& cd /home/user/weboob \
|
&& cd /home/user/weboob \
|
||||||
&& pip install .
|
&& pip install .
|
||||||
|
|
||||||
@ -40,9 +40,14 @@ RUN mkdir -p /home/user/.local/share/flatisfy
|
|||||||
|
|
||||||
COPY ./run.sh /home/user/run.sh
|
COPY ./run.sh /home/user/run.sh
|
||||||
RUN chmod +x /home/user/run.sh
|
RUN chmod +x /home/user/run.sh
|
||||||
|
|
||||||
|
COPY ./entrypoint.sh /home/user/entrypoint.sh
|
||||||
|
RUN chmod +x /home/user/entrypoint.sh
|
||||||
|
|
||||||
COPY ./update_weboob.sh /home/user/update_weboob.sh
|
COPY ./update_weboob.sh /home/user/update_weboob.sh
|
||||||
RUN chmod +x /home/user/update_weboob.sh
|
RUN chmod +x /home/user/update_weboob.sh
|
||||||
|
|
||||||
# Run server.
|
# Run server.
|
||||||
EXPOSE 8080
|
EXPOSE 8080
|
||||||
CMD /home/user/run.sh
|
ENTRYPOINT ["/home/user/entrypoint.sh"]
|
||||||
|
CMD ["/home/user/run.sh"]
|
||||||
|
20
docker/entrypoint.sh
Normal file
20
docker/entrypoint.sh
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Add local user
|
||||||
|
# Either use the LOCAL_USER_ID if passed in at runtime or
|
||||||
|
# fallback
|
||||||
|
USER_ID=${LOCAL_USER_ID:-9001}
|
||||||
|
|
||||||
|
echo "[ENTRYPOINT] Starting with UID : $USER_ID"
|
||||||
|
usermod -u $USER_ID -o user
|
||||||
|
export HOME=/home/user
|
||||||
|
|
||||||
|
echo "[ENTRYPOINT] Setting fake values for git config..."
|
||||||
|
git config --global user.email flatisfy@example.com
|
||||||
|
git config --global user.name "Flatisfy Root"
|
||||||
|
|
||||||
|
echo "Update Weboob..."
|
||||||
|
/home/user/update_weboob.sh
|
||||||
|
|
||||||
|
exec su user -c "$@"
|
@ -1,16 +1,13 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
echo "Update Weboob..."
|
|
||||||
/home/user/update_weboob.sh
|
|
||||||
|
|
||||||
echo "Building data for Flatisfy..."
|
echo "Building data for Flatisfy..."
|
||||||
cd /home/user/app
|
cd /home/user/app
|
||||||
su user -c "python -m flatisfy build-data -v --config /flatisfy/config.json"
|
python -m flatisfy build-data -v --config /flatisfy/config.json
|
||||||
|
|
||||||
echo "Fetching new housing posts..."
|
echo "Fetching new housing posts..."
|
||||||
cd /home/user/app
|
cd /home/user/app
|
||||||
su user -c "python -m flatisfy import -v --config /flatisfy/config.json"
|
python -m flatisfy import -v --config /flatisfy/config.json
|
||||||
|
|
||||||
echo "Starting web UI..."
|
echo "Starting web UI..."
|
||||||
exec su user -c "python -m flatisfy serve -v --config /flatisfy/config.json"
|
python -m flatisfy serve -v --config /flatisfy/config.json
|
||||||
|
@ -1,10 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
echo "Setting fake values for git config..."
|
|
||||||
git config --global user.email flatisfy@example.com
|
|
||||||
git config --global user.name "Flatisfy Root"
|
|
||||||
|
|
||||||
echo "Updating Weboob..."
|
echo "Updating Weboob..."
|
||||||
cd /home/user/weboob
|
cd /home/user/weboob
|
||||||
git pull
|
git pull
|
||||||
|
Loading…
Reference in New Issue
Block a user