archmark

command module
v0.0.0-...-21415ec Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 22, 2023 License: AGPL-3.0-or-later Imports: 9 Imported by: 0

README

ArchMark .github/workflows/ci.yml

ArchMark is a bookmark manager that archives the bookmarked page using Monolith. It consists of the main web proccess as well as a worker that downloads the web page for archival.

Features

  • Allows links to be bookmarked and categorized
  • Supports local (password-based) login and registration, and reverse-proxy-based authentication (with forwarded headers)
  • Caches a local copy of the bookmarked page (available via the 'cached' link below the original)
  • Keeps deleted bookmarks in the "deleted" section for a period of time before deleting it (defaults to 48 hours); they can be restored before the timer hits
  • Allows searching across content in the bookmarked links (a copy of the linked page is cached for search indexing)

Installation

The simplest way to use ArchMark would be to use docker-compose. If you have Docker and Docker Compose installed, you can follow the steps below to get up and running:

  1. mkdir archmark
  2. cd archmark
  3. curl https://raw.githubusercontent.com/sparkymat/archmark/main/docker-compose.prod.yml -o docker-compose.yml
  4. mkdir -p data/db
  5. mkdir -p data/faktory
  6. mkdir -p data/archive
  7. docker-compose pull
  8. docker-compose up

Alternatively, you can build and run from the code with:

  1. git clone https://github.com/sparkymat/archmark
  2. cd archmark
  3. docker-compose build
  4. docker-compose up

P.S: Don't forget to edit the docker-compose.yml file, and update the value of JWT_SECRET and SESSION_SECRET to something more secure. You can generate secrets using openssl like this:

openssl rand -hex 32

N.B: Everything in the download folder (configured using DOWNLOAD_FOLDER) will be served under /uploads/ sub-path.

Configuration

Both the app and the worker are configured using environment variables.

Variable Description
DISABLE_REGISTRATION Set to 'true' if you want to disable registrations
REVERSE_PROXY_AUTHENTICATION Enables reverse proxy authentication via forwarded headers
PROXY_AUTH_USERNAME_HEADER The request header where proxy passes the usernamae. Default: Remote-User
PROXY_AUTH_NAME_HEADER The request header where proxy passes the full name. Default: Remote-Name
DELETE_TIMER_HOURS Time (in hours) before deleted items are flushed from the recycle bin (default: 48 hours)

Screenshots

Login page

login

Bookmarks

bookmarks

Options

options

New bookmark

new

Change category

change_category

Deleted

deleted

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal
worker
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL