Features: - Full RBAC with 3 roles (superadmin/manager/contributor) - Ownership tracking on posts, tasks, campaigns, projects - Task system: assign to anyone, filter combobox, visibility scoping - Team members merged into users table (single source of truth) - Post thumbnails on kanban cards from attachments - Publication link validation before publishing - Interactive onboarding tutorial with Settings restart - Full Arabic/English i18n with RTL layout support - Language toggle in sidebar, IBM Plex Sans Arabic font - Brand-based visibility filtering for non-superadmins - Manager can only create contributors - Profile completion flow for new users - Cookie-based sessions (express-session + SQLite)
42 lines
965 B
Plaintext
Executable File
42 lines
965 B
Plaintext
Executable File
# Usage:
|
|
#
|
|
# docker build -t bcryptjs-linux-alpine-builder -f Dockerfile-alpine .
|
|
# CONTAINER=$(docker create bcryptjs-linux-alpine-builder)
|
|
# # Then copy the artifact to your host:
|
|
# docker cp "$CONTAINER:/usr/local/opt/bcrypt-js/prebuilds" .
|
|
# docker rm "$CONTAINER"
|
|
|
|
ARG FROM_IMAGE=node:18-alpine
|
|
FROM ${FROM_IMAGE}
|
|
|
|
ENV project bcrypt-js
|
|
ENV DEBIAN_FRONTEND noninteractive
|
|
ENV LC_ALL en_US.UTF-8
|
|
ENV LANG ${LC_ALL}
|
|
|
|
RUN echo "#log: ${project}: Setup system" \
|
|
&& set -x \
|
|
&& apk add --update build-base python3 \
|
|
&& npm i -g prebuildify@5 node-gyp@9 \
|
|
&& sync
|
|
|
|
ADD . /usr/local/opt/${project}
|
|
WORKDIR /usr/local/opt/${project}
|
|
|
|
RUN echo "#log: ${project}: Running build" \
|
|
&& set -x \
|
|
&& npm ci \
|
|
&& npm run build
|
|
|
|
ARG RUN_TESTS=true
|
|
ARG TEST_TIMEOUT_SECONDS=
|
|
|
|
RUN if "${RUN_TESTS}"; then \
|
|
echo "#log ${project}: Running tests" \
|
|
&& npm test; \
|
|
else \
|
|
echo "#log ${project}: Tests were skipped!"; \
|
|
fi
|
|
|
|
CMD /bin/bash -l
|