memex

module
v0.0.0-...-a41f41c Latest Latest
Warning

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

Go to latest
Published: May 24, 2021 License: ISC

README

rsms's memex

Software for managing my digital information, like tweets.

Usage

First check out the source and build. You'll need Make and Go installed.

git clone https://github.com/rsms/memex.git
cd memex
make

Then make your memex data directory by starting from a copy of the example directory. This directory can be anywhere you like and will hold your data and service configs.

cp -a path-to-source-of/memex/example-memexdir ~/memex

You can also start with an empty directory, e.g. mkdir ~/memex.

Next, export the path of your memex directory in your environment:

export MEMEX_DIR=$HOME/memex
# optional: add to you shell's init script:
echo "export MEMEX_DIR=$MEMEX_DIR" \
>> ~/`[[ $SHELL == *"/zsh" ]] && echo .zshrc || echo .bashrc`

Finally, run the memex service:

path-to-source-of/memex/bin/memex

The memex program is a service manager, much like an operating system service manager like systemd it manages services (processes). It takes care of restarting processes when they exit, start, restart or stop processes when their configuration files changes and collect all logs and outputs in one place. This makes it easy to "run a lot of processes" with a single command (memex), and similarly to stop them all (^C.)

The memex program looks in your MEMEX_DIR for files called memexservice.yml which it treats as "service configurations". These YAML files describes what command to run as the service process, what arguments to pass it, its environment, it it's been temporarily disabled or not, and so on.

Changes to these files are automatically detected and you don't need to restart memex when making changes to these "service config" files.

Service processes are started with a working directory of the configuration file. I.e. ~/memex/foo/bar/memexservice.yml with start:./bar will start a process ./bar in the directory ~/memex/foo/bar.

See example-memexdir/foo/memexservice.yml for a full example and more details.

Directories

Path Synopsis
cmd
services
twitter/tweeter
This code is based on https://github.com/kurrik/twittergo licensed as follows (Apache 2.0) Copyright 2019 Arne Roomann-Kurrik Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.
This code is based on https://github.com/kurrik/twittergo licensed as follows (Apache 2.0) Copyright 2019 Arne Roomann-Kurrik Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.

Jump to

Keyboard shortcuts

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