Compare commits
4 commits
b1c8d6c66e
...
5e9b0169de
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5e9b0169de | ||
|
|
fd5feeaeb5 | ||
|
|
ac0401cee2 | ||
|
|
23a3fd6459 |
3 changed files with 12 additions and 2 deletions
4
.gitattributes
vendored
Normal file
4
.gitattributes
vendored
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
# Shell must stay LF: containers execute entrypoint scripts from the bind-mount
|
||||
# and dash rejects CRLF (a `set -e\r` line aborts startup with
|
||||
# "set: Illegal option -").
|
||||
*.sh text eol=lf
|
||||
|
|
@ -5,6 +5,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [Unreleased]
|
||||
### Fixed
|
||||
- LFX runtime user gets a home directory (`useradd -m`, `HOME` set):
|
||||
without one every flow run failed with "Settings service not found".
|
||||
### Security
|
||||
- Production ops: `scripts/check_prod.py` validates `.env` secrets and
|
||||
modes before deploy (with tests); README production checklist
|
||||
|
|
|
|||
|
|
@ -13,8 +13,11 @@ ENV PYTHONUNBUFFERED=1 \
|
|||
ARG LFX_VERSION=1.12.0
|
||||
RUN pip install "lfx~=${LFX_VERSION}" requests
|
||||
|
||||
# Non-root runtime: uploads persist into the mounted volume.
|
||||
RUN useradd -r -s /bin/false lfx && mkdir -p /flows && chown lfx /flows
|
||||
# Non-root runtime: uploads persist into the mounted volume. The user needs
|
||||
# a home directory: lfx resolves settings/cache paths from $HOME, and
|
||||
# without one every flow run fails ("Settings service not found").
|
||||
ENV HOME=/home/lfx
|
||||
RUN useradd -r -m -s /bin/false lfx && mkdir -p /flows && chown lfx /flows
|
||||
VOLUME /flows
|
||||
EXPOSE 6004
|
||||
USER lfx
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue