Skip to content

Commit 4e5412b

Browse files
committed
feat: add python with node
1 parent df784e9 commit 4e5412b

1 file changed

Lines changed: 42 additions & 0 deletions

File tree

3.13/node/Dockerfile

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# tags=articulate/python:3.13-node
2+
# syntax=docker/dockerfile:1
3+
FROM python:3.13-slim-bookworm
4+
5+
ENV SERVICE_ROOT=/service SERVICE_USER=service SERVICE_UID=1001
6+
7+
ARG TARGETARCH
8+
9+
ADD --chmod=755 https://raw.githubusercontent.com/articulate/docker-bootstrap/main/scripts/install_packages /usr/local/bin/install_packages
10+
ADD --chmod=755 https://raw.githubusercontent.com/articulate/docker-bootstrap/main/scripts/awscli.sh /tmp/awscli.sh
11+
# Add AWS RDS CA trusted root certificates
12+
ADD --chmod=644 https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem /usr/local/share/ca-certificates/aws-rds-global-bundle.pem
13+
14+
RUN install_packages make dumb-init ca-certificates && /tmp/awscli.sh && rm /tmp/awscli.sh \
15+
# Install Node.js
16+
&& install_packages curl gnupg \
17+
&& curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \
18+
&& echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_24.x nodistro main" > /etc/apt/sources.list.d/nodesource.list \
19+
&& install_packages nodejs \
20+
&& apt-get remove -y curl gnupg \
21+
# Create our own user and remove the node user
22+
&& groupadd --gid $SERVICE_UID $SERVICE_USER \
23+
&& useradd --create-home --shell /bin/bash --gid $SERVICE_UID --uid $SERVICE_UID $SERVICE_USER \
24+
# Split PEM bundle into individual cert files for update-ca-certificates
25+
&& csplit -s -z -n 3 -f /usr/local/share/ca-certificates/aws-rds-ca- \
26+
/usr/local/share/ca-certificates/aws-rds-global-bundle.pem \
27+
'/-----BEGIN CERTIFICATE-----/' '{*}' \
28+
&& for f in /usr/local/share/ca-certificates/aws-rds-ca-*; do mv "$f" "$f.crt"; done \
29+
&& update-ca-certificates
30+
31+
ADD --chmod=755 https://github.com/articulate/docker-bootstrap/releases/latest/download/docker-bootstrap_linux_${TARGETARCH} /entrypoint
32+
ADD --chmod=755 https://raw.githubusercontent.com/articulate/docker-bootstrap/main/scripts/docker-secrets /usr/local/bin/secrets
33+
ADD --chmod=755 https://raw.githubusercontent.com/vishnubob/wait-for-it/81b1373f17855a4dc21156cfe1694c31d7d1792e/wait-for-it.sh /wait-for-it.sh
34+
35+
USER $SERVICE_USER
36+
WORKDIR $SERVICE_ROOT
37+
38+
# Our entrypoint will pull in our environment variables from Consul and Vault,
39+
# and execute whatever command we provided the container.
40+
# See https://github.com/articulate/docker-bootstrap
41+
ENTRYPOINT [ "dumb-init", "--", "/entrypoint" ]
42+

0 commit comments

Comments
 (0)