Compare commits
20 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 81b5b644d8 | |||
| 6016d238e7 | |||
| 7c6dd2b93c | |||
| 1198ca5c71 | |||
| b17d6addc1 | |||
| f18f9126c5 | |||
| 4a0fa50ba1 | |||
| 23c275c29d | |||
| 862f393473 | |||
| ab21611b5e | |||
| 7c3b81c1a0 | |||
| 392e14d030 | |||
| b554a37faa | |||
| 1071a1432e | |||
| 0339cef279 | |||
| fe4cb931c6 | |||
| d754e66f78 | |||
| f3d824f67b | |||
| e95da94387 | |||
| 1cc8cc83a2 |
+12
-2
@@ -4,6 +4,7 @@ ARG WIKI_VERSION
|
||||
ARG TAG
|
||||
ARG SOURCE_COMMIT
|
||||
ARG BUILD_DATE
|
||||
ARG NPM_INSTALL_STRATEGY=""
|
||||
|
||||
# Labels for metadata
|
||||
LABEL org.opencontainers.image.source="https://git.coopcloud.tech/wiki-cafe/fedwiki-oci-image" \
|
||||
@@ -20,13 +21,22 @@ WORKDIR "/home/node"
|
||||
ENV NPM_CONFIG_PREFIX="/home/node"
|
||||
ENV PATH="/home/node/bin:${PATH}"
|
||||
|
||||
RUN npm install -g "wiki@${WIKI_VERSION}"
|
||||
RUN npm install -g "wiki@${WIKI_VERSION}" ${NPM_INSTALL_STRATEGY}
|
||||
|
||||
# wiki@0.41.0-rc.1 bundles wiki-security-social@0.1.0-rc.1, which ignores
|
||||
# oauth2_IdField (admin/owner break). Pin rc.5 explicitly so it overrides the
|
||||
# bundled rc.1 and satisfies wiki-security-composable's ^0.1.0-rc.5 peer.
|
||||
RUN cd $(npm root -g)/wiki \
|
||||
&& npm install \
|
||||
wiki-security-social@0.1.0-rc.5 \
|
||||
wiki-plugin-farmmanager \
|
||||
wiki-plugin-useraccesstokens \
|
||||
wiki-security-composable
|
||||
wiki-security-composable \
|
||||
wiki-plugin-register \
|
||||
wiki-plugin-solo \
|
||||
wiki-plugin-mech \
|
||||
wiki-plugin-journalmatic \
|
||||
wiki-plugin-zones
|
||||
|
||||
RUN mkdir -p .wiki
|
||||
VOLUME "/home/node/.wiki"
|
||||
|
||||
@@ -12,13 +12,19 @@ The tag format is `X.Y.Z-R`, where:
|
||||
|
||||
Increment the revision number `R` if the wiki package version `X.Y.Z` remains the same. If the wiki package version changes, reset `R` to `1`.
|
||||
|
||||
To make the release process smoother, set the image tag and wiki package version as environment variables:
|
||||
To make the release process smoother, set the image tag and wiki package version as environment variables. You can also modify the install strategy of the build if you like, but its optional. If you skip exporting that variable, the default strategy (hoisted) will be used:
|
||||
|
||||
```bash
|
||||
export WIKI_VERSION=X.Y.Z
|
||||
export TAG=${WIKI_VERSION}-R
|
||||
```
|
||||
|
||||
This can sometimes be useful in some situations:
|
||||
|
||||
```bash
|
||||
export NPM_INSTALL_STRATEGY="--install-strategy=nested"
|
||||
```
|
||||
|
||||
## Building the container image
|
||||
|
||||
Build the container image for your local platform to test before publishing:
|
||||
@@ -29,6 +35,7 @@ docker buildx build \
|
||||
--no-cache \
|
||||
--build-arg WIKI_VERSION=$WIKI_VERSION \
|
||||
--build-arg TAG=$TAG \
|
||||
--build-arg NPM_INSTALL_STRATEGY=$NPM_INSTALL_STRATEGY \
|
||||
--build-arg SOURCE_COMMIT=$(git rev-parse HEAD) \
|
||||
--build-arg BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') \
|
||||
-t git.coopcloud.tech/wiki-cafe/fedwiki-oci-image:latest \
|
||||
@@ -69,17 +76,11 @@ git push --atomic origin main "$TAG"
|
||||
|
||||
## Publishing the container image
|
||||
|
||||
Build the container image for multi-platform support (ARM64 and AMD64) and push it to the registry:
|
||||
After building and verifying the container image locally, push it to the registry.
|
||||
|
||||
Note: Due to registry timeout issues with direct `--push` during build, we push each tag separately rather than using `--push` with buildx.
|
||||
|
||||
``` bash
|
||||
docker buildx build \
|
||||
--file Containerfile \
|
||||
--platform linux/amd64,linux/arm64 \
|
||||
--build-arg WIKI_VERSION=$WIKI_VERSION \
|
||||
--build-arg TAG=$TAG \
|
||||
--build-arg SOURCE_COMMIT=$(git rev-parse HEAD) \
|
||||
--build-arg BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') \
|
||||
-t git.coopcloud.tech/wiki-cafe/fedwiki-oci-image:latest \
|
||||
-t git.coopcloud.tech/wiki-cafe/fedwiki-oci-image:$TAG \
|
||||
--push .
|
||||
docker push git.coopcloud.tech/wiki-cafe/fedwiki-oci-image:$TAG
|
||||
docker push git.coopcloud.tech/wiki-cafe/fedwiki-oci-image:latest
|
||||
```
|
||||
|
||||
+58
-47
@@ -1,47 +1,58 @@
|
||||
wiki: 0.38.3
|
||||
wiki-client: 0.31.3
|
||||
wiki-plugin-activity: 0.7.0
|
||||
wiki-plugin-assets: 0.7.2
|
||||
wiki-plugin-audio: 0.3.0
|
||||
wiki-plugin-bars: 0.6.0
|
||||
wiki-plugin-calculator: 0.6.0
|
||||
wiki-plugin-calendar: 0.4.0
|
||||
wiki-plugin-changes: 0.5.0
|
||||
wiki-plugin-chart: 0.5.0
|
||||
wiki-plugin-code: 0.5.0
|
||||
wiki-plugin-data: 0.4.0
|
||||
wiki-plugin-factory: 0.4.0
|
||||
wiki-plugin-farmmanager: 0.1.0
|
||||
wiki-plugin-flagmatic: 0.3.0
|
||||
wiki-plugin-force: 0.6.0
|
||||
wiki-plugin-frame: 0.10.3
|
||||
wiki-plugin-future: 0.4.1
|
||||
wiki-plugin-graphviz: 0.11.7
|
||||
wiki-plugin-grep: 1.1.1
|
||||
wiki-plugin-html: 0.6.0
|
||||
wiki-plugin-image: 0.6.4
|
||||
wiki-plugin-line: 0.6.0
|
||||
wiki-plugin-map: 0.9.0
|
||||
wiki-plugin-markdown: 0.5.1
|
||||
wiki-plugin-math: 0.2.0
|
||||
wiki-plugin-metabolism: 0.4.0
|
||||
wiki-plugin-method: 0.4.0
|
||||
wiki-plugin-pagefold: 0.4.0
|
||||
wiki-plugin-paragraph: 0.4.0
|
||||
wiki-plugin-plugmatic: 1.5.0
|
||||
wiki-plugin-pushpin: 0.6.0
|
||||
wiki-plugin-radar: 0.6.0
|
||||
wiki-plugin-recycler: 0.4.0
|
||||
wiki-plugin-reduce: 0.4.0
|
||||
wiki-plugin-reference: 0.4.0
|
||||
wiki-plugin-rollup: 0.4.0
|
||||
wiki-plugin-roster: 0.4.0
|
||||
wiki-plugin-scatter: 0.6.0
|
||||
wiki-plugin-search: 0.3.0
|
||||
wiki-plugin-transport: 0.3.0
|
||||
wiki-plugin-useraccesstokens: 0.1.0
|
||||
wiki-plugin-video: 0.4.0
|
||||
wiki-security-composable: 0.1.0
|
||||
wiki-security-friends: 0.2.7
|
||||
wiki-security-passportjs: 0.11.3
|
||||
wiki-server: 0.25.10
|
||||
{
|
||||
"wiki": "0.41.0-rc.1",
|
||||
"wiki-server": "0.27.0",
|
||||
"wiki-client": "0.32.0",
|
||||
"security": {
|
||||
"wiki-security-composable": "0.2.0",
|
||||
"wiki-security-friends": "0.3.1",
|
||||
"wiki-security-social": "0.1.0-rc.5"
|
||||
},
|
||||
"plugins": {
|
||||
"wiki-plugin-activity": "0.7.1",
|
||||
"wiki-plugin-assets": "0.7.4",
|
||||
"wiki-plugin-audio": "0.3.0",
|
||||
"wiki-plugin-bars": "0.6.0",
|
||||
"wiki-plugin-calculator": "0.6.0",
|
||||
"wiki-plugin-calendar": "0.4.0",
|
||||
"wiki-plugin-changes": "0.5.0",
|
||||
"wiki-plugin-chart": "0.5.0",
|
||||
"wiki-plugin-code": "0.6.0",
|
||||
"wiki-plugin-data": "0.4.0",
|
||||
"wiki-plugin-factory": "0.4.0",
|
||||
"wiki-plugin-farmmanager": "0.4.1",
|
||||
"wiki-plugin-flagmatic": "0.3.0",
|
||||
"wiki-plugin-force": "0.6.0",
|
||||
"wiki-plugin-frame": "0.10.3",
|
||||
"wiki-plugin-future": "0.4.1",
|
||||
"wiki-plugin-graphviz": "0.11.9",
|
||||
"wiki-plugin-grep": "1.1.1",
|
||||
"wiki-plugin-html": "0.7.2",
|
||||
"wiki-plugin-image": "0.8.0",
|
||||
"wiki-plugin-journalmatic": "0.2.2",
|
||||
"wiki-plugin-line": "0.6.0",
|
||||
"wiki-plugin-map": "0.9.1",
|
||||
"wiki-plugin-markdown": "0.5.3",
|
||||
"wiki-plugin-math": "0.2.0",
|
||||
"wiki-plugin-mech": "0.1.48-2",
|
||||
"wiki-plugin-metabolism": "0.4.0",
|
||||
"wiki-plugin-method": "0.4.1",
|
||||
"wiki-plugin-pagefold": "0.4.0",
|
||||
"wiki-plugin-paragraph": "0.4.0",
|
||||
"wiki-plugin-plugmatic": "1.5.1",
|
||||
"wiki-plugin-pushpin": "0.6.0",
|
||||
"wiki-plugin-radar": "0.6.0",
|
||||
"wiki-plugin-recycler": "0.4.0",
|
||||
"wiki-plugin-reduce": "0.4.0",
|
||||
"wiki-plugin-reference": "0.4.0",
|
||||
"wiki-plugin-register": "0.5.0-pre10",
|
||||
"wiki-plugin-rollup": "0.4.0",
|
||||
"wiki-plugin-roster": "0.4.0",
|
||||
"wiki-plugin-scatter": "0.6.0",
|
||||
"wiki-plugin-search": "0.3.0",
|
||||
"wiki-plugin-solo": "0.1.30-1",
|
||||
"wiki-plugin-transport": "0.3.0",
|
||||
"wiki-plugin-useraccesstokens": "0.2.0",
|
||||
"wiki-plugin-video": "0.4.0",
|
||||
"wiki-plugin-zones": "0.3.3"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user