Code Monkey home page Code Monkey logo

obsidian-remote's Introduction

obsidian-remote

This docker image allows you to run obsidian in docker as a container and access it via your web browser.

Use http://localhost:8080/ to access it locally, do not expose this to the web unless you secure it and know what you are doing!!

Using the Container

To run a interactive version to test it out. This is using windows based path, update for the OS you are running on.

docker run --rm -it `
  -v D:/ob/vaults:/vaults `
  -v D:/ob/config:/config `
  -p 8080:8080 `
  ghcr.io/sytone/obsidian-remote:latest

To run it as a daemon in the background.

docker run -d `
  -v D:/ob/vaults:/vaults `
  -v D:/ob/config:/config `
  -p 8080:8080 `
  ghcr.io/sytone/obsidian-remote:latest

The ARM container is now avaliable, will look to make this simpler in the future. The ARM imange is on the docker hub and not the github container registry.

docker run -d `
  -v D:/ob/vaults:/vaults `
  -v D:/ob/config:/config `
  -p 8080:8080 `
  sytone/obsidian-remote:latest

Ports

Port Description
8080 HTTP Obsidian Web Interface
8443 HTTPS Obsidian Web Interface

Mapped Volumes

Path Description
/vaults The location on the host for your Obsidian Vaults
/config The location to store Obsidan configuration and ssh data for obsidian-git

Environment Variables

Environment Variable Description
PUID Set the user ID for the container user. 911 by default.
PGID Set the group ID for the continer user. 911 by default.
TZ Set the Time Zone for the container, should match your TZ. Etc/UTC by default. See List of tz database time zones for valid options.
DOCKER_MODS Use to add mods to the container like git. E.g. DOCKER_MODS=linuxserver/mods:universal-git See Docker Mods for details.
KEYBOARD Used to se the keyboard being used for input. E.g. KEYBOARD=en-us-qwerty or KEYBOARD=de-de-qwertz a list of other possible values (not tested) can be found at https://github.com/linuxserver/docker-digikam#keyboard-layouts
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".

Using Docker Compose

services:
  obsidian:
    image: 'ghcr.io/sytone/obsidian-remote:latest'
    container_name: obsidian-remote
    restart: unless-stopped
    ports:
      - 8080:8080
      - 8443:8443
    volumes:
      - /home/obsidian/vaults:/vaults
      - /home/obsidian/config:/config
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=America/Los_Angeles
      - DOCKER_MODS=linuxserver/mods:universal-git
      - CUSTOM_PORT="8080"
      - CUSTOM_HTTPS_PORT="8443" 
      - CUSTOM_USER=""
      - PASSWORD=""
      - SUBFOLDER=""

Enabling GIT for the obsidian-git plugin

This container uses the base images from linuxserver.io. This means you can the linuxserver.io mods. To add support for git add the DOCKER_MODS environment variable like so DOCKER_MODS=linuxserver/mods:universal-git.

Docker CLI example

docker run -d `
  -v D:/ob/vaults:/vaults `
  -v D:/ob/config:/config `
  -p 8080:8080 `
  -e DOCKER_MODS=linuxserver/mods:universal-git `
  ghcr.io/sytone/obsidian-remote:latest

Reloading Obsidan in the Browser

If you make changes to plugins or do updates that need to have obsidian restarted, instead of having to stop and start the docker container you can just close the Obsidian UI and right click to show the menus and reopen it. Here is a short clip showing how to do it.

Reloading Obsidian in the Browser

Setting PUID and PGID

To set PUID and PGID use the follow environment variables on the command line, by default the IDs are 911/911

docker run --rm -it `
  -v D:/ob/vaults:/vaults `
  -v D:/ob/config:/config `
  -e PUID=1000 `
  -e PGID=1000 `
  -p 8080:8080 `
  ghcr.io/sytone/obsidian-remote:latest

Or, if you use docker-compose, add them to the environment: section:

environment:
  - PUID=1000
  - PGID=1000

It is most likely that you will use the id of yourself, which can be obtained by running the command below. The two values you will be interested in are the uid and gid.

id $user

Adding missing fonts

Thanks to @aaron-jang for this example.

Download the font of the language that you want to use in Obsidian and add it to the volume as shown below.

Map font file using Docker CLI

  -v {downloaded font directory}:/usr/share/fonts/truetype/{font name}

Map font file using Docker Compose

    volumes:
      - {downloaded font directory}:/usr/share/fonts/truetype/{font name}

Hosting behind a reverse proxy

If you wish to do that please make sure you are securing it in some way!. You also need to ensure websocket support is enabled.

Example nginx configuration

This is an example, I recommend a SSL based proxy and some sort of authentication.

server {
  set $forward_scheme http;
  set $server         "10.10.10.10";
  set $port           8080;

  listen 80;
  server_name ob.mycooldomain.com;
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection $http_connection;
  proxy_http_version 1.1;
  access_log /data/logs/ob_access.log proxy;
  error_log /data/logs/ob_error.log warn;
  location / {
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $http_connection;
    proxy_http_version 1.1;
    # Proxy!
    add_header       X-Served-By $host;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-Scheme $scheme;
    proxy_set_header X-Forwarded-Proto  $scheme;
    proxy_set_header X-Forwarded-For    $remote_addr;
    proxy_set_header X-Real-IP          $remote_addr;
    proxy_pass       $forward_scheme://$server:$port$request_uri;
  }
}

Hosting behind Nginx Proxy Manager (NPM)

Thanks to @fahrenhe1t for this example.

If you install obsidian-remote in Docker, you can proxy it through Nginx Proxy Manager (NPM - running on the same Docker instance), and use an access list to provide user authentication. The obsidian-remote container would have to be on the same network as Nginx Proxy Manager. If you don't expose the IP external to the container, authentication would be forced through NPM:

services:
  obsidian:
    image: 'ghcr.io/sytone/obsidian-remote:latest'
    container_name: obsidian-remote
    restart: unless-stopped
    ports:
      - 8080 #only exposes port internally to the container
    volumes:
      - /home/obsidian/vaults:/vaults
      - /home/obsidian/config:/config
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=America/Los_Angeles
      - DOCKER_MODS=linuxserver/mods:universal-git
networks:
  default:
    name: <your nginx proxy manager network>
    external: true

Create a proxy host in NPM pointing to the "obsidian-remote:8080" container, choose your domain name, use a LetsEncrypt SSL certificate, enable WebSockets. This video talks about it: Nginx Proxy Manager - ACCESS LIST protection for internal services

Updating Obsidian

By default obsidian will update itself in the container. If you recreate the container you will have to do the update again. This repo will be updated periodically to keep up with the latest version of Obsidian.

Building locally

To build and use it locally run the following commands:

docker build --pull --rm `
  -f "Dockerfile" `
  -t obsidian-remote:latest `
  "."

To run the localy build image:

docker run --rm -it `
  -v D:/ob/vaults:/vaults `
  -v D:/ob/config:/config `
  -p 8080:8080 `
  obsidian-remote:latest bash

Copy/Paste From External Source

Click on the circle to the left side of your browser window. In there you will find a textbox for updating the remote clipboard or copying from it.

image

obsidian-remote's People

Contributors

alangrafu avatar arnoldderuiter avatar dependabot[bot] avatar gmag11 avatar just5ky avatar neolumine avatar sytone avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

