mholt / timeliner

All your digital life on a single timeline, stored locally -- DEPRECATED, SEE TIMELINIZE (link below)
https://timelinize.com
GNU Affero General Public License v3.0
3.57k stars 116 forks source link

Interest in Docker image #79

Open tbekolay opened 2 years ago

tbekolay commented 2 years ago

Hi, thanks for the interesting project @mholt! As I'm not a go developer, I wrote up some simple docker things to get this running for me locally without making a full go dev environment. In case it helps anyone else, here they are:

Dockerfile

# syntax=docker/dockerfile:1

FROM golang:1.17

WORKDIR /usr/src/app

COPY go.mod go.sum ./
RUN go mod download && go mod verify

COPY . .
RUN go build -v -o /usr/local/bin ./...

ENTRYPOINT ["timeliner", "-repo", "/repo"]

docker-compose.yml

version: "3.5"
services:
  timeliner:
    build: .
    network_mode: "host"
    user: 1000:1000
    volumes:
      - /media/external/Timeliner:/repo

Usage

  1. Set up the desired repo path somewhere (I used /media/external/Timeliner above) and edit docker-compose.yml to match.
  2. Set up timeliner.toml in the timerliner directory.
  3. Use docker-compose run timeliner to run timeliner commands.

If you're running this on a home server, as I am, you can go through the OAuth flow as normal by using a local port forward (e.g. ssh -L 8008:localhost:8008 my-server).


These things are still kind of rough and would need a bit of polishing before they would be worth making them more accessible, but I wanted to first see if there was any interest in cleaning these up to either put them directly in this repository, or put them in a separate repository, and build images that could be deployed to docker hub or some other place that hosts docker images. I did see #69 but that was a year ago so things may have changed since.

mholt commented 2 years ago

Hey thanks for contributing this. I don't use Docker myself, so if we put it in this repo I don't be able to maintain it. :( So maybe a separate repo is best, unless someone vows to help maintain it. Just let me know! :)

azizur commented 2 years ago

I have been trying to get a docker version running myself. I literally found this repo yesterday. I am going to try the above instructions now.

azizur commented 2 years ago

This needs a bit more work. On the first run, I am getting the following error.

Creating timeliner_timeliner_1 ... done
Attaching to timeliner_timeliner_1
timeliner_1  | 2022/02/28 23:41:26 [FATAL] Missing subcommand and account arguments (specify one or more of 'data_source_id/user_id')
timeliner_timeliner_1 exited with code 1
tbekolay commented 2 years ago

This does need a bit more work yes, but your docker container is working correctly. You can do

docker-compose run timeliner --help

And see that it's working, you just have to go through the general timeliner configuration steps.

tripleo1 commented 2 years ago

Maybe put in a contrib directory?