Skip to content

Commit ef4611a

Browse files
goniszewskiSparkensteingpoussel
committed
Release v0.5.0 (#168)
* chore: release v0.4.1-hotfix.3 * fix(data-migration): early return if no categories have parents (#128) Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * Closes #130 (#131) Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix(database): use dynamic path for SQLite database file Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * docs(readme): use single README file for latest/preview version Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * feat(ci): add manual deployment workflow and adjust tag conditions Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * refactor(workflow): simplify manual-deploy GitHub Action Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix(metadata): handle multiple image URLs in mainImageUrl field Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix: auth error handling (#144) * refactor(api): migrate Swagger UI to external documentation and enhance health endpoint Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * chore: release v0.4.3 * fix(docker): resolve issue with data directory permissions (#150) * Fix issue #153: creation/update of root categories (#157) * chore: release v0.4.3 (#149) * chore: release v0.4.1-hotfix.3 * fix(data-migration): early return if no categories have parents (#128) Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * Closes #130 (#131) Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix(database): use dynamic path for SQLite database file Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * docs(readme): use single README file for latest/preview version Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * feat(ci): add manual deployment workflow and adjust tag conditions Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * refactor(workflow): simplify manual-deploy GitHub Action Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix(metadata): handle multiple image URLs in mainImageUrl field Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix: auth error handling (#144) * refactor(api): migrate Swagger UI to external documentation and enhance health endpoint Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * chore: release v0.4.3 --------- Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> Co-authored-by: Prabhanjan <zetabytes.pp@gmail.com> * Fix creation/update of root categories --------- Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> Co-authored-by: Robert Goniszewski <43510122+goniszewski@users.noreply.github.com> Co-authored-by: Prabhanjan <zetabytes.pp@gmail.com> * Fix issue #145: bookmarks without images (#156) * chore: release v0.4.3 (#149) * chore: release v0.4.1-hotfix.3 * fix(data-migration): early return if no categories have parents (#128) Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * Closes #130 (#131) Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix(database): use dynamic path for SQLite database file Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * docs(readme): use single README file for latest/preview version Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * feat(ci): add manual deployment workflow and adjust tag conditions Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * refactor(workflow): simplify manual-deploy GitHub Action Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix(metadata): handle multiple image URLs in mainImageUrl field Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix: auth error handling (#144) * refactor(api): migrate Swagger UI to external documentation and enhance health endpoint Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * chore: release v0.4.3 --------- Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> Co-authored-by: Prabhanjan <zetabytes.pp@gmail.com> * Fix bookmark creation/update without image --------- Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> Co-authored-by: Robert Goniszewski <43510122+goniszewski@users.noreply.github.com> Co-authored-by: Prabhanjan <zetabytes.pp@gmail.com> * chore: release v0.4.4 * Feat: import bookmarks (#139) * feat(import): add Netscape bookmark import function Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * feat(components): add bulk list management components Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * feat(bulk-list): add metadata loading states and indicators Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * refactor(bulk-list): centralize bookmark management with dedicated store Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * feat(import): refactor bookmark import to handle file content directly Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * refactor: improve URL display and pagination handling Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * feat(import): add WIP bookmark import page with bulk processing capabilities Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * feat(components): add custom Select component and improve bulk list editing Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * feat(import): restructure bookmark import flow and add edit capabilities Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * refactor(bookmarks): improve metadata handling and type definitions Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * feat(import): implement WIP bookmark import execution with metadata support Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * refactor(import): update HTML bookmark import flow Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix(import): unable to create DB entities from import data Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix: add missing preventDefault to action buttons Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix(import): resolve issues with updating to-be-imported bookmarks * feat(import): finalize basic bookmark import flow Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * feat(import): add styling, handle errors Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * feat(import): add batch processing, transactions, storing images, display errors Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> --------- Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * chore: release v0.5.0-pre.1 * Resolves #133 (#162) * chore: release v0.4.4 (#158) * chore: release v0.4.1-hotfix.3 * fix(data-migration): early return if no categories have parents (#128) Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * Closes #130 (#131) Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix(database): use dynamic path for SQLite database file Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * docs(readme): use single README file for latest/preview version Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * feat(ci): add manual deployment workflow and adjust tag conditions Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * refactor(workflow): simplify manual-deploy GitHub Action Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix(metadata): handle multiple image URLs in mainImageUrl field Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix: auth error handling (#144) * refactor(api): migrate Swagger UI to external documentation and enhance health endpoint Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * chore: release v0.4.3 * fix(docker): resolve issue with data directory permissions (#150) * Fix issue #153: creation/update of root categories (#157) * chore: release v0.4.3 (#149) * chore: release v0.4.1-hotfix.3 * fix(data-migration): early return if no categories have parents (#128) Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * Closes #130 (#131) Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix(database): use dynamic path for SQLite database file Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * docs(readme): use single README file for latest/preview version Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * feat(ci): add manual deployment workflow and adjust tag conditions Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * refactor(workflow): simplify manual-deploy GitHub Action Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix(metadata): handle multiple image URLs in mainImageUrl field Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix: auth error handling (#144) * refactor(api): migrate Swagger UI to external documentation and enhance health endpoint Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * chore: release v0.4.3 --------- Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> Co-authored-by: Prabhanjan <zetabytes.pp@gmail.com> * Fix creation/update of root categories --------- Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> Co-authored-by: Robert Goniszewski <43510122+goniszewski@users.noreply.github.com> Co-authored-by: Prabhanjan <zetabytes.pp@gmail.com> * Fix issue #145: bookmarks without images (#156) * chore: release v0.4.3 (#149) * chore: release v0.4.1-hotfix.3 * fix(data-migration): early return if no categories have parents (#128) Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * Closes #130 (#131) Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix(database): use dynamic path for SQLite database file Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * docs(readme): use single README file for latest/preview version Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * feat(ci): add manual deployment workflow and adjust tag conditions Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * refactor(workflow): simplify manual-deploy GitHub Action Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix(metadata): handle multiple image URLs in mainImageUrl field Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix: auth error handling (#144) * refactor(api): migrate Swagger UI to external documentation and enhance health endpoint Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * chore: release v0.4.3 --------- Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> Co-authored-by: Prabhanjan <zetabytes.pp@gmail.com> * Fix bookmark creation/update without image --------- Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> Co-authored-by: Robert Goniszewski <43510122+goniszewski@users.noreply.github.com> Co-authored-by: Prabhanjan <zetabytes.pp@gmail.com> * chore: release v0.4.4 --------- Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> Co-authored-by: Prabhanjan <zetabytes.pp@gmail.com> Co-authored-by: Guillaume Poussel <gpoussel@users.noreply.github.com> * feat(docker): implement s6-overlay Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix(docker): use proper tag in compose Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> --------- Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> Co-authored-by: Prabhanjan <zetabytes.pp@gmail.com> Co-authored-by: Guillaume Poussel <gpoussel@users.noreply.github.com> * chore: release v0.5.0-pre.2 * fix(build): resolve issue with lodash causing build fail Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix(Dockerfile): remove grimoire user causing problems, limit layers count, simplify Dockerfile Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * fix(Dockerfile): ensure all packages are in sync Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> * chore: release v0.5.0 (#167) --------- Signed-off-by: Robert Goniszewski <robertgoniszewski@outlook.com> Co-authored-by: Prabhanjan <zetabytes.pp@gmail.com> Co-authored-by: Guillaume Poussel <gpoussel@users.noreply.github.com>
1 parent 237f833 commit ef4611a

File tree

2 files changed

+26
-31
lines changed

2 files changed

+26
-31
lines changed

Dockerfile

Lines changed: 18 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,29 @@
1-
FROM --platform=$BUILDPLATFORM oven/bun:1.2 AS base
1+
FROM oven/bun AS builder
22
LABEL maintainer="Grimoire Developers <contact@grimoire.pro>"
33
LABEL description="Bookmark manager for the wizards"
44
LABEL org.opencontainers.image.source="https://github.com/goniszewski/grimoire"
55
RUN adduser --disabled-password --gecos '' --uid 10001 grimoire
66

7-
FROM base AS builder
8-
9-
RUN mkdir -p /etc/s6-overlay/s6-rc.d/grimoire /etc/s6-overlay/s6-rc.d/user/contents.d /app/data
10-
11-
ARG TARGETARCH
127
RUN apt-get update && \
13-
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
14-
xz-utils wget python3 python3-pip build-essential && \
15-
rm -rf /var/lib/apt/lists/*;
8+
apt-get upgrade -y && \
9+
apt-get install -y --no-install-recommends \
10+
xz-utils python3 python3-pip wget build-essential && \
11+
dpkg --configure -a && \
12+
rm -rf /var/lib/apt/lists/* && \
13+
mkdir -p /etc/s6-overlay/s6-rc.d/grimoire /etc/s6-overlay/s6-rc.d/user/contents.d
14+
15+
RUN mkdir -p /app/data
1616

17-
ARG S6_OVERLAY_VERSION=3.2.1.0
18-
RUN case "${TARGETARCH}" in \
19-
"amd64") S6_ARCH="x86_64" ;; \
20-
"arm64") S6_ARCH="aarch64" ;; \
21-
"386") S6_ARCH="i686" ;; \
22-
"arm/v7") S6_ARCH="armhf" ;; \
23-
"arm/v6") S6_ARCH="arm" ;; \
24-
*) S6_ARCH="x86_64" && echo "Warning: Unknown architecture ${TARGETARCH}, defaulting to x86_64" ;; \
25-
esac && \
26-
echo "Architecture: Docker ${TARGETARCH} -> s6-overlay ${S6_ARCH}" && \
27-
wget -q -O /tmp/s6-overlay-noarch.tar.xz https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-noarch.tar.xz && \
28-
wget -q -O /tmp/s6-overlay-${S6_ARCH}.tar.xz https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-${S6_ARCH}.tar.xz && \
29-
tar -C / -Jxpf /tmp/s6-overlay-noarch.tar.xz && \
30-
tar -C / -Jxpf /tmp/s6-overlay-${S6_ARCH}.tar.xz && \
17+
ARG S6_OVERLAY_VERSION=3.1.6.2
18+
ARG TARGETARCH=x86_64
19+
ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-noarch.tar.xz /tmp
20+
ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-${TARGETARCH}.tar.xz /tmp
21+
RUN tar -C / -Jxpf /tmp/s6-overlay-noarch.tar.xz && \
22+
tar -C / -Jxpf /tmp/s6-overlay-${TARGETARCH}.tar.xz && \
3123
rm /tmp/s6-overlay-*xz
3224

3325
COPY docker/etc/s6-overlay /etc/s6-overlay/
34-
RUN chmod +x /etc/s6-overlay/s6-rc.d/grimoire/run && \
35-
chmod +x /etc/s6-overlay/s6-rc.d/init-data-permissions/up && \
36-
chmod +x /etc/s6-overlay/scripts/init-data-permissions.sh
26+
RUN chmod +x /etc/s6-overlay/s6-rc.d/grimoire/run
3727

3828
ENV S6_KEEP_ENV=1 \
3929
S6_SERVICES_GRACETIME=15000 \
@@ -65,12 +55,9 @@ ENV NODE_ENV=production \
6555
NODE_OPTIONS="--max-old-space-size=4096"
6656
RUN bun --bun run build
6757

68-
FROM base AS release
58+
FROM builder AS release
6959

70-
RUN mkdir -p /app/data && chown -R grimoire:grimoire /app/data && chmod 766 /app/data
71-
WORKDIR /app
72-
73-
# Copy only the necessary files for the release
60+
COPY --from=dependencies /app/node_modules ./node_modules
7461
COPY --from=build /app/build ./build
7562
COPY --from=build /app/migrations ./migrations
7663
COPY --from=build /app/migrate.js ./migrate.js

docker/etc/s6-overlay/s6-rc.d/grimoire/run

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
cd /app
44

5+
<<<<<<< HEAD
56
echo "Starting Grimoire application"
67
echo "Current user: $(whoami)"
78
echo "Working directory: $(pwd)"
@@ -29,3 +30,10 @@ echo "Migrations completed successfully"
2930
# Start the application
3031
echo "Starting application server..."
3132
exec s6-setuidgid grimoire /usr/local/bin/bun ./build/index.js
33+
=======
34+
# Run migrations first
35+
/usr/local/bin/bun run run-migrations
36+
37+
# Start the application
38+
exec /usr/local/bin/bun ./build/index.js
39+
>>>>>>> 8890939 (Release v0.5.0 (#168))

0 commit comments

Comments
 (0)