July, 2019

Trying out Shiori Bookmarks

My basic Shiori configuration is based on official image with docker-compose.yaml configuration:

--- 
services: 
  shiori_svc: 
    container_name: shiori
    image: radhifadlillah/shiori:latest
    ports:
      # "host:container"
      - "8091:8080"
    volumes: 
      - 
        source: /data/shiori/workdir/
        target: /srv/shiori/
        type: bind
    networks:
      - home
networks:
  home:
    external: true
version: "3.2"

Once the server is created we need to create user id. Shiori is based on the image that does not include bash. We can use sh instead:

docker exec -it shiori /bin/sh

And then execute command to create new user:

shiori account add userName

Once the user is created we can access Shiori web interface.

Shiori has the following features that make it stand out:

  1. SQLite database
  2. CLI interface for management
  3. Web interface
  4. GO language based. As a result its image size is very small when deployed in Docker.

Nginx Proxy Configuration

Example:

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    server {
        listen       8080;
        server_name  localhost;

        location / {
            proxy_pass http://target_hostname/;
            proxy_set_header  Accept-Encoding ""; 
            proxy_set_header  X-Real-IP   $remote_addr;
            proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
        }

    }

}

Proxy can impact content security. Below are related links:

  1. proxy hide header
  2. Nginx as reverse Proxy, remove X-Frame-Options header