mirror of
https://github.com/simonmichael/hledger.git
synced 2024-11-07 21:15:19 +03:00
package: added Dockerfile
This commit is contained in:
parent
5bb20fcdec
commit
c719eb7c67
1
.dockerignore
Normal file
1
.dockerignore
Normal file
@ -0,0 +1 @@
|
||||
**/.stack-work
|
41
Dockerfile
Normal file
41
Dockerfile
Normal file
@ -0,0 +1,41 @@
|
||||
FROM debian:stable-slim as dev
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get install -y curl libtinfo-dev
|
||||
RUN (curl -sSL https://get.haskellstack.org/ | sh)
|
||||
RUN mkdir /root/hledger
|
||||
WORKDIR /root/hledger
|
||||
|
||||
# Install GHC
|
||||
COPY ./stack*.yaml ./
|
||||
RUN stack setup
|
||||
|
||||
# Pre-cache dependencies
|
||||
RUN mkdir hledger-lib hledger hledger-ui hledger-web hledger-api
|
||||
COPY hledger-lib/package.yaml hledger-lib/package.yaml
|
||||
COPY hledger/package.yaml hledger/package.yaml
|
||||
COPY hledger-ui/package.yaml hledger-ui/package.yaml
|
||||
COPY hledger-web/package.yaml hledger-web/package.yaml
|
||||
COPY hledger-api/package.yaml hledger-api/package.yaml
|
||||
RUN stack install --dependencies-only
|
||||
|
||||
# Actually compile sources
|
||||
COPY . .
|
||||
RUN stack install
|
||||
|
||||
FROM debian:stable-slim
|
||||
|
||||
RUN apt-get update && apt-get install libgmp10 && rm -rf /var/lib/apt/lists
|
||||
|
||||
COPY --from=dev /root/.local/bin/hledger* /usr/bin/
|
||||
|
||||
ENV LC_ALL C.UTF-8
|
||||
|
||||
RUN mkdir /data && touch /data/hledger.journal
|
||||
VOLUME /data
|
||||
|
||||
EXPOSE 5000 5001
|
||||
|
||||
COPY docker/start.sh /start.sh
|
||||
|
||||
CMD ["/start.sh"]
|
11
docker/README.md
Normal file
11
docker/README.md
Normal file
@ -0,0 +1,11 @@
|
||||
## Build instructions
|
||||
|
||||
Build slim container with binaries only
|
||||
```
|
||||
docker image build --rm --tag hledger .
|
||||
```
|
||||
|
||||
Build container suitable for development
|
||||
```
|
||||
docker image build --tag hledger --target dev .
|
||||
```
|
19
docker/start.sh
Executable file
19
docker/start.sh
Executable file
@ -0,0 +1,19 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "host: ${HLEDGER_HOST:=0.0.0.0}"
|
||||
echo "port: ${HLEDGER_PORT:=5000}"
|
||||
echo "base url: ${HLEDGER_BASE_URL:="http://localhost:$HLEDGER_PORT"}"
|
||||
echo "file url: ${HLEDGER_FILE_URL:=}"
|
||||
echo "input file: ${HLEDGER_JOURNAL_FILE:=/data/hledger.journal}"
|
||||
echo "debug level: ${HLEDGER_DEBUG:=1}"
|
||||
echo "rules file: ${HLEDGER_RULES_FILE:=/data/hledger.rules}"
|
||||
|
||||
exec hledger-web \
|
||||
--server \
|
||||
--host=$HLEDGER_HOST \
|
||||
--port=$HLEDGER_PORT \
|
||||
--file "$HLEDGER_JOURNAL_FILE" \
|
||||
--debug=$HLEDGER_DEBUG \
|
||||
--base-url=$HLEDGER_BASE_URL \
|
||||
--file-url=$HLEDGER_FILE_URL \
|
||||
--rules-file="$HLEDGER_RULES_FILE"
|
Loading…
Reference in New Issue
Block a user