Home

Awesome

<p align="center"> <a href="https://vger.app" target="_blank" rel="noopener noreferrer"> <img width="160" height="160" src="./public/logo-minified.svg" alt="Voyager logo"> </a> </p> <h1 align="center"/>Voyager</h1> <p align="center"> A mobile-first Lemmy web client </p> <p align="center"> <a href="https://github.com/aeharding/voyager/issues/new?assignees=&labels=bug&projects=&template=bug_report.md&title=">Report Bug</a> ยท <a href="https://github.com/aeharding/voyager/issues/new?assignees=&labels=enhancement&projects=&template=feature_request.md&title=">Request Feature</a> ยท <a href="https://github.com/aeharding/voyager/releases">Releases</a> </p> <p align="center"> &nbsp;<a href="https://vger.app"><img src="public/badges/pwa.svg" height="45"></a>&nbsp;&#8203;&nbsp; <a href="https://apps.apple.com/us/app/voyager-for-lemmy/id6451429762"><img src="public/badges/ios.svg" height="45"></a>&nbsp;&nbsp; <a href="https://play.google.com/store/apps/details?id=app.vger.voyager"><img src="public/badges/play.svg" height="45"></a>&nbsp;&nbsp;<a href="https://f-droid.org/en/packages/app.vger.voyager/"><img src="public/badges/fdroid.png" height="45"></a> </p> <p align="center"> <a href="https://matrix.to/#/#vger.app:matrix.org"><img src="https://img.shields.io/badge/chat-matrix-blue?style=flat-square&logo=matrix" alt="matrix chat"></a> <a href="https://lemmyverse.link/c/voyagerapp@lemmy.world"><img src="https://img.shields.io/lemmy/voyagerapp@lemmy.world?style=flat-square&logo=lemmy&label=lemmy" alt="lemmy community"></a> </p> <br/> <p align="center"> <a href="https://vger.app/" target="_blank" rel="noopener noreferrer" > <img src="./public/promo.webp" alt="Voyager screenshots" width="800" height="auto"> </a> </p>

Voyager for Lemmy

Voyager is an Apollo-like open source web client for Lemmy. It's a mobile-first app, but works great on desktop devices, too. Please feel free to try it out!

What does Voyager currently support?

What is on the roadmap?

๐Ÿ’ช Mobile webapps are awesome

Native apps can be great, but we believe in the strengths of the web. Why use a web-based Lemmy client?

Deployment

Ecosystem

For most users, we recommend the native app available in the stores:

<a href="https://apps.apple.com/us/app/voyager-for-lemmy/id6451429762"><img src="public/badges/ios.svg" height="45"></a>ย ย  <a href="https://play.google.com/store/apps/details?id=app.vger.voyager"><img src="public/badges/play.svg" height="45"></a>ย ย <a href="https://f-droid.org/en/packages/app.vger.voyager/"><img src="public/badges/fdroid.png" height="45"></a>

However, if you prefer using the Progressive Web App, there are a number of folks that host it:

CountryURLDescriptionContact/Privacy
๐Ÿ‡บ๐Ÿ‡ธ Virginia, USAvger.appโœ… Official Voyager PWA instanceโžก๏ธ
๐Ÿ‡ซ๐Ÿ‡ฎ Finlandm.lemmy.worldVoyager hosted by the mastodon.world team.โžก๏ธ
๐Ÿ‡ธ๐Ÿ‡ฌ Singaporev.opnxng.comVoyager hosted by Opnxng in Singapore.โžก๏ธ
๐Ÿ‡ฒ๐Ÿ‡ฝ Mexicovoyager.nohost.networkVoyager hosted by Nohost in Mexico.โžก๏ธ
๐Ÿ‡บ๐Ÿ‡ธ USAvger.thesanewriter.comVoyager hosted by the lemmy.thesanewriter.com team.โžก๏ธ
๐Ÿ‡บ๐Ÿ‡ธ Oregon, USAm.lemmy.todayA fast, general purpose instance located in Oregon, USAโžก๏ธ
๐Ÿ‡ซ๐Ÿ‡ท Francev.lemmy.dbzer0.comBe Weird, Download a Car, Generate Art, Screw Copyrightsโžก๏ธ
?v.programming.devA collection of programming communitiesโžก๏ธ
๐Ÿ‡บ๐Ÿ‡ธ Oregon, USAv.lemmy.eco.brA fast, general purpose instance located in Oregon, USAโžก๏ธ
๐Ÿ‡ฉ๐Ÿ‡ช Germanyv.lemy.lolLong-term, general purpose Lemmy instance.โžก๏ธ
๐Ÿ‡ต๐Ÿ‡น Portugalvoyager.slrpnk.netSustainable future interconnected with nature and community.โžก๏ธ
?app.thelemmy.clubA general Lemmy instance for all!โžก๏ธ
?m.lemdro.idFully open source instance with incredible transparency.โžก๏ธ