obsidian-remote's Issues

configuration to have this work as a kasm workspace

Describe the bug
VNC viewer shows blackscreen when using kasminit for workspace.

To Reproduce
I'm using the following settings:

sytone/obsidian-remote:latest
2 core
GPU count 1/2
inherit CPU allocation method
Registry: https://ghcr.io/

Volume Mappings:
{
"/home/username/nextcloud": {
"bind": "/vaults",
"mode": "rw",
"uid": 1000,
"gid": 1000,
"required": true
}
}

Docker Run Config Override:
{
"user": 1000,
"entrypoint": [
"/kasminit"
],
"environment": {
"PUID": "1000",
"PGID": "1000"
},
"ports": {
"6901/tcp": 6901,
"8080/tcp": 8080,
"8443/tcp": 8443
}
}

My logic for these settings was based on the sort of expectations defined in the docker baseimage from linuxserver.io that is being used in this project.

I couldn't get it to start until I added in kasminit as the entrypoint, but I just get a black screen. So it's like it's not able to load in the startup stuff in autostart or startwm.sh, but I'm not quite sure what I'd have to set to make this custom image compatible.

On their github page for the base image for this they say:
"Kasm Workspaces compatibility

Included in these base images are binary blobs /kasmbins and a special init process /kasminit to maintain compatibility with Kasm Workspaces, If using this base image as reccomended with the startwm.sh or autostart entrypoints. They will be able to be used on that platform without issue."

Thoughts? Advice?

Additionally, I have no idea if the config overrides make sense here, it seems like if you pull the base image into kasm the only config overrides they themselves include are:

{
"user": 1000,
"entrypoint": [
"/kasminit"
]
}

but this doesn't work since this image has custom things on top of the base

Cannot input a language toggle key?

i cannot input an other language

so i finded volume settings about adding an other language

but it is just look an other language text in document

we need a language toggle key for inputting an other language text

  • OS: synology - docker
  • Browser : chrome

Ubuntu (ARM): squashfs-root/obsidian missing

Describe the bug
I am getting an empty black screen when navigating to the container port. Starting obsidian, through right click, results into the following image. I am running this in Ubuntu 22 (aarch64/arm64).

To Reproduce
Fire up using this docker-compose.yml

version: '3.8'
services:
  obsidian:
    image: 'sytone/obsidian-remote:arm64'
    container_name: obsidian-remote
    restart: unless-stopped
    ports:
      - 7777:8080
    volumes:
      - /home/ubuntu/docker/obsidian-remote/vaults:/vaults
      - /home/ubuntu/docker/obsidian-remote/config:/config
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=changed/changed
      - DOCKER_MODS=linuxserver/mods:universal-git

Expected behavior
Obsidian to run?

Screenshots
Screenshot from 2023-01-12 23-54-21

Desktop (please complete the following information):
Using the following to navigate to the container:

  • OS: Ubuntu 20
  • Browser Firefox

Missing TZ variable

Is your feature request related to a problem? Please describe.
There are plugins that use the current time of the system to work. Right now it shows an hour less than my Timezone.

Describe the solution you'd like
It would be awesome to set it as a TZ variable in the docker container.

Add Copy + Paste Functionality

Is your feature request related to a problem? Please describe.
Copy and paste do not work, ie i cannot copy text from a blog and paste it into obsidian, this makes adding in depth concepts quite frustrating, either having to type it all out by hand, or build the md files on my laptop and sftp them onto my server

Additionally, the same issue with images, it would be nice to drag and drop an image into your vault without opening the file system button

Describe the solution you'd like
Please add support for copy and paste from client to web gui

Describe alternatives you've considered
If drop in copy and paste isnt possible, is it possible to have a copy / paste box? like how you can go to upload and upload a file, if you can go to a note, open the paste box, paste your text, hit done and it would insert it into your note at your current context

现在支持中文吗

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

new error while starting image

Describe the bug
The docker image does not start properly (anymore).In the logs I find the folliwing error:

obsidian-remote | [2022-07-11 10:57:25] [Connection 1] Closing connection with error: Error: WS was inactive for too long obsidian-remote | at ClientConnection.checkActivity (/gclient/node_modules/guacamole-lite/lib/ClientConnection.js:154:24) obsidian-remote | at listOnTimeout (internal/timers.js:557:17) obsidian-remote | at processTimers (internal/timers.js:500:7) obsidian-remote | [2022-07-11 10:57:25] [Connection 1] Closing guacd connection obsidian-remote | [2022-07-11 10:57:25] [Connection 1] Client connection closed obsidian-remote | guacd[1424]: ERROR: User is not responding. obsidian-remote | guacd[1424]: INFO: User "@fe37cf9d-0ed2-4768-840b-9af059236e5b" disconnected (0 users remain) obsidian-remote | guacd[1424]: INFO: Last user of connection "$a3a619d9-3de7-449c-8e29-c6850a60b88f" disconnected obsidian-remote | guacd[1424]: INFO: Internal RDP client disconnected obsidian-remote | guacd[1376]: INFO: Connection "$a3a619d9-3de7-449c-8e29-c6850a60b88f" removed. obsidian-remote | rdpClientConRecv: g_sck_recv failed(returned 0)

Any ideas what went wrong?

Keyboard shortcuts

Is your feature request related to a problem? Please describe.
Obsidian gives you hints on commands (Ctrl+N for a new document!) but there are no keyboard shortcuts for those that the browser overtakes, like Ctrl+N, Ctr+T, etc making navigating less optimal than on Desktop

Describe the solution you'd like
I am not sure if a Alt+Shift+Key format is ideal or something custom akin to Github's keyboard shortcuts https://docs.github.com/en/get-started/using-github/keyboard-shortcuts

Container fails healthcheck when custom_user and password enabled

Describe the bug
Using Portainer I was able to get the image up and running. The env options seem to work, but when I enable the custom_user and custom password options the container fails the healthcheck and gets a warning label "unhealthy" If I turn those options off, healthcheck passes.

The error log shows a 401 unauthorized error, returning an exit code 1.

I'm assuming this is because the pop-up user log-in is preventing the curl script from accessing the page and getting the response it needs to issue the exit code 0.

The container seems to run fine, but I was hoping to get rid of the this warning label. Perhaps it's a portainer issue. Any help or direction would be appreciated.

Obsidian does not load behind reverse proxy

I have set up NGINX to point to my this docker but I am getting a white screen.

I can see the little black button that allows me to click full screen, keyboard, etc.

But other than that, nothing. Is there some headers I need to set or something?

Getting some errors on ubuntu

Describe the bug
Getting the following error when I run the command docker-compose logs -f

obsidian-remote | standard_init_linux.go:228: exec user process caused: exec format error
obsidian-remote | standard_init_linux.go:228: exec user process caused: exec format error
obsidian-remote | standard_init_linux.go:228: exec user process caused: exec format error
obsidian-remote | standard_init_linux.go:228: exec user process caused: exec format error
obsidian-remote | standard_init_linux.go:228: exec user process caused: exec format error
obsidian-remote exited with code 1
obsidian-remote | standard_init_linux.go:228: exec user process caused: exec format error
obsidian-remote | standard_init_linux.go:228: exec user process caused: exec format error
obsidian-remote | standard_init_linux.go:228: exec user process caused: exec format error
obsidian-remote | standard_init_linux.go:228: exec user process caused: exec format error
obsidian-remote | standard_init_linux.go:228: exec user process caused: exec format error
obsidian-remote | standard_init_linux.go:228: exec user process caused: exec format error

