Skip to content

Commit

Permalink
Merge pull request #35 from Ipmake/dev
Browse files Browse the repository at this point in the history
Release v1.0.0
  • Loading branch information
Ipmake authored Jan 31, 2025
2 parents c3a35e2 + a3b94e6 commit 618c701
Show file tree
Hide file tree
Showing 56 changed files with 6,833 additions and 1,369 deletions.
3 changes: 2 additions & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
**/node_modules
**/node_modules
/backend/data
23 changes: 18 additions & 5 deletions .github/workflows/docker-latest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,19 @@ jobs:
- name: Check out the repo
uses: actions/checkout@v4

- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: '22'

- name: Install dependencies
run: npm install
working-directory: frontend

- name: Build frontend
run: npm run build
working-directory: frontend

- name: Log in to Docker Hub
uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a
with:
Expand All @@ -27,10 +40,10 @@ jobs:
run: docker buildx create --name perplexedBuilder --use

- name: Build and push the amd64 image
run: docker buildx build --platform linux/amd64 -t ipmake/perplexed:latest-amd64 . --push
run: docker buildx build --platform linux/amd64 -t ipmake/perplexed:preview-amd64 . --push

- name:
run: docker buildx build --platform linux/arm64 -t ipmake/perplexed:latest-arm64 . --push
- name: Build and push the arm64 image
run: docker buildx build --platform linux/arm64 -t ipmake/perplexed:preview-arm64 . --push

- name: Build and push Docker image
run: docker buildx imagetools create --tag ipmake/perplexed:latest ipmake/perplexed:latest-amd64 ipmake/perplexed:latest-arm64
- name: Build and push multi-platform Docker image
run: docker buildx imagetools create --tag ipmake/perplexed:preview ipmake/perplexed:preview-amd64 ipmake/perplexed:preview-arm64
13 changes: 13 additions & 0 deletions .github/workflows/docker-preview.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,19 @@ jobs:
- name: Check out the repo
uses: actions/checkout@v4

- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: '22'

- name: Install dependencies
run: npm install
working-directory: frontend

- name: Build frontend
run: npm run build
working-directory: frontend

- name: Log in to Docker Hub
uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a
with:
Expand Down
24 changes: 7 additions & 17 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,29 +1,19 @@
FROM node:20-bookworm-slim as frontend_builder

WORKDIR /app

COPY frontend/package*.json ./

# Install the app dependencies
RUN npm install

COPY frontend .

RUN npm run build

# /// Runner ///

FROM node:20-bookworm-slim as runner
FROM node:22-bookworm-slim as runner

WORKDIR /app

COPY backend/* /app

RUN apt-get update -y && apt-get install -y openssl

RUN npm install
RUN npx prisma db push
RUN npx tsc
RUN chmod +x /app/run.sh

EXPOSE 3000
VOLUME /app/data

COPY --from=frontend_builder /app/build/ /app/www/
COPY frontend/build/ /app/www/

CMD ["node", "dist/index.js"]
36 changes: 27 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# PerPlexed
Fixing Plex's old and simple UI.

[**Docker Hub**](https://hub.docker.com/r/ipmake/perplexed )

![PerPlexed](assets/screenshot1.png)

[**Docker Hub**](https://hub.docker.com/r/ipmake/perplexed)

*Click image for video*
[![PerPlexed](assets/screenshot1.png)](https://www.youtube.com/watch?v=PuTOw3Wg9oY)
![PerPlexed2](assets/screenshot2.png)
## Description

PerPlexed is a complete redesign of Plex's UI using the Plex media server's API. It comes with its own web server. As the keen eye may notice, the UI is heavily inspired by Netflix's UI. It is currently only developed for desktops and laptops. It is not optimized for mobile or TV use.
Expand All @@ -16,6 +16,19 @@ It is currently not possible to edit media metadata or switch between different

Mind that this project is still in development and may be unstable.


## Features
- Modern UI
- Seamless Plex integration
- Netflix-like UI
- Play media
- Browse libraries
- Search for media
- Watch Together (PerPlexed Sync)
- Get Recommendations
- Simple and easy to use
- Pro-User features (like special shortcuts etc.)

## Installation

### Docker
Expand All @@ -27,11 +40,16 @@ docker run --name perplexed -p 3000:3000 -e PLEX_SERVER=http://your-plex-server:
```

#### Environment Variables
| Name | Type | Required | Description |
|--------------------|------------|----------|---------------------------------------------------|
| PLEX_SERVER | string | Yes | The url to your plex server starting with http(s) |
| DISABLE_PROXY | true/false | No | Disable the PerPlexed proxy (Not Recommended) |
| DISABLE_TLS_VERIFY | true/false | No | Disable TLS verification on https plex servers |
| Name | Type | Required | Description |
|------------------------|------------|----------|-----------------------------------------------------------------------------|
| PLEX_SERVER | string | Yes | The URL of the Plex server that the frontend will connect to |
| PROXY_PLEX_SERVER | string | No | The URL of the Plex server to proxy requests to |
| DISABLE_PROXY | true/false | No | If set to true, the proxy will be disabled and all requests go directly to the Plex server from the frontend (NOT RECOMMENDED) |
| DISABLE_TLS_VERIFY | true/false | No | If set to true, the proxy will not check any https ssl certificates |
| DISABLE_PERPLEXED_SYNC | true/false | No | If set to true, perplexed sync (watch together) will be disabled |
| DISABLE_REQUEST_LOGGING| true/false | No | If set to true, the server will not log any requests |



## Contributing
Pull requests are welcome for any feature or a bug fix. For major changes, please open an issue first to discuss what you would like to change.
Expand Down
Binary file modified assets/screenshot1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/screenshot2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/screenshot3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions backend/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
node_modules
# Keep environment variables out of version control
.env
/data
Loading

0 comments on commit 618c701

Please sign in to comment.