2.7 KiB
Table of Contents
Install YetAnotherToDoList
It is recommended to use this behind a proxy (e.g. Apache/httpd or NGINX) to add TLS and Gzip/brotli compression.
Requirements:
- go 1.21.0+
- gcc 4.6+ (according to the golang wiki)
Install via go install
When installing via this method, no commit & version information is provided and there will be no frontend.
go install somepi.ddns.net/gitea/gilex-dev/YetAnotherToDoList@latest
You can specify the installation location by adding
GOBIN=<installation directory>
Install from git repository (Recommended)
In addition to the requirements, you will need git
,
GNU make
, and pnpm
.
git clone https://somepi.ddns.net/gitea/gilex-dev/YetAnotherToDoList.git
cd YetAnotherToDoList
go mod tidy # only if you want to edit the GraphQL backend
make frontend # omit if you want to run headless
make build
To customize your build, you can run make
with these environment variables:
INSTALL_DIR=<installation directory>
BUILD_FLAGS=<go build flags>
RUN_FLAGS=<cli arguments for YetAnotherToDoList>
You also pass build tags
to BUILD_FLAGS
, e.g.
BUILD_FLAGS="-tags headless,dev"
to disable the frontend and enable
GraphiQL
.
While there is a tools
build constraint/tag, building with it has no effect.
The tools
package only exists to install the dependencies for the
gqlgen generate
command when you run go mod tidy
.
Install from pre-build binary
There are currently no pre-build binaries available
Troubleshooting
If you get an error like
Unable to connect: Binary was compiled with 'CGO_ENABLED=0', go-sqlite3 requires cgo to work. This is a stub
,
make sure gcc
is installed and in your PATH
.
If this still does not work, try
CGO_ENABLED=1 go install github.com/mattn/go-sqlite3
Post install
Add shell completion
YetAnotherToDoList must be in your PATH
for this to work.
Bash
source <(YetAnotherToDoList completion bash)
For other shells or more info, see
YetAnotherToDoList help completion <bash|zsh|fish|powershell>
Configuration
Edit the file .YetAnotherToDoList.yaml and run
YetAnotherToDoList help
for options.
Uninstall
Run make uninstall
or
rm $HOME/.local/bin/YetAnotherToDoList # replace with your installation path
Don't forget to delete the .log
, .yaml
and .sqlite3
files if you don't
need them any more.
Remove shell completion
Bash
complete -r YetAnotherToDoList