Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Xyphyn/photon
A replacement for lemmy-ui with more features, a better design, and more customizability.
https://github.com/Xyphyn/photon
Last synced: 25 days ago
JSON representation
A replacement for lemmy-ui with more features, a better design, and more customizability.
- Host: GitHub
- URL: https://github.com/Xyphyn/photon
- Owner: Xyphyn
- License: agpl-3.0
- Created: 2023-06-24T20:00:33.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-04-14T03:49:42.000Z (8 months ago)
- Last Synced: 2024-04-14T09:57:42.058Z (8 months ago)
- Language: Svelte
- Homepage: https://phtn.app
- Size: 2.02 MB
- Stars: 278
- Watchers: 4
- Forks: 34
- Open Issues: 78
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-lemmy - photon - ui with more features, a better design, and more customizability. | ![GitHub stars](https://img.shields.io/github/stars/Xyphyn/photon) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/Xyphyn/photon) | [photon.xylight.dev](https://photon.xylight.dev) (Projects / Alternative front-ends)
- awesome-repositories - Xyphyn/photon - An opinionated web client for Lemmy to help users discover the fediverse. (Svelte)
README
# Photon
Jump to:
- [Self-hosting](#self-hosting)
- [Public Instances](#public-instances)A better, more intuitive way to use Lemmy, with a cleaner UI, more features, and snappier usage.
It is designed for all features to have an appealing and intuitive design, while being fast.
## Screenshots
![desktop-default-dark](https://github.com/user-attachments/assets/4abda138-427a-48b3-8741-0f3ca3510fd0)
![desktop-default-light](https://github.com/user-attachments/assets/8356d7eb-16c6-4bd8-ba9a-6d227370ddb0)## Self-hosting
Put Photon on your own domain for easier onboarding.
### Running from image
```sh
# 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:
```sh
git clone https://github.com/Xyphyn/photon && cd photon
```and run the docker container:
```sh
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.
`PUBLIC_MIGRATE_COOKIE` is useful if you want to switch Photon to your default frontend. It'll convert the logged in cookie from lemmy-ui to a Photon account. It will only work if you have `PUBLIC_INSTANCE_URL` set, and it will login with that instance.
`PUBLIC_SSR_ENABLED` will have the initial load be rendered by the server, before the client router is loaded. This can lead to a faster feeling load initally, and will allow your instance to be better indexed by search bots, and allow users with JavaScript disabled to view Photon with a basic view.
These are the most important environment variables that you can change:
| Variable | Values | Default Value |
| --------------------------- | ------------------- | -------------------------------------- |
| PUBLIC_INSTANCE_URL | URL | `lemmy.ml` |
| PUBLIC_INTERNAL_INSTANCE | URL | Value of `PUBLIC_INSTANCE_URL` |
| PUBLIC_LOCK_TO_INSTANCE | `bool` | `true` if `PUBLIC_INSTANCE_URL` is set |
| PUBLIC_FAVICON | URL | `/img/logo-background.svg |
| PUBLIC_SSR_ENABLED | `bool` | `false` |
| PUBLIC_MIGRATE_COOKIE | `bool` | `false` |
| PUBLIC_THEME | JSON | Photon's default colors |
| PUBLIC_COLORSCHEME | system\|dark\|light | system |
| PUBLIC_EXPANDABLE_IMAGES | `bool` | true |
| PUBLIC_MARK_READ_POSTS | `bool` | true |
| 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` | true |
| PUBLIC_NSFW_BLUR | `bool` | true |
| PUBLIC_RANDOM_PLACEHOLDERS | `bool` | true |
| PUBLIC_REMOVE_CREDIT | `bool` | false |There are more options available that you can see at `src/lib/settings.ts`, by looking at the `defaultSettings` object.
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#### 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
- TopThreeMonths
- TopSixMonths
- TopNineMonths
- TopYear#### Comment Sort Type
https://github.com/LemmyNet/lemmy-js-client/blob/main/src/types/CommentSortType.ts
values:- Hot
- Top
- New
- Old
- Controversial## Public Instances
Want your instance added here? Make a GitHub issue or make a PR! (this is for general purpose Photon instances.)
[phtn.app](https://phtn.app) is the official instance and will get updates instantly.
| Instance | Location | Contact |
| --------------------------------------------------------------------------------------- | ------------ | ------------------------------------------------------------------------------------- |
| [phtn.app (Official)](https://phtn.app) | 🇺🇸 US West | [[email protected]](mailto:[email protected]) |
| [ph.opnxng.com](https://ph.opnxng.com) | 🇸🇬 Singapore | [about.opnxng.com](https://about.opnxng.com) |
| [photon.thesanewriter.com](https://photon.thesanewriter.com) | 🇺🇸 US East | [[email protected]](mailto:[email protected]) |
| [p.darrennathanael.com](https://p.darrennathanael.com) | 🇮🇩 ID West | [[email protected]](mailto:[email protected]) |
| [p.lemmy.ohaa.xyz](https://p.lemmy.ohaa.xyz) | 🇦🇹 Austria | (???) |
| [~~photon.zhenyapav.com~~ (Has not updated since v1.9.2)](https://photon.zhenyapav.com) | 🇮🇸 Iceland | [[email protected]](mailto:[email protected]) |
| [~~ph.buckodr.ink~~ (Has not updated since v1.21.1)](https://ph.buckodr.ink) | 🇺🇸 US East | [[email protected]](mailto:[email protected]) |
| [phtn.ngn.tf](https://phtn.ngn.tf) | 🇹🇷 Turkey | [[email protected]](mailto:[email protected]) |
| [lm.sudovanilla.org](https://lm.sudovanilla.org) | 🇺🇸 US East | [[email protected]](mailto:[email protected]) |## Donate
You can donate at [Buy me a Coffee](https://buymeacoffee.com/xylight)