mirror of
https://github.com/linuxserver/docker-wikijs.git
synced 2026-01-09 07:01:33 +08:00
Don't rebase to 3.17 because node 18 not supported
This commit is contained in:
parent
3172287fd5
commit
19c920e511
18
Dockerfile
18
Dockerfile
@ -1,3 +1,5 @@
|
||||
# syntax=docker/dockerfile:1
|
||||
|
||||
FROM ghcr.io/linuxserver/baseimage-alpine:3.16
|
||||
|
||||
# set version label
|
||||
@ -14,18 +16,8 @@ ENV NODE_ENV="production"
|
||||
RUN \
|
||||
echo "**** install build packages ****" && \
|
||||
apk add --no-cache \
|
||||
alpine-base \
|
||||
git \
|
||||
nodejs \
|
||||
npm \
|
||||
openssh && \
|
||||
apk add --no-cache --virtual=build-dependencies \
|
||||
curl \
|
||||
g++ \
|
||||
make \
|
||||
python3 && \
|
||||
echo "**** symlink python3 for compatibility ****" && \
|
||||
ln -s /usr/bin/python3 /usr/bin/python && \
|
||||
npm && \
|
||||
echo "**** install wiki.js ****" && \
|
||||
mkdir -p /app/wiki && \
|
||||
if [ -z ${WIKIJS_RELEASE} ]; then \
|
||||
@ -40,11 +32,7 @@ RUN \
|
||||
/app/wiki/ && \
|
||||
cd /app/wiki && \
|
||||
npm rebuild sqlite3 && \
|
||||
echo "**** overlay-fs bug workaround ****" && \
|
||||
mv /app/wiki /app/wiki-tmp && \
|
||||
echo "**** cleanup ****" && \
|
||||
apk del --purge \
|
||||
build-dependencies && \
|
||||
rm -rf \
|
||||
/root/.cache \
|
||||
/tmp/*
|
||||
|
||||
@ -1,4 +1,6 @@
|
||||
FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.16
|
||||
# syntax=docker/dockerfile:1
|
||||
|
||||
FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.17
|
||||
|
||||
# set version label
|
||||
ARG BUILD_DATE
|
||||
@ -14,18 +16,8 @@ ENV NODE_ENV="production"
|
||||
RUN \
|
||||
echo "**** install build packages ****" && \
|
||||
apk add --no-cache \
|
||||
alpine-base \
|
||||
git \
|
||||
nodejs \
|
||||
npm \
|
||||
openssh && \
|
||||
apk add --no-cache --virtual=build-dependencies \
|
||||
curl \
|
||||
g++ \
|
||||
make \
|
||||
python3 && \
|
||||
echo "**** symlink python3 for compatibility ****" && \
|
||||
ln -s /usr/bin/python3 /usr/bin/python && \
|
||||
npm && \
|
||||
echo "**** install wiki.js ****" && \
|
||||
mkdir -p /app/wiki && \
|
||||
if [ -z ${WIKIJS_RELEASE} ]; then \
|
||||
@ -40,11 +32,7 @@ RUN \
|
||||
/app/wiki/ && \
|
||||
cd /app/wiki && \
|
||||
npm rebuild sqlite3 && \
|
||||
echo "**** overlay-fs bug workaround ****" && \
|
||||
mv /app/wiki /app/wiki-tmp && \
|
||||
echo "**** cleanup ****" && \
|
||||
apk del --purge \
|
||||
build-dependencies && \
|
||||
rm -rf \
|
||||
/root/.cache \
|
||||
/tmp/*
|
||||
|
||||
@ -1,4 +1,6 @@
|
||||
FROM ghcr.io/linuxserver/baseimage-alpine:arm32v7-3.16
|
||||
# syntax=docker/dockerfile:1
|
||||
|
||||
FROM ghcr.io/linuxserver/baseimage-alpine:arm32v7-3.17
|
||||
|
||||
# set version label
|
||||
ARG BUILD_DATE
|
||||
@ -14,18 +16,8 @@ ENV NODE_ENV="production"
|
||||
RUN \
|
||||
echo "**** install build packages ****" && \
|
||||
apk add --no-cache \
|
||||
alpine-base \
|
||||
git \
|
||||
nodejs \
|
||||
npm \
|
||||
openssh && \
|
||||
apk add --no-cache --virtual=build-dependencies \
|
||||
curl \
|
||||
g++ \
|
||||
make \
|
||||
python3 && \
|
||||
echo "**** symlink python3 for compatibility ****" && \
|
||||
ln -s /usr/bin/python3 /usr/bin/python && \
|
||||
npm && \
|
||||
echo "**** install wiki.js ****" && \
|
||||
mkdir -p /app/wiki && \
|
||||
if [ -z ${WIKIJS_RELEASE} ]; then \
|
||||
@ -40,11 +32,7 @@ RUN \
|
||||
/app/wiki/ && \
|
||||
cd /app/wiki && \
|
||||
npm rebuild sqlite3 && \
|
||||
echo "**** overlay-fs bug workaround ****" && \
|
||||
mv /app/wiki /app/wiki-tmp && \
|
||||
echo "**** cleanup ****" && \
|
||||
apk del --purge \
|
||||
build-dependencies && \
|
||||
rm -rf \
|
||||
/root/.cache \
|
||||
/tmp/*
|
||||
|
||||
33
README.md
33
README.md
@ -58,6 +58,12 @@ The architectures supported by this image are:
|
||||
| arm64 | ✅ | arm64v8-\<version tag\> |
|
||||
| armhf | ✅ | arm32v7-\<version tag\> |
|
||||
|
||||
## Application Setup
|
||||
|
||||
Please note that the database configuration environment variables will apply _on first run only_, after which you will need to directly edit /config/config.yml to change your settings.
|
||||
|
||||
For more information please see the [official documentation](https://docs.requarks.io/).
|
||||
|
||||
## Usage
|
||||
|
||||
Here are some example snippets to help you get started creating a container.
|
||||
@ -75,9 +81,15 @@ services:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- TZ=Etc/UTC
|
||||
- DB_TYPE=sqlite #optional
|
||||
- DB_HOST= #optional
|
||||
- DB_PORT= #optional
|
||||
- DB_NAME= #optional
|
||||
- DB_USER= #optional
|
||||
- DB_PASS= #optional
|
||||
volumes:
|
||||
- <path to config>:/config
|
||||
- <path to data>:/data
|
||||
- /path/to/config:/config
|
||||
- /path/to/data:/data
|
||||
ports:
|
||||
- 3000:3000
|
||||
restart: unless-stopped
|
||||
@ -91,9 +103,15 @@ docker run -d \
|
||||
-e PUID=1000 \
|
||||
-e PGID=1000 \
|
||||
-e TZ=Etc/UTC \
|
||||
-e DB_TYPE=sqlite `#optional` \
|
||||
-e DB_HOST= `#optional` \
|
||||
-e DB_PORT= `#optional` \
|
||||
-e DB_NAME= `#optional` \
|
||||
-e DB_USER= `#optional` \
|
||||
-e DB_PASS= `#optional` \
|
||||
-p 3000:3000 \
|
||||
-v <path to config>:/config \
|
||||
-v <path to data>:/data \
|
||||
-v /path/to/config:/config \
|
||||
-v /path/to/data:/data \
|
||||
--restart unless-stopped \
|
||||
lscr.io/linuxserver/wikijs:latest
|
||||
|
||||
@ -109,6 +127,12 @@ Container images are configured using parameters passed at runtime (such as thos
|
||||
| `-e PUID=1000` | for UserID - see below for explanation |
|
||||
| `-e PGID=1000` | for GroupID - see below for explanation |
|
||||
| `-e TZ=Etc/UTC` | specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List). |
|
||||
| `-e DB_TYPE=sqlite` | Set to sqlite (default) or postgres depending on the database engine you wish to use |
|
||||
| `-e DB_HOST=` | DB hostname (postgres only) |
|
||||
| `-e DB_PORT=` | DB port (postgres only) |
|
||||
| `-e DB_NAME=` | DB name (postgres only) |
|
||||
| `-e DB_USER=` | DB username (postgres only) |
|
||||
| `-e DB_PASS=` | DB password (postgres only) |
|
||||
| `-v /config` | Where Wiki.js config is stored. |
|
||||
| `-v /data` | Where Wiki.js data is stored. |
|
||||
|
||||
@ -221,6 +245,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
|
||||
|
||||
## Versions
|
||||
|
||||
* **05.03.23:** - Rebase to Alpine 3.17.
|
||||
* **10.10.22:** - Rebasing to alpine 3.16, migrate to s6v3.
|
||||
* **23.01.21:** - Rebasing to alpine 3.13.
|
||||
* **01.06.20:** - Rebasing to alpine 3.12.
|
||||
|
||||
@ -16,54 +16,43 @@ available_architectures:
|
||||
- { arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"}
|
||||
- { arch: "{{ arch_armhf }}", tag: "arm32v7-latest"}
|
||||
|
||||
# development version
|
||||
development_versions: false
|
||||
development_versions_items:
|
||||
|
||||
# container parameters
|
||||
common_param_env_vars_enabled: true
|
||||
param_container_name: "{{ project_name }}"
|
||||
|
||||
param_usage_include_net: false
|
||||
|
||||
param_usage_include_env: true
|
||||
param_env_vars:
|
||||
- { env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use EG Europe/London." }
|
||||
|
||||
param_usage_include_vols: true
|
||||
param_volumes:
|
||||
- { vol_path: "/config", vol_host_path: "<path to config>", desc: "Where Wiki.js config is stored." }
|
||||
- { vol_path: "/data", vol_host_path: "<path to data>", desc: "Where Wiki.js data is stored." }
|
||||
- { vol_path: "/config", vol_host_path: "/path/to/config", desc: "Where Wiki.js config is stored." }
|
||||
- { vol_path: "/data", vol_host_path: "/path/to/data", desc: "Where Wiki.js data is stored." }
|
||||
|
||||
param_usage_include_ports: true
|
||||
param_ports:
|
||||
- { external_port: "3000", internal_port: "3000", port_desc: "Port for Wiki.js's web interface." }
|
||||
|
||||
# optional container parameters
|
||||
opt_param_usage_include_env: false
|
||||
opt_param_usage_include_env: true
|
||||
opt_param_env_vars:
|
||||
|
||||
opt_param_usage_include_vols: false
|
||||
opt_param_volumes:
|
||||
|
||||
opt_param_usage_include_ports: false
|
||||
opt_param_ports:
|
||||
|
||||
opt_param_device_map: false
|
||||
opt_param_devices:
|
||||
|
||||
opt_cap_add_param: false
|
||||
opt_cap_add_param_vars:
|
||||
|
||||
optional_block_1: false
|
||||
optional_block_1_items: ""
|
||||
- { env_var: "DB_TYPE", env_value: "sqlite", desc: "Set to sqlite (default) or postgres depending on the database engine you wish to use" }
|
||||
- { env_var: "DB_HOST", env_value: "", desc: "DB hostname (postgres only)" }
|
||||
- { env_var: "DB_PORT", env_value: "", desc: "DB port (postgres only)" }
|
||||
- { env_var: "DB_NAME", env_value: "", desc: "DB name (postgres only)" }
|
||||
- { env_var: "DB_USER", env_value: "", desc: "DB username (postgres only)" }
|
||||
- { env_var: "DB_PASS", env_value: "", desc: "DB password (postgres only)" }
|
||||
|
||||
# application setup block
|
||||
app_setup_block_enabled: false
|
||||
app_setup_block: ""
|
||||
app_setup_block_enabled: true
|
||||
app_setup_block: |
|
||||
Please note that the database configuration environment variables will apply _on first run only_, after which you will need to directly edit /config/config.yml to change your settings.
|
||||
|
||||
For more information please see the [official documentation](https://docs.requarks.io/).
|
||||
|
||||
# changelog
|
||||
changelogs:
|
||||
- { date: "05.03.23:", desc: "Rebase to Alpine 3.17." }
|
||||
- { date: "10.10.22:", desc: "Rebasing to alpine 3.16, migrate to s6v3." }
|
||||
- { date: "23.01.21:", desc: "Rebasing to alpine 3.13." }
|
||||
- { date: "01.06.20:", desc: "Rebasing to alpine 3.12." }
|
||||
|
||||
@ -44,7 +44,7 @@ db:
|
||||
# passphrase: xyz123
|
||||
|
||||
# SQLite only:
|
||||
storage: {{DB_FILEPATH}}
|
||||
storage: /config/db.sqlite
|
||||
|
||||
#######################################################################
|
||||
# ADVANCED OPTIONS #
|
||||
@ -139,4 +139,3 @@ ha: false
|
||||
# ---------------------------------------------------------------------
|
||||
# Writeable data path used for cache and temporary user uploads.
|
||||
dataPath: /data
|
||||
|
||||
|
||||
@ -1,10 +1,5 @@
|
||||
#!/usr/bin/with-contenv bash
|
||||
|
||||
if [ -d /app/wiki-tmp ]; then
|
||||
echo "New container detected. Setting up app folder and fixing permissions."
|
||||
mv /app/wiki-tmp /app/wiki
|
||||
chown -R abc:abc /app
|
||||
fi
|
||||
# shellcheck shell=bash
|
||||
|
||||
mkdir -p /data
|
||||
|
||||
@ -14,9 +9,8 @@ DB_PORT=${DB_PORT:-3306}
|
||||
DB_USER=${DB_USER:-root}
|
||||
DB_PASS=${DB_PASS:-root}
|
||||
DB_NAME=${DB_NAME:-wikijs}
|
||||
DB_FILEPATH=${DB_FILEPATH:-/config/db.sqlite}
|
||||
|
||||
if [ ! -f "/config/config.yml" ]; then
|
||||
if [[ ! -f "/config/config.yml" ]]; then
|
||||
cp /defaults/config.yml /config/config.yml
|
||||
|
||||
sed -i "s|{{DB_TYPE}}|"${DB_TYPE}"|g" /config/config.yml
|
||||
@ -25,13 +19,12 @@ if [ ! -f "/config/config.yml" ]; then
|
||||
sed -i "s|{{DB_USER}}|"${DB_USER}"|g" /config/config.yml
|
||||
sed -i "s|{{DB_PASS}}|"${DB_PASS}"|g" /config/config.yml
|
||||
sed -i "s|{{DB_NAME}}|"${DB_NAME}"|g" /config/config.yml
|
||||
sed -i "s|{{DB_FILEPATH}}|"${DB_FILEPATH}"|g" /config/config.yml
|
||||
fi
|
||||
|
||||
ln -sf /config/config.yml /app/wiki/config.yml
|
||||
|
||||
# permissions
|
||||
chown -R abc:abc \
|
||||
lsiown -R abc:abc \
|
||||
/config
|
||||
chown abc:abc \
|
||||
lsiown abc:abc \
|
||||
/data
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#!/usr/bin/with-contenv bash
|
||||
# shellcheck shell=bash
|
||||
|
||||
exec \
|
||||
s6-notifyoncheck -d -n 300 -w 1000 -c "nc -z localhost 3000" \
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user