Skip to content

Commit d0abf84

Browse files
authored
1.7.0 (#32)
* bump version to 1.7.0 * update HMR mode; make a single dev container for every service; etc * update translations
1 parent b3bda36 commit d0abf84

17 files changed

Lines changed: 770 additions & 328 deletions

.env

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
1-
APP_PATH=/opt/outline
2-
SRC_PATH=./outline
1+
COMPOSE_PROFILES=dev
32

4-
ADDRESS=localhost
5-
PORT_OUTLINE=10240
6-
PORT_OIDC=10241
7-
PORT_REDIS=10242
8-
PORT_POSTGRES=10243
9-
10-
COMMON=outline
11-
SECRET=deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef
3+
# PORT=10240
4+
# PORT_OIDC=10241
5+
# PORT_VITE=10242
6+
# SECRET=deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef # openssl rand -hex 32

.github/workflows/build.yml

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@ on:
99
- .github/workflows/**
1010
- outline/**
1111
- translation/ru.json
12-
- patches/**
13-
- Dockerfile.prod
12+
- Dockerfile
1413
workflow_dispatch:
1514

1615
concurrency:
@@ -42,16 +41,16 @@ jobs:
4241
submodules: recursive
4342

4443
- name: Setup Docker Buildx
45-
uses: docker/setup-buildx-action@v3
44+
uses: docker/setup-buildx-action@v4
4645

4746
- name: Login to Docker Hub
48-
uses: docker/login-action@v3
47+
uses: docker/login-action@v4
4948
with:
5049
username: ${{ github.actor }}
5150
password: ${{ secrets.DOCKER_PASSWORD }}
5251

5352
- name: Login to GitHub CR
54-
uses: docker/login-action@v3
53+
uses: docker/login-action@v4
5554
with:
5655
registry: ghcr.io
5756
username: ${{ github.actor }}
@@ -65,21 +64,20 @@ jobs:
6564
echo "version=$version" | tee -a $GITHUB_OUTPUT
6665
6766
- name: Set Metadata
68-
uses: docker/metadata-action@v5
67+
uses: docker/metadata-action@v6
6968
id: metadata
7069
with:
7170
images: |
7271
${{ github.repository }}
7372
ghcr.io/${{ github.repository }}
7473
7574
- name: Build Image
76-
uses: docker/build-push-action@v6
75+
uses: docker/build-push-action@v7
7776
id: build
7877
with:
7978
cache-from: type=gha,scope=build-${{ matrix.arch }}
8079
cache-to: type=gha,mode=max,scope=build-${{ matrix.arch }}
8180
platforms: linux/${{ matrix.arch }}
82-
file: Dockerfile.prod
8381
build-args: |
8482
APP_PATH=/opt/outline
8583
SRC_PATH=./outline
@@ -93,7 +91,7 @@ jobs:
9391
touch "${{ runner.temp }}/digests/${digest#sha256:}"
9492
9593
- name: Upload Digests
96-
uses: actions/upload-artifact@v5
94+
uses: actions/upload-artifact@v7
9795
with:
9896
name: digests-linux-${{ matrix.arch }}
9997
path: ${{ runner.temp }}/digests/*
@@ -111,30 +109,30 @@ jobs:
111109
version: ${{ needs.build.outputs.version }}
112110
steps:
113111
- name: Download Digests
114-
uses: actions/download-artifact@v7
112+
uses: actions/download-artifact@v8
115113
with:
116114
path: ${{ runner.temp }}/digests
117115
pattern: digests-*
118116
merge-multiple: true
119117

120118
- name: Login to Docker Hub
121-
uses: docker/login-action@v3
119+
uses: docker/login-action@v4
122120
with:
123121
username: ${{ github.actor }}
124122
password: ${{ secrets.DOCKER_PASSWORD }}
125123

126124
- name: Login to GitHub CR
127-
uses: docker/login-action@v3
125+
uses: docker/login-action@v4
128126
with:
129127
registry: ghcr.io
130128
username: ${{ github.actor }}
131129
password: ${{ secrets.GITHUB_TOKEN }}
132130

133131
- name: Setup Docker Buildx
134-
uses: docker/setup-buildx-action@v3
132+
uses: docker/setup-buildx-action@v4
135133

136134
- name: Set Metadata
137-
uses: docker/metadata-action@v5
135+
uses: docker/metadata-action@v6
138136
with:
139137
images: |
140138
${{ github.repository }}
@@ -153,7 +151,7 @@ jobs:
153151
$(printf 'ghcr.io/${{ github.repository }}@sha256:%s ' *)
154152
155153
- name: Create Release
156-
uses: softprops/action-gh-release@v2
154+
uses: softprops/action-gh-release@v3
157155
if: ${{ github.ref == 'refs/heads/master' }}
158156
with:
159157
name: ${{ env.version }}

Dockerfile

Lines changed: 34 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
1-
FROM node:22.21.0
1+
ARG APP_PATH=/opt/outline
2+
ARG SRC_PATH=./outline
3+
4+
FROM node:24.15.0 AS build
5+
ARG CDN_URL
26
ARG APP_PATH
37
ARG SRC_PATH
4-
ARG CDN_URL
58
WORKDIR $APP_PATH
69
COPY ${SRC_PATH}/package.json ${SRC_PATH}/yarn.lock ${SRC_PATH}/.yarnrc.yml ./
710
COPY ${SRC_PATH}/patches ./patches
@@ -10,16 +13,34 @@ RUN corepack enable && \
1013
yarn install --immutable --network-timeout 1000000 && \
1114
yarn cache clean
1215
COPY ${SRC_PATH} .
13-
COPY ./patches/* .
14-
RUN for patch in $(ls *.patch); do patch -p1 < $patch; done
15-
RUN cat << EOF > /entrypoint.sh
16-
npx yarn concurrently -n "dev,i18n" \
17-
"yarn dev:watch" \
18-
"yarn nodemon \
19-
--watch './shared/i18n/locales/ru_RU' \
20-
--exec 'yarn build:i18n'"
21-
EOF
16+
COPY ./patches/lang.patch .
17+
RUN patch -p1 < lang.patch
18+
COPY ./translation/ru.json ./shared/i18n/locales/ru_RU/translation.json
19+
RUN yarn build && \
20+
yarn workspaces focus --production
21+
22+
FROM node:24.15.0-slim AS release
23+
RUN apt-get update && \
24+
apt-get install -y curl && \
25+
rm -rf /var/lib/apt/lists/*
2226
ENV DATA_PATH=/var/lib/outline/data
27+
ENV USER=nodejs
28+
RUN addgroup --gid 1001 ${USER} && \
29+
adduser --uid 1001 --ingroup ${USER} ${USER} && \
30+
mkdir -p ${DATA_PATH} && \
31+
chown -R ${USER}:${USER} ${DATA_PATH}/..
32+
ARG APP_PATH
33+
WORKDIR $APP_PATH
34+
COPY --chown=${USER}:${USER} --from=build $APP_PATH/node_modules ./node_modules
35+
COPY --chown=${USER}:${USER} --from=build $APP_PATH/build ./build
36+
COPY --chown=${USER}:${USER} --from=build $APP_PATH/server ./server
37+
COPY --chown=${USER}:${USER} --from=build $APP_PATH/public ./public
38+
COPY --chown=${USER}:${USER} --from=build $APP_PATH/.sequelizerc .
39+
COPY --chown=${USER}:${USER} --from=build $APP_PATH/package.json .
40+
ENV NODE_ENV=production
41+
ENV PORT=3000
42+
USER ${USER}
43+
EXPOSE ${PORT}
2344
VOLUME ${DATA_PATH}
24-
STOPSIGNAL SIGKILL
25-
ENTRYPOINT ["bash", "/entrypoint.sh"]
45+
HEALTHCHECK --interval=1m CMD curl -fs localhost:${PORT}/_health | grep -q OK || exit 1
46+
CMD ["node", "build/server/index.js"]

Dockerfile.dev

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
ARG APP_PATH=/opt/outline
2+
ARG SRC_PATH=./outline
3+
4+
FROM node:24.15.0
5+
ARG APP_PATH
6+
ARG SRC_PATH
7+
ARG CDN_URL
8+
WORKDIR $APP_PATH
9+
COPY ${SRC_PATH}/package.json ${SRC_PATH}/yarn.lock ${SRC_PATH}/.yarnrc.yml ./
10+
COPY ${SRC_PATH}/patches ./patches
11+
ENV NODE_OPTIONS='--max-old-space-size=24000'
12+
RUN corepack enable && \
13+
yarn install --immutable --network-timeout 1000000 && \
14+
yarn cache clean
15+
COPY ${SRC_PATH} .
16+
COPY ./patches/* .
17+
RUN for patch in $(ls *.patch); do patch -p1 < $patch; done
18+
RUN cat << EOF > /entrypoint.sh
19+
yarn dev:watch
20+
EOF
21+
ENV DATA_PATH=/var/lib/outline/data
22+
VOLUME ${DATA_PATH}
23+
STOPSIGNAL SIGKILL
24+
ENTRYPOINT ["bash", "/entrypoint.sh"]

Dockerfile.prod

Lines changed: 0 additions & 43 deletions
This file was deleted.

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@
2020
```yaml
2121
services:
2222
outline:
23-
image: flameshikari/outline-ru:1.6.1
24-
# image: ghcr.io/flameshikari/outline-ru:1.6.1
23+
image: flameshikari/outline-ru:1.7.0
24+
# image: ghcr.io/flameshikari/outline-ru:1.7.0
2525
env_file: ./docker.env
2626
expose:
2727
- 3000
@@ -93,7 +93,7 @@ services:
9393
9494
2. Пулл изменений в подмодуле и переключение на последний доступный тег:
9595
```sh
96-
git submodule foreach 'git pull --rebase --tags && git checkout v1.6.1'
96+
git submodule foreach 'git pull --rebase --tags && git checkout v1.7.0'
9797
```
9898
9999
3. Запуск контейнеров:

0 commit comments

Comments
 (0)