@@ -4,7 +4,7 @@ ENV DEBIAN_FRONTEND=noninteractive
44
55# Install build dependencies
66RUN apt-get update && apt-get install -y --no-install-recommends \
7- git curl sbcl make unzip ca-certificates \
7+ git curl sbcl make unzip ca-certificates \
88 libsqlite3-dev libssl-dev gawk freetds-dev jq \
99 && rm -rf /var/lib/apt/lists/*
1010
@@ -21,36 +21,32 @@ RUN \
2121 wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - && \
2222 apt update && \
2323 apt install -y less man-db sudo vim jq python-is-python3 python3-virtualenv \
24- locales postgresql-client-16 openssh-server
24+ locales postgresql-client-16 openssh-server tini supervisor
2525
26+ # setup env
2627RUN \
2728 touch /.dockerenv && \
2829 echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && \
2930 locale-gen en_US.UTF-8 && \
3031 update-locale ANG=en_US.UTF-8 LANGUAGE=en_US.UTF-8 LC_ALL=en_US.UTF-8
3132
32- # Ensure default `node` user has access to `sudo`
33- ARG USERNAME=node
34- RUN \
35- echo $USERNAME ALL=\( root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME \
36- && chmod 0440 /etc/sudoers.d/$USERNAME
37-
38- # install ops and plugins
39- USER node
40- RUN \
41- curl -sL https://raw.githubusercontent.com/apache/openserverless-cli/refs/heads/main/install.sh | bash
33+ # pgloader, uv, opencode, concurrently, ops
34+ COPY --from=pgloader-builder /build/pgloader/build/bin/pgloader /usr/bin/pgloader
4235RUN \
4336 curl -LsSf https://astral.sh/uv/install.sh | sh
44-
45- ENV PATH="/home/node/.local/bin:${PATH}"
46-
4737RUN \
48- ops -update
38+ npm install -g concurrently opencode-ai
4939RUN \
50- git clone https://github.com/apache/openserverless-devcontainer /home/node/.ops/openserverless-devcontainer ;\
51- ln -sf /home/node/.ops/devcontaine/olaris-tk /home/node/olaris-tk
52-
53- COPY --from=pgloader-builder /build/pgloader/build/bin/pgloader /usr/bin/pgloader
54- ADD start-ssh.sh /start-ssh.sh
55-
56- CMD ["/start-ssh.sh" ]
40+ curl -sL https://raw.githubusercontent.com/apache/openserverless-cli/refs/heads/main/install.sh | bash \
41+ && mv ~/.local/bin/ops /usr/local/bin/ops
42+
43+ # remove node
44+ RUN userdel node ; rm -Rvf /home/node
45+ ENV HOME=/home
46+ ENV OPS_BRANCH=main
47+ ADD start.sh /start.sh
48+
49+ ENTRYPOINT ["tini" , "--" ]
50+ CMD ["/start.sh" ]
51+ RUN mkdir /workspace
52+ WORKDIR /workspace
0 commit comments