jsiebens / ionscale

A lightweight implementation of a Tailscale control server
https://jsiebens.github.io/ionscale
BSD 3-Clause "New" or "Revised" License
172 stars 11 forks source link

feat: improve Dockerfile and include basic usage documentation #1

Closed TrooperT closed 2 years ago

TrooperT commented 2 years ago

I found this project while looking into self-hosting tailscale and would like to contribute as I can to help a great fledgling piece of software.

TrooperT commented 2 years ago

Updated this to pin against golang@1.19 to keep in steup with upstream

jsiebens commented 2 years ago

hi @TrooperT, thanks for your interest and appreciate the help but I'm a little bit torn on accepting this PR.

I'm using goreleaser to build and "release" binaries and docker images of this project. Because of that, a multi stage docker build is not really necessary (see Docker Images) New preview versions are regularly pushed to ghcr.io/jsiebens/ionscale, so you should be able to run it with eg:

docker run \
    -v $(pwd)/conf:/data/conf \
    -v $(pwd)/db:/data/db \
    ghcr.io/jsiebens/ionscale:v0.0.1-preview7 server --config /data/config/ionscale.yaml

But I would not recommended it (yet), it's still in alpha/preview :-) (Also: not sure why added a policies volume, that's not required for ionscale)

I'm aware of the lack of documentation and I hope to provide some soon

TrooperT commented 2 years ago

Ah. I'm not familiar with goreleaser and might just look into it.

The policies volume was a vestige of my learning/exploration curve on setting tailnet IAM policies from within the container itself with ionscale prior to realizing I could do so via RPC from outside

TL;DR oops forgot to remove something.

Definitely interested in the way this project is heading with its support for multiple tailnets and already functional OIDC authentication.

I'll close this one out.