Skip to content

Latest commit

 

History

History
63 lines (46 loc) · 2.45 KB

README.md

File metadata and controls

63 lines (46 loc) · 2.45 KB

Bemoty's ShareS server

This repository contains my personal fork of the ShareX-Upload-Server (ShareS) by TannerReynolds. I use it to upload screenshots to my domain i.bemoty.dev. If you want to find out more about the original ShareS server, you might want to check out the upstream readme.

Installation

Clone this repository.

git clone https://github.com/bemoty/sharex-upload-server

Install dependencies.

npm i

Change src/config.debug.json how you want and debug the application locally using npm run debug.

Usage

The following setup is used together with a nginx reverse proxy (running in the "bemoty" network). The nginx reverse proxy handles HTTPS using the docker-nginx-lets-encrypt-companion, which is why any SSL functionality is removed from this fork.

You will need to login to the GitHub Package Registry before you can use this image. Simply create a personal access token here and login with it using docker login https://docker.pkg.github.com -u <username> -p <access token>.

version: '2'

services:
  sharex:
    container_name: sharex
    image: docker.pkg.github.com/bemoty/sharex-upload-server/server:latest
    volumes:
      - ./volumes/uploads:/home/sharex/server/uploads
      - ./volumes/config.js:/home/sharex/config.js
    ports:
      - '8001:80'
    environment:
      VIRTUAL_HOST: i.bemoty.dev
      LETSENCRYPT_HOST: i.bemoty.dev
    networks:
       - bemoty

networks:
  bemoty:
    external: true

If you want to automatically pull updates from the registry, I recommend using watchtower. Watchtower also needs to know your GitHub username and personal access token in order to access GitHub Package Registry. Use environment variables REPO_USER and REPO_PASS to inform watchtower about these parameters.

  watchtower:
    image: containrrr/watchtower
    container_name: sharex_watchtower
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    command: --interval 30 sharex

License

This project is licensed under the GNU General Public License v3.0.