To Reproduce
I am running docker on a ubuntu LTS server and with the following docker-compose file:

version: "3.8"
services:
  obsidian:
    image: 'ghcr.io/sytone/obsidian-remote:latest'
    container_name: obsidian-remote
    restart: unless-stopped
    ports:
      - 8080:8080
    volumes:
      - /home/user/www/obsidian/vault:/vaults
      - /home/user/www/obsidian/config:/config
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=America/Sao_Paulo
      - DOCKER_MODS=linuxserver/mods:universal-git

image

Image Platform Support

Describe the bug
The current docker image uses amd64 but I want to use it on a raspberry pi 4, which has a linux/arm64/v8 architecture

To Reproduce
On a raspi 4 or a non amd64 machine, run the usual run command. I used:
docker run --rm -it -v /home/pi/Documents/obsidian/raspy/ -v /home/pi/Documents/obsidian/raspy/config/.config/ -p 8080:8080 ghcr.io/sytone/obsidian-remote:latest

Expected behavior
It should run as expected.

Terminal output:
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested standard_init_linux.go:228: exec user process caused: exec format error failed to resize tty, using default size

Desktop:

  • OS: Raspbian Buster 64-bit Desktop version
  • Docker: Docker version 20.10.14, build a224086

German "Umlaute" not working

Hello,
nice work, for me this is really usefull stuff. And it works great. Thanks a lot and keep up the great work. I do have one problem though:

Describe the bug
not all charackters on a German keyboard work as expexted. üäö do not function at all (when pressed no letter apperas on the creen)

To Reproduce
install docker image
set - GUAC_KEYBOARD_LAYOUT=de-de-qwertz in docker-compse
open webgui of obsidian remote
press ä ü or ö

I could not find anything in the logs.

Any ideas how to fix this?

Please add git to the container

Is your feature request related to a problem? Please describe.
Yes.

I use obsidian-git to sync my two vaults between my GitLab instance and the various computers and devices I use on a daily basis.

Describe the solution you'd like
If git is added to the container, then for anyone who is using git to sync their vault between computers, like myself, then it can be set up and working without needing to fork the container and install it.

Please advise the "lack of permission" issue when trying to read local files.

Describe the bug
"no permission to read" happens when trying to read the local md files.

To Reproduce

  1. init the docker file with powershell codes.
  2. start from 127.0.0.1:8080
  3. find the files from other location like C:\Path_to_obsidian_md_files
  4. the no-permission issue shows

Expected behavior
successfully access to the files, read and write.

Screenshots
image

Desktop (please complete the following information):

  • OS: Win11
  • Browser Edge

How does Obsidian Remote work? Would it be possible to have an Obsidian server on my Mac without Docker?

Isn't Obsidian a closed source app? How are you able to take an Electron app, put it into a Docker container and turn it into a localhost server? Is there anything I could Google to learn more about the way it works, or anything to read about it? I did some googling on turning Electron apps into servers but didn't find good results.

Also, I've been trying to find a way to somehow run multiple instances of Obsidian on my Mac. What I'm going for is to have multiple vaults open simultaneously and I'd be able to access them in different app icons on my dock. If I opened two vaults in my one Obsidian app, it would show as 2 different windows which I don't want. Creating a 2nd copy of the app doesn't solve it either, it will just open in the same windows for some reason.

The thing about running it in a Docker container is that it would require running a Linux VM underneath and that would take up lots of resources.

Image not loading

Describe the bug
Image is not loading, whether embedded or directly opening an image file in vault. Embedded PDF also not showing. Note that the same vault works with obsidian running on the host machine (Windows 10).

To Reproduce
Steps to reproduce the behavior:

  1. Open an image file in vault or open md with embedded image or pdf file
  2. No image or pdf displayed. Electron developer tool says error finding the file.

Expected behavior
Image shown in obsidian.

Screenshots
image

Desktop (please complete the following information):

  • OS: Windows 10
  • Browser: Firefox
  • Version: 1.0.3

Additional context
From Electron developer tool, the img src of the image is in the form of app://local/vaults/vault_name/attachments/file.jpeg. This is similar path to what I see on Windows obsidian opening the same vault - app://local/C:/Data/Obsidian/vault_name/attachments/file.jpeg

Overwrite ARG OBSIDIAN_VERSION to latest version

I would like update the obsidian version to the latest version 1.1.9.
The latest version requires an update of the Obsidian installer.

The update had been triggered through Obsidian Settings -> About -> Check for Updates

Describe the solution you'd like
Overwrite ARG OBSIDIAN_VERSION=1.0.3 in Dockerfile or dockerfile.amd64
during the docker run statement.
Example: docker run -d -v vaults:/vaults -v config:/config -e OBSIDIAN_VERSION=1.1.9 -p 8080:8080 ghcr.io/sytone/obsidian-remote:latest

Describe alternatives you've considered
Forcing an update by executing installer installation directly in the container. Not a long-term solution though.

2022-12-27 11_05_28-Window

Local build doesn't seem to work anymore

Bug description:
Using:
git checkout tags/v0.1.1
docker build --pull --rm
-f "Dockerfile"
-t obsidian:latest
"."
followed by
docker run --rm -it -v /var/www/:/vaults -v /home/bernard/config:/config -e PUID=$(id -u) -e PGID=$(id -g) -p 8080:8080 --name obsidian_latest obsidian:latest

fails to launch container with following error:
[migrations] started
[migrations] no migrations found
cont-init: info: running /etc/cont-init.d/12-prep_xrdp
cont-init: info: /etc/cont-init.d/12-prep_xrdp exited 0
cont-init: info: running /etc/cont-init.d/13-keygen

Generating 2048 bit rsa key...

───────────────────────────────────────
...
Based on images from linuxserver.io
───────────────────────────────────────

To support LSIO projects visit:
https://www.linuxserver.io/donate/

───────────────────────────────────────
GID/UID
───────────────────────────────────────

User UID: 1000
User GID: 1000
───────────────────────────────────────

ssl_gen_key_xrdp1 ok

saving to rsakeys.ini

Generating a RSA private key
..................+++++
.................................+++++
writing new private key to '/etc/xrdp/key.pem'

cont-init: info: /etc/cont-init.d/13-keygen exited 0
cont-init: info: running /etc/cont-init.d/30-config
cont-init: info: /etc/cont-init.d/30-config exited 1
cont-init: info: running /etc/cont-init.d/50-config
**** No auth enabled. To enable auth, you can set the PASSWORD var in docker arguments. ****


**** Debug Information ****



**** Start Date Information ****


TZ:
Running dpkg-reconfigure -f noninteractive tzdata

Current default time zone: 'Etc/UTC'
Local time is now: Tue Mar 14 15:13:30 UTC 2023.
Universal Time is now: Tue Mar 14 15:13:30 UTC 2023.

