= Anancus
Anancus provides self-hosted and federated social link aggregation.
WARNING: This is currently a work in progress.
== Screenshots
image::screenshots/home.png[alt=Anancus,width=800]
== Prerequisites
* go
* git
* nodejs-npm
* postgresql
== Installation
. Install backend dependencies
$ go get -u github.com/graph-gophers/graphql-go
$ go get -u github.com/dgrijalva/jwt-go
$ go get -u golang.org/x/crypto/argon2
$ go get -u github.com/lib/pq
$ go get -u github.com/gorilla/websocket
$ go get -u github.com/spf13/viper
$ go get -u github.com/go-fed/activity
$ go get -u github.com/go-fed/httpsig
$ go get -u golang.org/x/time/rate
$ go get -u github.com/gorilla/mux
. Install frontend dependencies
$ cd frontend
$ npm install
. Setup the database (Postgres)
$ cd database
$ initdb -D pg-data
$ pg_ctl -D pg-data start
$ createdb anancus
$ psql anancus < data.sql
. Setup the database (CockroachDB)
$ cd database
$ cockroach start --insecure --host=localhost
$ cockroach sql --insecure --execute 'CREATE DATABASE anancus;'
$ cockroach sql --insecure --database=anancus < data.sql
== Usage
. Build frontend
$ cd frontend
$ npm run build
. Modify configuration file if needed
$ cd backend
$ cat config.toml
. Run the server
$ cd backend
$ go run *.go
. Access the application on http://localhost:8000
== License
----
Anancus is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Anancus is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
----
See file COPYING for details.