Created Installation (ubuntu/debian) (markdown)

Jordan Knott 2020-09-10 15:52:39 -05:00
parent e8da099b34
commit 2228bcec4f

@ -0,0 +1,86 @@
In order to build Taskcafe, you will need
- Go 15.1+
- Node 14+
- Yarn
### Building
#### Clone the repository
First, let's clone the repository:
``` bash
git clone https://github.com/JordanKnott/taskcafe && cd taskcafe
```
#### Install Golang
Next, we will need to make sure [Golang](https://golang.org/dl/) is installed.
You can follow [the install instructions](https://golang.org/doc/install) or run the following:
```bash
wget https://golang.org/dl/go1.15.1.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.15.1.linux-amd64.tar.gz
```
##### Install NodeJS
[NodeJS](https://nodejs.org) is used to build the static assets for the front end. We recommend installing it through `nvm`. Install the latest NodeJS version via [`nvm`](https://github.com/nvm-sh/nvm)
```bash
nvm install 14.9.0
nvm use 14.9.0
```
##### Install yarn
Install `yarn` with the following commands:
```bash
wget https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
npm update
npm install -y yarn
```
#### Build the backend
Next we need to build the binary. This project uses [Mage](https://magefile.org/) for its build tool.
To build the final binary, run:
```
go run cmd/mage/main.go install # installs the NodeJS depedencies
go run cmd/mage/main.go build # runs all the needed build steps
```
The binary can be found in the __dist__ folder.
### Running
Now we need to installl a database & configure Taskcafe.
#### Install Postgres
To install the Postgres database, run:
```bash
apt-get install -y postgres
```
#### Configure
Next, we need to let Taskcafe know how to connect to the database.
The available configuration methods can be found [here](https://github.com/JordanKnott/taskcafe/wiki/Configuration).
Once the configuration is filled out, we need to run database migrations next by running
```
taskcafe migrate
```
Now you can run the web interface by running `taskcafe web`.
```bash
./taskcafe web
```
If you're running Taskcafe on your local machine, you should be able to visit it by going to http://localhost:3333/