initial commit
This commit is contained in:
commit
3571638d12
9
.editorconfig
Normal file
9
.editorconfig
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
root = true
|
||||||
|
|
||||||
|
[*]
|
||||||
|
end_of_line = lf
|
||||||
|
charset = utf-8
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
insert_final_newline = true
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 4
|
2
.gitignore
vendored
Executable file
2
.gitignore
vendored
Executable file
@ -0,0 +1,2 @@
|
|||||||
|
*~
|
||||||
|
.DS_Store
|
13
.gitlab-ci.yml
Normal file
13
.gitlab-ci.yml
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
variables:
|
||||||
|
IMAGE_NAME: thallian/wikijs
|
||||||
|
|
||||||
|
build:
|
||||||
|
stage: build
|
||||||
|
script:
|
||||||
|
- docker login -u $DOCKER_USER -p $DOCKER_PASSWORD $DOCKER_REGISTRY
|
||||||
|
- docker build -t $IMAGE_NAME:$CI_COMMIT_SHA .
|
||||||
|
- docker build -t $IMAGE_NAME:$CI_COMMIT_REF_NAME .
|
||||||
|
- docker build -t $IMAGE_NAME:latest .
|
||||||
|
- docker push $IMAGE_NAME:$CI_COMMIT_SHA
|
||||||
|
- docker push $IMAGE_NAME:$CI_COMMIT_REF_NAME
|
||||||
|
- docker push $IMAGE_NAME:latest
|
35
Dockerfile
Normal file
35
Dockerfile
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
FROM alpine:3.10 as builder
|
||||||
|
|
||||||
|
RUN apk add --no-cache \
|
||||||
|
git \
|
||||||
|
npm \
|
||||||
|
make \
|
||||||
|
bash
|
||||||
|
|
||||||
|
RUN npm install -g webpack webpack-cli
|
||||||
|
|
||||||
|
RUN git clone https://code.vanwa.ch/sebastian/wikijs.git -b nextcloud-auth /build
|
||||||
|
|
||||||
|
WORKDIR /build
|
||||||
|
RUN npm install
|
||||||
|
RUN make build
|
||||||
|
|
||||||
|
FROM thallian/confd-env:latest
|
||||||
|
|
||||||
|
RUN addgroup -g 2222 wikijs
|
||||||
|
RUN adduser -h /home/wikijs -S -D -u 2222 -G wikijs wikijs
|
||||||
|
|
||||||
|
COPY --from=builder --chown=wikijs:wikijs /build/assets /home/wikijs/assets
|
||||||
|
COPY --from=builder --chown=wikijs:wikijs /build/node_modules /home/wikijs/node_modules
|
||||||
|
COPY --from=builder --chown=wikijs:wikijs /build/server /home/wikijs/server
|
||||||
|
COPY --from=builder --chown=wikijs:wikijs /build/LICENSE /home/wikijs/LICENSE
|
||||||
|
COPY --from=builder --chown=wikijs:wikijs /build/config.sample.yml /home/wikijs/config.sample.yml
|
||||||
|
COPY --from=builder --chown=wikijs:wikijs /build/package.json /home/wikijs/package.json
|
||||||
|
|
||||||
|
RUN apk add --no-cache \
|
||||||
|
nodejs
|
||||||
|
|
||||||
|
ADD /rootfs /
|
||||||
|
|
||||||
|
VOLUME [ "/home/wikijs/data" ]
|
||||||
|
EXPOSE 3000
|
56
README.md
Normal file
56
README.md
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
[Wiki.js](https://github.com/Requarks/wiki] with a postgres backend.
|
||||||
|
|
||||||
|
# Volumes
|
||||||
|
- `/home/wikijs/data`
|
||||||
|
|
||||||
|
# Environment Variables
|
||||||
|
## DB_TYPE
|
||||||
|
- default: postgres
|
||||||
|
|
||||||
|
One of:
|
||||||
|
- postgres
|
||||||
|
- mysql
|
||||||
|
- mariadb
|
||||||
|
- mssql
|
||||||
|
- sqlite
|
||||||
|
|
||||||
|
In case of `sqlite`, non of the other database options are of concern.
|
||||||
|
|
||||||
|
## DB_HOST
|
||||||
|
Database host.
|
||||||
|
|
||||||
|
## DB_PORT
|
||||||
|
- default: 5432
|
||||||
|
|
||||||
|
Database port.
|
||||||
|
|
||||||
|
## DB_NAME
|
||||||
|
- default: wikijs
|
||||||
|
|
||||||
|
Database name.
|
||||||
|
|
||||||
|
## DB_USER
|
||||||
|
- default: wikijs
|
||||||
|
|
||||||
|
Database user.
|
||||||
|
|
||||||
|
## DB_PASSWORD
|
||||||
|
Password for the database user.
|
||||||
|
|
||||||
|
## DB_SSL
|
||||||
|
- default: false
|
||||||
|
|
||||||
|
Whether to use ssl for the database connection.
|
||||||
|
|
||||||
|
## MAX_FILE_SIZE
|
||||||
|
- default: 5242880
|
||||||
|
|
||||||
|
Maximum upload size in bytes per file.
|
||||||
|
|
||||||
|
## MAX_FILES_PER_REQUEST
|
||||||
|
- default: 20
|
||||||
|
|
||||||
|
Maximum file uploads per request.
|
||||||
|
|
||||||
|
# Ports
|
||||||
|
- 3000
|
3
rootfs/etc/confd/conf.d/config.yml.toml
Normal file
3
rootfs/etc/confd/conf.d/config.yml.toml
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
[template]
|
||||||
|
src = "config.yml.tmpl"
|
||||||
|
dest = "/home/wikijs/config.yml"
|
114
rootfs/etc/confd/templates/config.yml.tmpl
Normal file
114
rootfs/etc/confd/templates/config.yml.tmpl
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
start @user 2
|
||||||
|
#######################################################################
|
||||||
|
# Wiki.js - CONFIGURATION #
|
||||||
|
#######################################################################
|
||||||
|
# Full documentation + examples:
|
||||||
|
# https://docs.requarks.io/install
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
# Port the server should listen to
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
|
||||||
|
port: 3000
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
# Database
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
# Supported Database Engines:
|
||||||
|
# - postgres = PostgreSQL 9.5 or later
|
||||||
|
# - mysql = MySQL 8.0 or later (5.7.8 partially supported, refer to docs)
|
||||||
|
# - mariadb = MariaDB 10.2.7 or later
|
||||||
|
# - mssql = MS SQL Server 2012 or later
|
||||||
|
# - sqlite = SQLite 3.9 or later
|
||||||
|
|
||||||
|
db:
|
||||||
|
type: {{ getenv "DB_TYPE" "postgres" }}
|
||||||
|
# PostgreSQL / MySQL / MariaDB / MS SQL Server only:
|
||||||
|
host: {{ getenv "DB_HOST" }}
|
||||||
|
port: {{ getenv "DB_PORT" "5432" }}
|
||||||
|
user: {{ getenv "DB_USER" "wikijs" }}
|
||||||
|
pass: {{ getenv "DB_PASSWORD }}
|
||||||
|
db: {{ getenv "DB_NAME" "wikijs" }}
|
||||||
|
ssl: {{ getenv "DB_SSL" "false" }}
|
||||||
|
# SQLite only:
|
||||||
|
storage: /home/wikijs/data/db.sqlite
|
||||||
|
|
||||||
|
#######################################################################
|
||||||
|
# ADVANCED OPTIONS #
|
||||||
|
#######################################################################
|
||||||
|
# Do not change unless you know what you are doing!
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
# SSL/TLS Settings
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
# Consider using a reverse proxy (e.g. nginx) if you require more
|
||||||
|
# advanced options than those provided below.
|
||||||
|
|
||||||
|
ssl:
|
||||||
|
enabled: false
|
||||||
|
|
||||||
|
# Certificate format, either 'pem' or 'pfx':
|
||||||
|
format: pem
|
||||||
|
# Using PEM format:
|
||||||
|
key: path/to/key.pem
|
||||||
|
cert: path/to/cert.pem
|
||||||
|
# Using PFX format:
|
||||||
|
pfx: path/to/cert.pfx
|
||||||
|
# Passphrase when using encrypted PEM / PFX keys (default: null):
|
||||||
|
passphrase: null
|
||||||
|
# Diffie Hellman parameters, with key length being greater or equal
|
||||||
|
# to 1024 bits (default: null):
|
||||||
|
dhparam: null
|
||||||
|
|
||||||
|
# Listen on this HTTP port and redirect all requests to HTTPS.
|
||||||
|
# Set to false to disable (default: 80):
|
||||||
|
redirectNonSSLPort: 80
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
# Database Pool Options
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
# Refer to https://github.com/vincit/tarn.js for all possible options
|
||||||
|
|
||||||
|
pool:
|
||||||
|
# min: 2
|
||||||
|
# max: 10
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
# IP address the server should listen to
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
# Leave 0.0.0.0 for all interfaces
|
||||||
|
|
||||||
|
bindIP: 0.0.0.0
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
# Log Level
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
# Possible values: error, warn, info (default), verbose, debug, silly
|
||||||
|
|
||||||
|
logLevel: info
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
# Upload Limits
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
# If you're using a reverse-proxy in front of Wiki.js, you must also
|
||||||
|
# change your proxy upload limits!
|
||||||
|
|
||||||
|
uploads:
|
||||||
|
# Maximum upload size in bytes per file (default: 5242880 (5 MB))
|
||||||
|
maxFileSize: {{ getenv "MAX_FILE_SIZE" "5242880" }}
|
||||||
|
# Maximum file uploads per request (default: 20)
|
||||||
|
maxFiles: {{ getenv "MAX_FILES_PER_REQUEST" "20" }}
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
# Offline Mode
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
# If your server cannot access the internet. Set to true and manually
|
||||||
|
# download the offline files for sideloading.
|
||||||
|
|
||||||
|
offline: false
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
# Data Path
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
# Writeable data path for Wiki.js, mainly for cache and user uploads.
|
||||||
|
dataPath: /home/wikijs/data
|
1
rootfs/etc/fix-attrs.d/01-wikijs
Normal file
1
rootfs/etc/fix-attrs.d/01-wikijs
Normal file
@ -0,0 +1 @@
|
|||||||
|
/home/wikijs/data true wikijs 0640 0750
|
4
rootfs/etc/services.d/wikijs/run
Normal file
4
rootfs/etc/services.d/wikijs/run
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
#!/usr/bin/with-contenv sh
|
||||||
|
|
||||||
|
cd /home/wikijs || exit
|
||||||
|
exec s6-setuidgid wikijs node server
|
Loading…
Reference in New Issue
Block a user