xy2z / PineDocs

A fast and lightweight site for viewing files
GNU General Public License v3.0
141 stars 19 forks source link
documentation floss foss markdown php php8 selfhosted website wiki yaml
# PineDocs **A fast and lightweight site for viewing files.** Great for documentation, wiki, examples, notes, documents, galleries, storage, etc. --- [Docker Hub](https://hub.docker.com/r/xy2z/pinedocs/) | [Screenshots](https://imgur.com/a/15Gq67X) | [Setup](#setup) | [Configuration](#configuration) | [Sponsor](https://github.com/sponsors/xy2z)

---

Pinedocs Screenshot See more screenshots at https://imgur.com/a/15Gq67X

Sponsor

💚 Please consider sponsoring or donating to keep this project active - https://github.com/sponsors/xy2z

Features

Read-Only Site

PineDocs is read-only, meaning you can only view files and not edit them via PineDocs. This is not a wiki replacement with user login, revisions etc. This is basically a simple site that renders everything in your content dir. So you need to edit the files on your server/PC in order to change the content.

Setup

Docker

Docker is the easiest way to setup PineDocs.

Docker-compose.yml

version: '3'

services:
  web:
    image: xy2z/pinedocs:1.2.5
    ports:
      - 3000:80
    volumes:
      - ./data:/data/pinedocs

After running docker-compose up -d you can change the config in ./data/config/config.yaml, and add your files (or git clone your repository) in the ./data/files dir.

Changes will take affect when you reload the page - no need to restart the container.

Docker

Altough docker-compose is recommended, you can also use pure Docker:

docker run -itd -v "$PWD"/data:/data/pinedocs -p 3000:80 xy2z/pinedocs

See more at https://hub.docker.com/r/xy2z/pinedocs/

Manual Setup

Requirements

Setup guide

  1. Download the latest release or run git clone
  2. Run composer install in the root to get dependencies.
  3. Setup the web server to the PineDocs/public dir (use php -S localhost:89 -t public for testing)
  4. (Optional) Rename the file config/config-example.yaml to config/config.yaml for changing settings (see below)
  5. (Optional) Rename the file config/mathjax-example.js to config/mathjax.js for changing settings of Mathjax (see below)
  6. (Optional) Change the file config/custom.js when using Docker to customize Javascript
  7. (Optional) Change the file config/custom.css when using Docker to customize CSS

Configuration

Feel free to edit the config/config.yaml file to fit your needs.

You can configure Mathjax by editing the config/mathjax.js file.

Settings

License

GNU GPLv3. See LICENSE.txt