krz/skunky-art

Alternative privacy frontend for DeviantArt.

clone: git clone https://gitbay.org/krz/skunky-art.git

v1.3.7: README.md · raw

 1> [!NOTE]
 2> This is a fork of [SkunkyArt](https://git.macaw.me/skunky/SkunkyArt). The
 3> upstream repository has not been updated in over a year, contains a number of
 4> unresolved bugs, and all of its previously listed instances were found to be
 5> dead links. This fork exists to keep the project maintained.
 6
 7<img src="static/images/logo.png" alt="SkunkyArt" title="SkunkyArt Logo" width="20%" loading="lazy"/>
 8
 9Instances: [`INSTANCES.md`](INSTANCES.md)
10
11## Description
12SkunkyArt 🦨 — an alternative frontend for DeviantArt that works entirely
13without JavaScript.
14
15## Build
16It is recommended to build with the 'embed' tag because it embeds the presets in
17the binary. If you plan to modify the templates, then do not use this tag. You
18can also add the `-ldflags "-w -s"` argument (GCCGO has a different name for it
19`gccgoflags`) to reduce the size of the output file. Here is an example:
20
21`go build -tags embed -ldflags "-w -s"`
22
23Such a build reports its version as `dev`. To stamp one in, as the release
24workflow does from the git tag, add `-X main.version=<version>` to the ldflags.
25
26## Docker
27Prebuilt multi-arch images (`linux/amd64`, `linux/arm64`) are published to GHCR
28on every release tag:
29
30`docker pull ghcr.io/zerolabsco/skunky-art:latest`
31
32Each release is tagged `1.3.3`, `1.3`, `1` and `latest`; pin an exact version if
33you want reproducible upgrades. `compose.example.yaml` uses this image by
34default and keeps a commented-out `build: .` for building from a checkout.
35`compose.vpn_example.yml` does the same, plus an optional VPN egress sidecar.
36
37## Setup
38The sample config is in the `config.example.json` file. For custom config, use
39the `--config` option.
40
41See the [`SETUP.md`](SETUP.md) file for more info about directives.
42
43## Adding instance to the list
44To do this, you must either make a PR by adding your instance to the
45`instances.json` and `INSTANCES.md` files (you can use `--add-instance`
46cli-argument to automatically add the instance to these files) or create an
47Issue.