Note: Community deployments are NOT maintained by the Voyager team. They may not be synced with Voyager's source code. Please do your own research about the host servers before using them.

Beta Testing

Voyager maintains a beta track continuously deployed from every commit to refs/heads/main). The beta build may break at any time.

Self-Host

There are two ways you can run Voyager as a PWA in a production environment. The recommended method is using docker. We also support a traditional deployment method without docker. Read below to see how to get each method set up.

Environment variables

Docker Deployment

In order to host Voyager yourself you can use the provided Dockerfile to build a container with Voyager. The Docker container itself does not provide any SSL/TLS handling. You'll have to add this bit yourself. One could put Voyager behind popular reverse proxies with SSL Handling like Traefik, NGINX etc.

Tip: Use Watchtower to keep your deployment automatically up to date!

From source
  1. checkout source git clone https://github.com/aeharding/voyager.git
  2. go into new source dir: cd voyager
  3. build Docker image: docker build . -t voyager
  4. start container: docker run --init --rm -it -p 5314:5314 voyager
Prebuilt
  1. pull image docker pull ghcr.io/aeharding/voyager:latest
  2. start container: docker run --init --rm -it -p 5314:5314 voyager

Note: The provided Dockerfile creates a container which will eventually run Voyager as non-root user.

Traditional Deployment

While Docker makes things easier, Voyager can be hosted by any HTTP server (nginx, apache etc).

# Build from source (Or, download web artifact from Github Releases)
pnpm install
pnpm build

# Then, serve ./dist with your favorite HTTP server - nginx, apache etc
# (make sure 404 goes to index.html)
# Below is a simple example for dev/testing (not recommended for production):
npm install --global http-server
cp dist/index.html dist/404.html # magic file for http-server
http-server dist

Optionally, you can serve a custom list of instance(s) in the /_config endpoint, with JSON payload of following format:

{ "customServers": ["lemmy.world", "lemm.ee"] }

For production, serve index.html with Cache-Control: no-cache and /assets with a long cache period (files in assets are immutable)

๐Ÿ’– Sponsors

If you're enjoying Voyager, you can sponsor it:

We would also appreciate sponsoring other contributors to Voyager. If someone helps you solve an issue or implement a feature you wanted, supporting them would help make this project and OS more sustainable.

๐Ÿง‘โ€๐Ÿ’ป Contributing

Please check out CONTRIBUTING.md for details on contributing to Voyager. Thank you! ๐Ÿ’™

๐Ÿ›œ Add a lemmy instance to the curated list

Voyager curates Lemmy servers for sign up (see the data). If you would like to add an instance, please read the curated servers policy.

๐Ÿ“ฒ PWA

Voyager works best added to the homescreen. There are certain features that only work there, like badging and smooth page transitions.

๐Ÿฆ„ Stack

๐Ÿ‘จโ€๐Ÿ’ป Contributors

Shoutout to @fer0n for the great logo and splashscreen! And thank you ๐Ÿ’™ all of our contributors to the codebase:

<a href="https://github.com/aeharding/voyager/graphs/contributors"> <img src="https://contrib.rocks/image?repo=aeharding/voyager" /> </a>

๐Ÿ“„ License

Artwork

Code

AGPL-3.0 ยฉ Voyager contributors