GithubHelp home page GithubHelp logo

0xcmdrkeen / photon Goto Github PK

View Code? Open in Web Editor NEW

This project forked from xyphyn/photon

0.0 0.0 0.0 1.61 MB

A sleek client for Lemmy with powerful mod and admin tools. The only alternative client with feature parity to the official client.

Home Page: https://phtn.app

License: GNU Affero General Public License v3.0

JavaScript 0.46% TypeScript 19.37% CSS 0.44% Nix 0.02% HTML 0.29% Dockerfile 0.04% Svelte 79.37%

photon's Introduction

Photon

Jump to:

An sleek web client for Lemmy using mono-ui, a custom design system.

Screenshots

Screenshot from 2023-10-07 12-44-01 Screenshot from 2023-10-07 12-44-07

Self-hosting

Put Photon on your own domain for easier onboarding.

Running from image

# Use the env var PUBLIC_INSTANCE_URL to set the default instance URL.
docker run -p 8080:3000 -e PUBLIC_INSTANCE_URL=example.com ghcr.io/xyphyn/photon:latest

Running from repo

More unstable but latest features

Clone the repo:

git clone https://github.com/Xyphyn/photon && cd photon

and run the docker container:

docker build -t photon .

# Use the env var PUBLIC_INSTANCE_URL to set the default instance URL.
docker run -p 8080:3000 -it photon:latest

There you go, you now have an instance of Photon running.

Configuring default settings

The most common settings you'll use are PUBLIC_INSTANCE_URL. Some selfhosters with PUBLIC_SSR_ENABLED set to true might want the instance url to be different for the server. You can use the PUBLIC_INTERNAL_INSTANCE variable for that.

The following environment variables can be set to override the default settings:

Variable Values Default Value
PUBLIC_INSTANCE_URL URL lemmy.ml
PUBLIC_INTERNAL_INSTANCE URL? null
PUBLIC_LOCK_TO_INSTANCE bool true if PUBLIC_INSTANCE_URL is set
PUBLIC_SSR_ENABLED bool false
PUBLIC_THEME system|dark|light system
PUBLIC_EXPANDABLE_IMAGES bool true
PUBLIC_MARK_READ_POSTS bool true
PUBLIC_REVERT_VOTE_COLORS bool false
PUBLIC_SHOW_INSTANCES_USER bool false
PUBLIC_SHOW_INSTANCES_COMMUNITY bool true
PUBLIC_SHOW_INSTANCES_COMMENTS bool false
PUBLIC_SHOW_COMPACT_POSTS bool false
PUBLIC_DEFAULT_FEED_SORT SortType Active
PUBLIC_DEFAULT_FEED ListingType Local
PUBLIC_DEFAULT_COMMENT_SORT CommentSortType Hot
PUBLIC_HIDE_DELETED bool true
PUBLIC_HIDE_REMOVED bool false
PUBLIC_FULL_WIDTH_LAYOUT bool false
PUBLIC_EXPAND_SIDEBAR bool true
PUBLIC_DISPLAY_NAMES bool true
PUBLIC_NSFW_BLUR bool true
PUBLIC_NEW_VOTE_BUTTONS bool false
PUBLIC_RANDOM_PLACEHOLDERS bool true
PUBLIC_REMOVE_CREDIT bool false

The values for SortType, ListingType, and CommentSortType are defined by the lemmy-js-client library.

Listing Type

https://github.com/LemmyNet/lemmy-js-client/blob/main/src/types/ListingType.ts

  • All
  • Local
  • Subscribed
  • Moderator View (not implemented in Photon)

Sort Type

(case sensitive)

https://github.com/LemmyNet/lemmy-js-client/blob/main/src/types/SortType.ts

  • Active
  • Hot
  • New
  • Old
  • TopDay
  • TopWeek
  • TopMonth
  • TopAll
  • MostComments
  • NewComments
  • TopHour
  • TopSixHour
  • TopTwelveHour (Not implemented in Photon)
  • TopThreeMonths (Not implemented in Photon)
  • TopSixMonths (Not implemented in Photon)
  • TopNineMonths (Not implemented in Photon)
  • TopYear (Not implemented in Photon)

Comment Sort Type

https://github.com/LemmyNet/lemmy-js-client/blob/main/src/types/CommentSortType.ts values:

  • Hot
  • Top
  • New
  • Old (not implemented in Photon)
  • Controversial (not implemented in Photon)

Public Instances

Want your instance added here? Make a GitHub issue or make a PR! (this is for general purpose Photon instances.)

phtn.app is the official instance and will get updates instantly.

Instance Location Contact
phtn.app (Official) ๐Ÿ‡บ๐Ÿ‡ธ US West [email protected]
ph.openxng.com ๐Ÿ‡ธ๐Ÿ‡ฌ Singapore about.openxng.com
photon.zhenyapav.com ๐Ÿ‡ฎ๐Ÿ‡ธ Iceland [email protected]
photon.thesanewriter.com ๐Ÿ‡บ๐Ÿ‡ธ US East [email protected]
ph.buckodr.ink ๐Ÿ‡บ๐Ÿ‡ธ US East [email protected]

Donate

You can donate at Buy me a Coffee

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.