Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/writeas/read.as
Long-form ActivityPub-enabled reader.
https://github.com/writeas/read.as
activitypub webfinger writeas
Last synced: 24 days ago
JSON representation
Long-form ActivityPub-enabled reader.
- Host: GitHub
- URL: https://github.com/writeas/read.as
- Owner: writeas
- License: agpl-3.0
- Created: 2018-08-17T01:00:11.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2018-10-14T22:50:10.000Z (about 6 years ago)
- Last Synced: 2024-04-13T21:13:48.340Z (7 months ago)
- Topics: activitypub, webfinger, writeas
- Language: Go
- Homepage: https://read.as
- Size: 134 KB
- Stars: 143
- Watchers: 12
- Forks: 9
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Read.as
Read.as is a free and open-source long-form reader built on open web protocols (specifically ActivityPub). It helps you gather and curate things to read in a peaceful space.
It's written in Go (golang), and aims to use (minimal) plain Javascript on the frontend.
You can support the development of this project [on Patreon](https://www.patreon.com/writeas) or [Liberapay](https://liberapay.com/writeas), or by becoming a [Write.as subscriber](https://write.as/subscribe).
## Features
* Read `Article`s from the fediverse
* Follow fediverse users via ActivityPub
* Single-user mode## Requirements
* OpenSSL
* MySQL**Additional requirements for development**
* [Go 1.10+](https://golang.org/dl/)
* [Node.js](https://nodejs.org/en/download/)## Getting Started
```bash
# Set up database
# - Log into MySQL and run:
# CREATE DATABASE readas;
# - Import the schema:
mysql -u YOURUSERNAME -p readas < schema.sql# Install the application
go get github.com/writeas/Read.as
cd $GOPATH/src/github.com/writeas/Read.as
make install# Option 1: quick start
export RA_MYSQL_CONNECTION="YOURUSERNAME:YOURPASSWORD@tcp(localhost:3306)/readas"
readas -h "http://localhost:8080" -p 8080# Option 2: configure and run
# Edit configuration
cp config.example.json config.json
vi config.json# Create initial account
readas --user matt --pass hunter2# Launch server
readas
```### Configuration
`host` or the `-h` option should be the public-facing URL your site is hosted at, including the scheme, and without a trailing slash.
`port` or the `-p` option will be the port your server runs on. In production, add a reverse proxy like nginx in front of the app and point to `localhost:PORT`.
For `mysql_connection`, replace `YOURUSERNAME` and `YOURPASSWORD` with your MySQL authentication information, and `readas` with your database name.
By default, you'll see your site at `localhost:8080`. Be sure to update the `host`/`-h` option accordingly when running locally.
### Customizing
Go to the `users` table in your database to update your account's display name and summary.
## Deployment
**Use in production at your own risk.** This is very early software. Things will change and permanently break without notice, and support is minimal or non-existent while in version **0.x**.
Run:
```
./build.sh
```Then copy the generated `build` directory to your server, into a place like `/var/app/readas`. Add a reverse proxy like Nginx, export your production `RA_MYSQL_CONNECTION` string on your machine, and from your install directory, run `readas -h "https://yourdomain.com"`.
## Development
After updating styles, run `make`.
After changing any code, run `go install ./cmd/readas && readas -h "http://localhost:8080"`
## Contributing
Feel free to open issues for any bugs you encounter, and submit any pull requests you think would be useful. To request features and discuss development, please see [our forum](https://discuss.write.as).