====== Wiki.js ====== ====== Installation ====== Steps: * Make sure Docker CE is installed * Create a directory for Wiki.js * Create a directory for the TLS certificate files * Create the Docker compose file * Create the Wiki.js config file * Create the TLS certificate files * Start up Wiki.js and run through the installation and configuration process ==== Create a directory for Wiki.js ==== mkdir ~/wikijs ==== Create a directory for the TLS certificate files ==== mkdir ~/wikijs/certs ==== Create the Docker compose file ==== version: "3" services: db: image: postgres:15-alpine environment: POSTGRES_DB: wiki POSTGRES_PASSWORD: wikijsrocks POSTGRES_USER: wikijs logging: driver: "none" restart: unless-stopped volumes: - db-data:/var/lib/postgresql/data wiki: image: ghcr.io/requarks/wiki:2 depends_on: - db environment: DB_TYPE: postgres DB_HOST: db DB_PORT: 5432 DB_USER: wikijs DB_PASS: wikijsrocks DB_NAME: wiki HTTP_PORT: 3000 SSL_ACTIVE: true SSL_PORT: 3443 SSL_PROVIDER: custom SSL_CERT_FORMAT: pem SSL_KEY_FILE: "/certs/key.pem" SSL_CERT_FILE: "/certs/cert.pem" restart: unless-stopped ports: - "80:3000" - "443:3443" volumes: - ./config.yml:/wiki/config.yml - ./certs:/certs:ro volumes: db-data: ==== Create the Wiki.js config file ==== port: $(HTTP_PORT:3000) bindIP: 0.0.0.0 db: type: $(DB_TYPE) host: '$(DB_HOST)' port: $(DB_PORT) user: '$(DB_USER)' pass: '$(DB_PASS)' db: $(DB_NAME) storage: $(DB_FILEPATH) ssl: $(DB_SSL) ssl: enabled: $(SSL_ACTIVE:false) port: $(SSL_PORT:3443) provider: $(SSL_PROVIDER:letsencrypt) format: $(SSL_CERT_FORMAT:pem) domain: $(SSL_DOMAIN:null) subscriberEmail: $(LETSENCRYPT_EMAIL:null) key: $(SSL_KEY_FILE:null) cert: $(SSL_CERT_FILE:null) passphrase: $(SSL_PASSPHRASE:null) dhparam: $(SSL_DHPARAM:null) logLevel: $(LOG_LEVEL:info) logFormat: $(LOG_FORMAT:default) ha: $(HA_ACTIVE) ==== Create the TLS certificate files ==== openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ~/certs/key.pem -out ~/certs/cert.pem ==== Start up Wiki.js and run through the installation and configuration process ==== docker-compose up -d Afterwards: * Open the HTTP version of the wiki * Create an account and set the URL to the HTTP domain * Open the HTTPS version of the wiki * Go to ''Administration'' > ''SSL'' > ''Redirect HTTP requests to HTTPS'' and choose ''Turn on''