Date UTC
Tue 14 Mar 2023 03:13:30 PM UTC
Date Local
Tue 14 Mar 2023 03:13:30 PM UTC
Zone Info
/usr/share/zoneinfo/ Tue Mar 14 15:13:30 2023
Time Zone Offsets
/etc/localtime -9223372036854775808 = NULL
/etc/localtime -9223372036854689408 = NULL
/etc/localtime 9223372036854689407 = NULL
/etc/localtime 9223372036854775807 = NULL


**** End Date Information ****


cont-init: info: /etc/cont-init.d/50-config exited 0
cont-init: info: running /etc/cont-init.d/50-gid-video
cont-init: info: /etc/cont-init.d/50-gid-video exited 0
cont-init: info: running /etc/cont-init.d/55-autostart-config
cont-init: info: /etc/cont-init.d/55-autostart-config exited 0
cont-init: info: running /etc/cont-init.d/56-openboxcopy
cont-init: info: /etc/cont-init.d/56-openboxcopy exited 1
[custom-init] No custom files found, skipping...
services-up: info: copying legacy longrun autostart (no readiness notification)
services-up: info: copying legacy longrun guacd (no readiness notification)
services-up: info: copying legacy longrun web (no readiness notification)
services-up: info: copying legacy longrun xrdp (no readiness notification)
services-up: info: copying legacy longrun xrdp-sesman (no readiness notification)
s6-svwait: fatal: unable to subscribe to events for /var/run/s6/services/xrdp-sesman/: No such file or directory
starting sesman in foreground...
[ls.io-init] done.
Global configuration:
ListenAddress: 127.0.0.1
ListenPort: 3350
EnableUserWindowManager: 1
UserWindowManager: startwm.sh
DefaultWindowManager: /etc/xrdp/startwm.sh
ReconnectScript: /etc/xrdp/reconnectwm.sh
AuthFilePath: disabled
Session configuration:
MaxSessions: 50
X11DisplayOffset: 10
KillDisconnected: 0
IdleTimeLimit: 0
DisconnectedTimeLimit: 0
Policy: 0
Security configuration:
AllowRootLogin: 1
MaxLoginRetry: 4
AlwaysGroupCheck: 0
RestrictOutboundClipboard: 0
TSUsersGroup: (not defined)
TSAdminsGroup: (not defined)
Xorg parameters:
Parameter 00 /usr/lib/xorg/Xorg
Parameter 01 -config
Parameter 02 xrdp/xorg.conf
Parameter 03 -noreset
Parameter 04 -nolisten
Parameter 05 tcp
Parameter 06 -logfile
Parameter 07 .xorgxrdp.%s.log
Xvnc parameters:
Parameter 00 Xvnc
Parameter 01 -bs
Parameter 02 -nolisten
Parameter 03 tcp
Parameter 04 -localhost
Parameter 05 -dpi
Parameter 06 96
SessionVariables parameters:
Parameter 00 PULSE_SCRIPT=/etc/xrdp/pulse/default.pa
xrdp-sesman[215]: (215)(140195580081728)[DEBUG] libscp initialized

[20230314-15:13:32] [DEBUG] libscp initialized
xrdp-sesman[215]: (215)(140195580081728)[INFO ] starting xrdp-sesman with pid 215

[20230314-15:13:32] [INFO ] starting xrdp-sesman with pid 215
xrdp-sesman[215]: (215)(140195580081728)[INFO ] listening to port 3350 on 127.0.0.1

[20230314-15:13:32] [INFO ] listening to port 3350 on 127.0.0.1
guacd[228]: INFO: Guacamole proxy daemon (guacd) version 1.1.0 started
guacd[228]: INFO: Listening on host 0.0.0.0, port 4822
Starting guacamole-lite websocket server
listening on *:8080
xrdp-sesman[215]: (215)(140195580081728)[INFO ] A connection received from ::ffff:127.0.0.1 port 55370

[20230314-15:13:32] [INFO ] A connection received from ::ffff:127.0.0.1 port 55370
xrdp-sesman[215]: (215)(140195580081728)[WARN ] libscp network error.

[20230314-15:13:32] [WARN ] libscp network error.
guacd[228]: INFO: Guacamole connection closed during handshake
xrdp-sesman[215]: (215)(140195580081728)[DEBUG] Closed socket 7 (AF_INET6 ::ffff:127.0.0.1 port 3350)

[20230314-15:13:32] [DEBUG] Closed socket 7 (AF_INET6 ::ffff:127.0.0.1 port 3350)
s6-svwait: fatal: unable to subscribe to events for /var/run/s6/services/xrdp-sesman/: No such file or directory
xrdp-sesman[215]: (215)(140195580081728)[INFO ] A connection received from ::ffff:127.0.0.1 port 55380

[20230314-15:13:33] [INFO ] A connection received from ::ffff:127.0.0.1 port 55380
xrdp-sesman[215]: (215)(140195580081728)[WARN ] libscp network error.

[20230314-15:13:33] [WARN ] libscp network error.
guacd[228]: INFO: Guacamole connection closed during handshake
xrdp-sesman[215]: (215)(140195580081728)[DEBUG] Closed socket 7 (AF_INET6 ::ffff:127.0.0.1 port 3350)
...

Tested with a clean docker install.

Note also that:
-) Works correctly with "ghcr.io/sytone/obsidian-remote:latest" image
-) Images sizes are different:
image

Any hint on that ?

Where to edit port configuration?

I am trying to deploy an obsidian-remote container via docker compose using the portainer stack function with the suggested docker compose. Since 8080 is already occupied by another container, i tried to use 6060:6060 which however results in an error when accessing the URL. I suppose, that the basic configuration uses 8080:8080. What file(s) do i have to edit to fire it up on 6060:6060?

Copy / paste for sync username / password

Describe the bug

It is not possible to login to Obsidian sync. Despite setting explicitly setting the KEYBOARD environment variable, I have no way to type special characters like the @ character. Furthermore is it not possible to use the clipboard feature of the web ui as it is not possible to execute the paste command in the user password dialogue.

Update: copy & past is not working when trying to connect to a synced vault from the start screen. When you are creating an empty vault, you can go to settings, sync and then login and connect to your vault. Right-click and paste is then working.

To Reproduce
Steps to reproduce the behavior:

Testet with macOS and firefox.

  1. OPen obsidian in web ui
  2. Click on the 'Sign in' button next to 'Open vault from Obsidian Sync'
  3. Try to type an e-mail address with
  4. Try to copy paste a username

Expected behavior
I can type special characters or I can use copy/paste in the login dialogue.

Desktop (please complete the following information):

  • OS: macOS 13
  • Browser: firefox 108
  • Version: obsidian 1.1.9

x86_64 image possible?

I am unable to install as I have a x86_64 system (synology NAS) - would a build be possible for this type of server?

Missing ENV for PUID, PGID and UMASK

Describe the bug
No option to change PUID, GUID and UMASK. This makes it hard to have it work nicely with the rest of the system. Other than that It seems to work really well, great job on the container!

To Reproduce
Steps to reproduce the behaviour:

  1. Run the docker container
  2. check permissions of created files with ls -la

Expected behavior
Most bigger docker images offer you the option to set the PUID, GUID and UMASK with environment variables, which gives you the information needed inside of the image.

Screenshots
What the permissions look like by default
image
What I need it to be for it to work nicely with Unraid (PID=99, GIP=100, UMASK=000)
image

Server:

  • OS: Unriad
  • Browser: NA
  • Version: v0.0.1

Additional context
I'm running Unraid on my server. Unraid uses the user "nobody" and the group "users" for all files with a UMASK of 000. This works with multiple users because the group and everyone have rw-access. The user can be different depending on which user wrote files to the share but the group is always the same, thus ensuring easy access to files without having to mess with the shell every time.

Add Git to apt-list to support Git Sync plugin

I would like to install the git sync plugin, but unless I am missing something, git needs to be included in the container OS in order to make that work.

I could easily grab the dockerfile and create my own local image, but I don't want to get out of sync with your releases.

I think this is as simple as adding git to the apt-get install list in the Dockerfile.

Not enough watchers in /etc/sysctl.conf

Describe the bug
When deploying the container, I mapped a host path to "/vaults". The path had no files in it, but still when trying to open a vault in Obsidian I get the error: ENOSPC: System limit for number of file watchers reached, watch /vaults/default.`

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'dockerhost:mapped-port'
  2. Click on 'Quick Start' or 'Create a new vault' or 'open a vault from folder'
  3. See error

Expected behavior
Load a vault correctly.

Screenshots
image

Desktop:

  • OS: Windows 10
  • Browser Firefox
  • Version 107.0.1

Docker Host:

  • Platform: ESXi VM, 8x Intel Xeon E5-2667 vCPU, 32 GB RAM
  • OS: Ubuntu Server 18.04 LTS
  • Storage: 13TB NFS volume, mounted from a different VM, with a specific path in it mapped to '/vaults'
  • Docker Runtime: 20.10.21, build baeda1f

Additional context
Based on this thread: https://forum.obsidian.md/t/obsidian-starts-with-blank-screen/2427/4
I tried running:
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

in the container, but I get:

root@12f9e2fba777:/# echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
fs.inotify.max_user_watches=524288
sysctl: setting key "fs.inotify.max_user_watches", ignoring: Read-only file system
sysctl: setting key "fs.inotify.max_user_watches", ignoring: Read-only file system

It seems I can't modify the file and the setting has to be increased in the image.

Paste into Obsidian-remote?

Describe the bug
Cannot paste into my notebook from my desktop.

To Reproduce
Steps to reproduce the behavior:

  1. Copy something from your desktop
  2. Attempt to paste it into Obsidian notebook
  3. It will not paste

Expected behavior
Data will paste into notebook

Desktop (please complete the following information):

  • OS: Linux Mint
  • Browser Firefox

Cannot start web application obsidian-remote

I have installed Obsidian with a docker container with docker-compose. The docker container is running and listening to the specified ports 8080 and 8443:
image

However, I cannot access it through the browser. http:/localhost:8080/ and 8443 not working if I specify the "ip address" as localhost

any idea?

How to install as LXC container?

Hi,

Not particularly a feature request, but it isn't a bug at all; it's more a documentation request:
Could you please help in how can I install Obsidian Remote as an LXC container instead of using docker?

Thank you for the help.

Credit Upstream maybe?

So I found this via Unraid Community Apps -- I don't know what Obsidian is. Whatever your project is, you didn't build Obisidan. You didn't link to it. You just include it. In your initial project description, you need to make the word Obsidian a link to the Obsidian project. It feels obvious, but it isn't.

https://obsidian.md/

"403 Forbidden Error" when trying to connect via traefik reverse proxy on diffrent VM

Trying to get my local traefik / authelia instances to play nice with Obsidian.
Most of my containers do not require me to have a an additional instance of traefik installed locally.
I can simply spin up the container add my config to traefik and authelia, then have pihole redirect to my instance.

I have two traefik / authelia instances setup in my homelab. One for internal, and one for external configuration.
I am attempting to configure this on my internal instance.

While reading through the documentation, I was referencing the section on setting this up behind a reverse proxy. The doc references installing NGINX. Is this required? Or is there another way to get this to work? I would rather not install a dedicated proxy for just this container.

If anyone is able to help and knows what I am doing wrong or why I keep getting 403 forbidden. The help would be greatly appreciated.
I have attached copies of edited versions of my config files. Thanks

403Forbidden authelia configuration yml

traefik config yml

docker-compose yml

could add a passwd for login

If we are on the public network, the ip:port will be exposed, and the data will be tampered with by others, so it will be better to add login authentication

Docker compose does not start - Guacamole connection closed during handshake

Describe the bug
At first setup of docker compose logs shows error related to Guacamole connection closed during handshake

To Reproduce
Below docker compose:

version: "3"
services:
  obsidian:
    image: 'ghcr.io/sytone/obsidian-remote:latest'
    container_name: obsidian-remote
    restart: always
    ports:
      - 8080:8080
      - 8443:8443
    volumes:
      - obsidian_vaults:/vaults
      - obsidian_config:/config
    environment:
      - PUID=0
      - PGID=0
      - TZ=America/Bogota
      - DOCKER_MODS=linuxserver/mods:universal-git
      - CUSTOM_PORT="8080"
      - CUSTOM_HTTPS_PORT="8443" 
      - CUSTOM_USER=""
      - PASSWORD=""
      - SUBFOLDER=""
    networks:
      macvlan-favernet:
        ipv4_address: 192.168.1.37      
      
networks:
  macvlan-favernet:
    external: true
    name: macvlan-favernet
    
volumes:
  obsidian_vaults:
    external: true
  obsidian_config:
    external: true

Log info from docker:

guacd[1104]: INFO:	Guacamole proxy daemon (guacd) version 1.1.0 started
guacd[1104]: INFO:	Listening on host 0.0.0.0, port 4822
guacd[1104]: INFO:	Guacamole connection closed during handshake
Starting guacamole-lite websocket server
Starting guacamole-lite websocket server
events.js:377
      throw er; // Unhandled 'error' event
      ^
Error: listen EACCES: permission denied "8080"
    at Server.setupListenHandle [as _listen2] (net.js:1314:21)
    at listenInCluster (net.js:1379:12)
    at Server.listen (net.js:1476:5)
    at Object.<anonymous> (/gclient/app.js:217:6)
    at Module._compile (internal/modules/cjs/loader.js:1085:14)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
    at Module.load (internal/modules/cjs/loader.js:950:32)
    at Function.Module._load (internal/modules/cjs/loader.js:790:12)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:75:12)
    at internal/main/run_main_module.js:17:47
Emitted 'error' event on WebSocketServer instance at:
    at Server.WebSocketServer._onServerError (/gclient/node_modules/ws/lib/WebSocketServer.js:82:50)
    at Server.emit (events.js:400:28)
    at emitErrorNT (net.js:1358:8)
    at processTicksAndRejections (internal/process/task_queues.js:82:21) {
  code: 'EACCES',
  errno: -13,
  syscall: 'listen',
  address: '"8080"',
  port: -1
}
guacd[1104]: INFO:	Guacamole connection closed during handshake
guacd[1104]: INFO:	Guacamole connection closed during handshake
guacd[1104]: INFO:	Guacamole connection closed during handshake
guacd[1104]: INFO:	Guacamole connection closed during handshake
guacd[1104]: INFO:	Guacamole connection closed during handshake
guacd[1104]: INFO:	Guacamole connection closed during handshake
guacd[1104]: INFO:	Guacamole connection closed during handshake
guacd[1104]: INFO:	Guacamole connection closed during handshake
guacd[1104]: INFO:	Guacamole connection closed during handshake
guacd[1104]: INFO:	Guacamole connection closed during handshake
starting sesman in foreground...
Global configuration:
    ListenAddress:            127.0.0.1
    ListenPort:               3350
    EnableUserWindowManager:  1
    UserWindowManager:        startwm.sh
    DefaultWindowManager:     /etc/xrdp/startwm.sh
    ReconnectScript:          /etc/xrdp/reconnectwm.sh
    AuthFilePath:             disabled
Session configuration:
    MaxSessions:              50
    X11DisplayOffset:         10
    KillDisconnected:         0
    IdleTimeLimit:            0
    DisconnectedTimeLimit:    0
    Policy:                   0
Security configuration:
    AllowRootLogin:           1
    MaxLoginRetry:            4
    AlwaysGroupCheck:         0
    RestrictOutboundClipboard: 0
    TSUsersGroup:             (not defined)
    TSAdminsGroup:            (not defined)
Xorg parameters:
    Parameter 00              /usr/lib/xorg/Xorg
    Parameter 01              -config
    Parameter 02              xrdp/xorg.conf
    Parameter 03              -noreset
    Parameter 04              -nolisten
    Parameter 05              tcp
    Parameter 06              -logfile
    Parameter 07              .xorgxrdp.%s.log
Xvnc parameters:
    Parameter 00              Xvnc
    Parameter 01              -bs
    Parameter 02              -nolisten
    Parameter 03              tcp
    Parameter 04              -localhost
    Parameter 05              -dpi
    Parameter 06              96
SessionVariables parameters:
    Parameter 00              PULSE_SCRIPT=/etc/xrdp/pulse/default.pa
[20230525-04:33:54] [DEBUG] libscp initialized
[20230525-04:33:54] [INFO ] starting xrdp-sesman with pid 1094
[20230525-04:33:54] [INFO ] listening to port 3350 on 127.0.0.1
[20230525-04:33:55] [INFO ] A connection received from ::ffff:127.0.0.1 port 59356
[20230525-04:33:55] [WARN ] libscp network error.
[20230525-04:33:55] [DEBUG] Closed socket 7 (AF_INET6 ::ffff:127.0.0.1 port 3350)
[20230525-04:33:55] [INFO ] A connection received from ::ffff:127.0.0.1 port 59366
[20230525-04:33:55] [WARN ] libscp network error.
[20230525-04:33:55] [DEBUG] Closed socket 7 (AF_INET6 ::ffff:127.0.0.1 port 3350)
[20230525-04:33:56] [INFO ] A connection received from ::ffff:127.0.0.1 port 59378
[20230525-04:33:56] [WARN ] libscp network error.
[20230525-04:33:56] [DEBUG] Closed socket 7 (AF_INET6 ::ffff:127.0.0.1 port 3350)
[20230525-04:33:56] [INFO ] A connection received from ::ffff:127.0.0.1 port 59382
[20230525-04:33:56] [WARN ] libscp network error.
[20230525-04:33:56] [DEBUG] Closed socket 7 (AF_INET6 ::ffff:127.0.0.1 port 3350)
[20230525-04:33:57] [INFO ] A connection received from ::ffff:127.0.0.1 port 59394
[20230525-04:33:57] [WARN ] libscp network error.
[20230525-04:33:57] [DEBUG] Closed socket 7 (AF_INET6 ::ffff:127.0.0.1 port 3350)
[20230525-04:33:57] [INFO ] A connection received from ::ffff:127.0.0.1 port 59400
[20230525-04:33:57] [WARN ] libscp network error.
[20230525-04:33:57] [DEBUG] Closed socket 7 (AF_INET6 ::ffff:127.0.0.1 port 3350)
[20230525-04:33:58] [INFO ] A connection received from ::ffff:127.0.0.1 port 59408
[20230525-04:33:58] [WARN ] libscp network error.
[20230525-04:33:58] [DEBUG] Closed socket 7 (AF_INET6 ::ffff:127.0.0.1 port 3350)
[20230525-04:33:58] [INFO ] A connection received from ::ffff:127.0.0.1 port 59420
[20230525-04:33:58] [WARN ] libscp network error.
[20230525-04:33:58] [DEBUG] Closed socket 7 (AF_INET6 ::ffff:127.0.0.1 port 3350)
[20230525-04:33:59] [INFO ] A connection received from ::ffff:127.0.0.1 port 59424
[20230525-04:33:59] [WARN ] libscp network error.
[20230525-04:33:59] [DEBUG] Closed socket 7 (AF_INET6 ::ffff:127.0.0.1 port 3350)
[20230525-04:33:59] [INFO ] A connection received from ::ffff:127.0.0.1 port 59438
[20230525-04:33:59] [WARN ] libscp network error.
[20230525-04:33:59] [DEBUG] Closed socket 7 (AF_INET6 ::ffff:127.0.0.1 port 3350)
[20230525-04:34:00] [INFO ] A connection received from ::ffff:127.0.0.1 port 59442
[20230525-04:34:00] [WARN ] libscp network error.
[20230525-04:34:00] [DEBUG] Closed socket 7 (AF_INET6 ::ffff:127.0.0.1 port 3350)
guacd[1104]: INFO:	Guacamole connection closed during handshake
guacd[1104]: INFO:	Guacamole connection closed during handshake
guacd[1104]: INFO:	Guacamole connection closed during handshake
guacd[1104]: INFO:	Guacamole connection closed during handshake
guacd[1104]: INFO:	Guacamole connection closed during handshake
guacd[1104]: INFO:	Guacamole connection closed during handshake
guacd[1104]: INFO:	Guacamole connection closed during handshake
guacd[1104]: INFO:	Guacamole connection closed during handshake

Expected behavior
Start normally

Screenshots
N/A

Desktop (please complete the following information):

N/A

Smartphone (please complete the following information):

N/A

Additional context
Add any other context about the problem here.

Disable GUI?

Would be possible to disable all GUI services (in order to reduce memory and cpu consumption) and only leave obsidian service running?

Once configured, I want to have and instance of Obsidian service running in my headless server.

I am running Obsidian in my computer, phone..all with liveSync plugin, so everything is sync.

If what I want is possible, I would have my vault also sync in my server as a backup.

I know there are another ways, like using GIT, buy I would prefer this one if possible.

EDIT: I just tried to start the container, and after a few seconds stop it and everything is synchronized, so no need of anything else.

MacOS Keybindings do not work

Describe the bug
The keyboard shortcuts are setup for Windows, seemingly. This means I have to use the Control key in place of the Command key for many things. I cannot even set Option or Command as keyboard shortcuts, they don't register as buttons when I try.

To Reproduce
Steps to reproduce the behavior:

Open on a Mac and try to CMD + A some text.

Expected behavior
Ability to set CMD and Option as keybindings.

Desktop (please complete the following information):

  • OS: Unraid Server
  • Browser: Mac Firefox & Chrome
  • Version: Updated to latest Obsidian.

OS font does not support emoji

Describe the bug
Emoji icon does not appear in Edit mode. I think this is because the OS font does not support emoji icons.

To Reproduce
Steps to reproduce the behavior:

  1. Install Emoji Toolbar plugin
  2. Add emoji icon to a note
  3. Switch between Edit and Preview modes. Note emoji icon appears in Preview mode but not Edit mode.

Expected behavior
Emoji icon showing in both Edit and Preview mode.

Screenshots
Preview mode shows emoji (because of Emoji Toolbar plugin)
image
Edit mode does not show emoji
image

Desktop (please complete the following information):

  • OS: Windows
  • Browser Chrome
  • Version 109

Additional context
See - https://forum.obsidian.md/t/emojis-look-different-in-editor-than-in-preview/13646/8

Copy/Paste From External Source No Worky

Describe the bug
Inability to paste copied content from outside of the obsidian-remote browser tab into an obsidian document. And vice versa, can't copy content from an obsidian-remote document to any other program, like notepad for instance.

To Reproduce
Steps to reproduce the behavior:

  1. Open or create any document in obsidian-remote
  2. Create some text if no text exists
  3. Select text and Ctrl+V or right click and "copy"
  4. Go to another program like Notepad or another browser tab and try to paste.
  5. Nothing gets pasted.

Expected behavior
I expected the data to be copied to PC's clipboard for use anywhere I wanted to paste it. And on the other side, I expected data from PC's clipboard to be pasted into obsidian-remote.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):
Windows 10 x64 PC accessing obsidian-remote through docker container on Contabo Ubuntu VPS
Browser is Chrome
Version 106.0.5249.103 (Official Build) (64-bit)

User and Password authentication

Hello, have a method for login with user and password, in a external connection, without use complicate methods? I tried use "CUSTOM_USER" and "PASSWORD" on cried a Docker Compose, but don't have success. i haven't knowledge in docker and external authentication.

Change the keyboard layout

hi, how do i change the keyboard layout? the method using "setxkbmap -model pc105 -layout br -variant abnt2" or other traditional method not work. i'm from brazil and need ç, é, etc.

Exposing Port for API not working

Describe the bug
I exposed the port for the obsidian-local-rest-api extension in two ways:

  • expose only, access it via traefik service to have it available with a fqdn
  • port mapping to docker host

In both cases I cannot access the API.

To Reproduce
Steps to reproduce the behavior:

  1. Startup container as described in the example yaml
  2. Install the obsidian-local-rest-api extension, enable http only API access
  3. Add the port for the API
  4. Run curl in the container of obsidian remote: curl localhost:27123, you'll get the status info of the API
  5. Run curl from another client with the proper working traefik service: you'll get something like this: curl: (7) Failed to connect to 172.29.52.3 port 27123: Connection refused
  6. You can setup also a port mapping from the container to the docker host. curl will not work as well, the error will be something like this: curl: (7) Failed to connect to 192.168.0.1 port 27123 after 111 ms: Couldn't connect to server

Expected behavior
I would expect that exposing the API port 27123 would work exactly like port 8080 works. In the described setup exposing 8080 works. The same doesn't work for 27123. Thats the used docker-compose.yml:

services:

  obsidian:
    # source: https://github.com/sytone/obsidian-remote/pkgs/container/obsidian-remote
    container_name: obsidian
    hostname: obsidian
    image: ghcr.io/sytone/obsidian-remote:0.1.1
    restart: unless-stopped
    user: ${UID}:${GID} #PUID=1000:PGID=100
    expose:
      - 8080 # UI
      - 27123 # REST API insecure
      - 27124 # REST API TLS
    environment:
      - PUID=${UID}
      - PGID=${GID}
      - TZ=Europe/Zurich
      - KEYBOARD=de-ch-qwertz
    volumes:
      - '${CT_DATA_BASEPATH}/container/obsidian/vaults:/vaults'
      - '${CT_DATA_BASEPATH}/container/obsidian/config:/config'
    labels:
      - "traefik.enable=true"
      # UI
      - "traefik.http.routers.obsidian.rule=Host(`obsidian.${INSTANCE}.domain.tld`)"
      - "traefik.http.routers.obsidian.entrypoints=websecure"
      - "traefik.http.routers.obsidian.tls.certresolver=mytlschallenge"
      - "traefik.http.routers.obsidian.service=obsidian"
      - "traefik.http.services.obsidian.loadbalancer.server.port=8080"
      # API
      - "traefik.http.routers.obsidianapi.rule=Host(`obsidianapi.${INSTANCE}.domain.tld`)"
      - "traefik.http.routers.obsidianapi.entrypoints=websecure"
      - "traefik.http.routers.obsidianapi.tls.certresolver=mytlschallenge"
      - "traefik.http.routers.obsidianapi.service=obsidianapi"
      - "traefik.http.services.obsidianapi.loadbalancer.server.port=27123"
      # IP Whitelist
      - "traefik.http.routers.obsidian.middlewares=TestIP@docker"
      - "traefik.http.routers.obsidianapi.middlewares=TestIP@docker"
      # Basic auth user
      #- "traefik.http.routers.obsidian.middlewares=TestAuth@docker"
      # Flame app dashboard
      - "flame.type=application" # "app" works too
      - "flame.name=obsidian"
      - "flame.url=https://obsidian.${INSTANCE}.domain.tld"
      - "flame.icon=note-multiple-outline" # optional, default is "docker", source: https://materialdesignicons.com/
    logging:
      driver: "json-file"
      options:
        tag: "{{.ImageName}}|{{.Name}}|{{.ImageFullID}}|{{.FullID}}"
    networks:
      - TestDockerLAN

networks:
  TestDockerLAN:
    external:
      name: TestDockerLAN

502 Bad-Gateway with docker compose and nginx

Describe the bug
I try to set up Obsidian with the docker compose file and NGINX, but when forwarding to my choosen port i get 502 error. I checked the logs of the container and they seem not healty to me but I am not certain. Maybe one you has an idea on what to try next.

To Reproduce
1.) Use docker compose from readme
2.) change ports to: my-port:8080
3.) add my NGINX network
4.) enable my-port in ufw

Additional context
Container Log:

screen resized to 1024x768
RRScreenSizeSet ok 1
rdpResizeSession: width 1024 height 768
rdpClientConGotConnection:
rdpClientConGotConnection: g_sck_accept ok new_sck 7
rdpClientConGetConnection: idle_disconnect_timeout set to non-positive value, idle timer turned off
rdpAddClientConToDev: adding first clientCon 0x55d757a55c60
rdpClientConProcessMsgVersion: version 0 0 0 1
rdpClientConProcessScreenSizeMsg: set width 1024 height 768 bpp 16
rdpClientConProcessScreenSizeMsg: shmemid 0 shmemptr 0x7f7b821d6000
rdpClientConProcessMsgClientInput: invalidate x 0 y 0 cx 1024 cy 768
4.sync,10.3247251621;
rdpInDeferredRepeatCallback:
rdpkeybChangeKeyboardControl:
rdpkeybChangeKeyboardControl: autoRepeat off
(EE) Failed to open authorization file ".Xauthority": No such file or directory
rdpClientConProcessMsgClientInfo:
got client info bytes 5752
jpeg support 0
offscreen support 0
offscreen size 0
offscreen entries 0
client supports glyph cache but server disabled
client can not do offscreen to offscreen blits
client can do new(color) cursor
client can not do multimon
rdpRRSetRdpOutputs: numCrtcs 0 numOutputs 0 monitorCount 0
rdpRRSetRdpOutputs: add output 0 left 0 top 0 width 1024 height 768
rdpLoadLayout: keylayout 0x00000409 variant display 10
rdpkeybChangeKeyboardControl:
rdpkeybChangeKeyboardControl: autoRepeat on
rdpkeybChangeKeyboardControl:
rdpkeybChangeKeyboardControl: autoRepeat on
4.sync,10.3247251796;
guacd[1130]: INFO: Accepted format: 16-bit PCM with 2 channels at 44100 Hz
guacd[1130]: INFO: Accepted format: 16-bit PCM with 2 channels at 22050 Hz
guacd[1130]: INFO: Connected to RDPDR 1.12 as client 0x10afc144
3.end,1.1;5.audio,1.1,31.audio/L16;rate=22050,channels=2;4.sync,10.3247251797;
guacd[1130]: INFO: RDPDR user logged on
4.sync,10.3247251799;
4.sync,10.3247251799;
3.img,1.3,2.14,1.0,9.image/png,1.0,1.0;4.blob,1.3,256.iVBORw0KGgoAAAANSUhEUgAABAAAAAMAAQMAAACAdIdOAAAAA1BMVEUAAACnej3aAAAAdklEQVR4nO3BAQEAAACCIP+vbkhAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7waDDwABtWbkhAAAAABJRU5ErkJggg==;3.end,1.3;4.sync,10.3247251862;
4.size,2.-1,2.32,2.32;3.img,1.3,2.12,2.-1,9.image/png,1.0,1.0;4.blob,1.3,256.iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAAdElEQVRYhe2VOxLAIAhEd5nc/8qkQcd8dNLIFuFVoAWPAUd4ABEGACShkrAWqCRsTBQSdj/IlngIZEu8CmRKTAWyJJYCGRLH7CJrDy8C7g6SPeeYbKKPIIqzdZ66hK347mKfic49Qu0rkKH+pouiKIqi+A8nWNBM/C9+/cYAAAAASUVORK5CYII=;3.end,1.3;6.cursor,1.1,1.1,2.-1,1.0,1.0,2.32,2.32;4.sync,10.3247251863;
rdpInDeferredRepeatCallback:
rdpkeybChangeKeyboardControl:
rdpkeybChangeKeyboardControl: autoRepeat off
rdpInDeferredRepeatCallback:
rdpkeybChangeKeyboardControl:
rdpkeybChangeKeyboardControl: autoRepeat off
4.sync,10.3247251901;
4.sync,10.3247252152;
4.sync,10.3247252402;
4.size,2.-1,2.32,2.32;3.img,1.3,2.12,2.-1,9.image/png,1.0,1.0;4.blob,1.3,256.iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAAdElEQVRYhe2VOxLAIAhEd5nc/8qkQcd8dNLIFuFVoAWPAUd4ABEGACShkrAWqCRsTBQSdj/IlngIZEu8CmRKTAWyJJYCGRLH7CJrDy8C7g6SPeeYbKKPIIqzdZ66hK347mKfic49Qu0rkKH+pouiKIqi+A8nWNBM/C9+/cYAAAAASUVORK5CYII=;3.end,1.3;6.cursor,1.1,1.1,2.-1,1.0,1.0,2.32,2.32;
4.sync,10.3247252482;
3.img,1.3,2.14,1.0,9.image/png,3.112,2.59;4.blob,1.3,212.iVBORw0KGgoAAAANSUhEUgAAAyAAAAKKAQMAAAD/Tq0XAAAAA1BMVEX///+nxBvIAAAAVklEQVR4nO3BMQEAAADCoPVPbQwfoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOBhAIEAAYu38NAAAAAASUVORK5CYII=;3.end,1.3;4.sync,10.3247252533;
4.sync,10.3247252783;
4.sync,10.3247253034;
4.sync,10.3247253285;
4.sync,10.3247253537;
4.sync,10.3247253787;
4.sync,10.3247254038;
4.sync,10.3247254288;
4.sync,10.3247254539;
4.sync,10.3247254789;
4.sync,10.3247255039;
4.sync,10.3247255289;
4.sync,10.3247255540;
4.sync,10.3247255790;
4.sync,10.3247256040;
4.sync,10.3247256291;
4.sync,10.3247256541;
4.sync,10.3247256792;
4.sync,10.3247257042;
4.sync,10.3247257292;
4.sync,10.3247257542;
4.sync,10.3247257793;
4.sync,10.3247258043;
4.sync,10.3247258294;
4.sync,10.3247258544;
4.sync,10.3247258794;
4.sync,10.3247259045;
4.sync,10.3247259295;
4.sync,10.3247259545;
4.sync,10.3247259795;
[2023-05-07 01:24:10] [Connection 1] Closing connection with error: Error: WS was inactive for too long
at ClientConnection.checkActivity (/gclient/node_modules/guacamole-lite/lib/ClientConnection.js:154:24)
at listOnTimeout (internal/timers.js:557:17)
at processTimers (internal/timers.js:500:7)
[2023-05-07 01:24:10] [Connection 1] Closing guacd connection
[2023-05-07 01:24:10] [Connection 1] Client connection closed
guacd[1130]: ERROR: User is not responding.
guacd[1130]: INFO: User "@c32db1b5-80df-455b-856f-c61fa54e39b3" disconnected (0 users remain)
guacd[1130]: INFO: Last user of connection "$8b91fcbb-04bd-452a-8651-3ab21e4eeceb" disconnected
rdpClientConRecv: g_sck_recv failed(returned 0)
rdpClientConRecvMsg: error
rdpClientConCheck: rdpClientConGotData failed
rdpClientConDisconnect:
rdpRemoveClientConFromDev: removing clientCon 0x55d757a55c60
guacd[1130]: INFO: Internal RDP client disconnected
guacd[1097]: INFO: Connection "$8b91fcbb-04bd-452a-8651-3ab21e4eeceb" removed.

Dealing with Obsidian update notifications

Describe the bug
I just installed Obsidian Remote via docker-compose and as soon as I made my first note a green notification appeared to inform me that a new major version of Obsidian was available. My question is will this be taken care of by routine updates of the docker image or is there a process for the user to perform this update?

To Reproduce
install from ghcr.io/sytone/obsidian-remote:latest

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
just need to know if the maintainer 'sytone' will take care of the update and how frequently.... and perhaps add a paragraph in the docs to let user know what to do .

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Ubuntu server 20.04
    
  • Browser [e.g. chrome, safari]
  • Chrome
    
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
MOre of a request for documentation than a bug request. Great to see this in docker

Obsidian Not Opening, Pulse Audio Failing

Describe the bug
Openbox properly loads and is accessible from the browser, but the Obsidian Application never opens. When going through the logs, the main errors I see are from Autospawn and Pulse Audio, both failing and saying they cannot create a symlink.

Logs
https://pastebin.com/HgCQJJL2

Additional Context
I am running this on a Debian 11 server, that is using cifs-utils to add an smb drive from my TrueNAS system for backing up the system. I followed a tutorial on youtube for making a proxmox server with 2 vms on it. One for TrueNAS and the other for Docker.

My /etc/fstab code
//192.168.1.9/server-drive /mnt/server-drive cifs vers=3.0,credentials=/root/.smbcredentials,uid=1000,forceuid,gid=0,forcegid,noauto,nolock,x-systemd.automount 0 0

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.