Git Product home page Git Product logo

obsidian-docker's Introduction

Obsidian-Docker

Obsidian.md directly in your browser.
Container based on Docker Baseimage KasmVNC by linuxserver.

Official Linuxserver version

As of Apr. 6th 2024, linuxserver released their image of Obsidian.
Going forward, I highly recommend using their image, I will keep this image up to date though.


Supports Docker Mods for those interested in using git.

Under no circumstances expose this container to anything but your local machine, unless you really know what you're doing.
Failure to practice proper security could lead to exposure of your vault.

Usage

Some snippets to get you started.

docker-compose

services:
  obsidian-docker:
    image: ghcr.io/lanjelin/obsidian-docker:latest
    container_name: obsidian-docker
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Oslo
      - DRINODE=/dev/dri/renderD128 # select GPU
    ports:
      - "3000:3000" #http
      - "3001:3001" #https
    volumes:
      - /path/to/vaults:/config/obsidian
    devices:
      - /dev/dri:/dev/dri # enable GPU Accel
    restart: unless-stopped

docker cli

docker run -d \
  --name=obsidian-docker \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=Europe/Oslo \
  -e DRINODE=/dev/dri/renderD128 \
  -p 3000:3000 \
  -p 3001:3001 \
  -v /path/to/vaults:/config/obsidian \
  --device /dev/dri:/dev/dri \
  --restart unless-stopped \
  ghcr.io/lanjelin/obsidian-docker:latest

UnRaid

I've inlcuded a template to make it a fast process setting this up in UnRaid.
Simply run the following to download the template, then navigate to your Docker-tab, click Add Container, and find Obsidian in the Template-dropdown.

wget -O /boot/config/plugins/dockerMan/templates-user/my-Obsidian.xml https://raw.githubusercontent.com/Lanjelin/docker-templates/main/lanjelin/obsidian.xml

Application Setup

The application can be accessed at:

Options in all KasmVNC based GUI containers

This container is based on Docker Baseimage KasmVNC which means there are additional environment variables and run configurations to enable or disable specific functionality.

Optional environment variables

Variable Description
CUSTOM_PORT Internal port the container listens on for http if it needs to be swapped from the default 3000.
CUSTOM_HTTPS_PORT Internal port the container listens on for https if it needs to be swapped from the default 3001.
CUSTOM_USER HTTP Basic auth username, abc is default.
PASSWORD HTTP Basic auth password, abc is default. If unset there will be no auth
SUBFOLDER Subfolder for the application if running a subfolder reverse proxy, need both slashes IE /subfolder/
TITLE The page title displayed on the web browser, default "KasmVNC Client".
FM_HOME This is the home directory (landing) for the file manager, default "/config".
START_DOCKER If set to false a container with privilege will not automatically start the DinD Docker setup.
DRINODE If mounting in /dev/dri for DRI3 GPU Acceleration allows you to specify the device to use IE /dev/dri/renderD128

Optional run configurations

Variable Description
--privileged Will start a Docker in Docker (DinD) setup inside the container to use docker in an isolated environment. For increased performance mount the Docker directory inside the container to the host IE -v /home/user/docker-data:/var/lib/docker.
-v /var/run/docker.sock:/var/run/docker.sock Mount in the host level Docker socket to either interact with it via CLI or use Docker enabled applications.
--device /dev/dri:/dev/dri Mount a GPU into the container, this can be used in conjunction with the DRINODE environment variable to leverage a host video card for GPU accelerated appplications. Only Open Source drivers are supported IE (Intel,AMDGPU,Radeon,ATI,Nouveau)

Lossless mode

This container is capable of delivering a true lossless image at a high framerate to your web browser by changing the Stream Quality preset to "Lossless", more information here. In order to use this mode from a non localhost endpoint the HTTPS port on 3001 needs to be used. If using a reverse proxy to port 3000 specific headers will need to be set as outlined here.

obsidian-docker's People

Contributors

lanjelin avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.