Skip to content

Commit 618c701

Browse files
authored
Merge pull request #35 from Ipmake/dev
Release v1.0.0
2 parents c3a35e2 + a3b94e6 commit 618c701

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+6833
-1369
lines changed

.dockerignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
**/node_modules
1+
**/node_modules
2+
/backend/data

.github/workflows/docker-latest.yml

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,19 @@ jobs:
1717
- name: Check out the repo
1818
uses: actions/checkout@v4
1919

20+
- name: Set up Node.js
21+
uses: actions/setup-node@v3
22+
with:
23+
node-version: '22'
24+
25+
- name: Install dependencies
26+
run: npm install
27+
working-directory: frontend
28+
29+
- name: Build frontend
30+
run: npm run build
31+
working-directory: frontend
32+
2033
- name: Log in to Docker Hub
2134
uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a
2235
with:
@@ -27,10 +40,10 @@ jobs:
2740
run: docker buildx create --name perplexedBuilder --use
2841

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

32-
- name:
33-
run: docker buildx build --platform linux/arm64 -t ipmake/perplexed:latest-arm64 . --push
45+
- name: Build and push the arm64 image
46+
run: docker buildx build --platform linux/arm64 -t ipmake/perplexed:preview-arm64 . --push
3447

35-
- name: Build and push Docker image
36-
run: docker buildx imagetools create --tag ipmake/perplexed:latest ipmake/perplexed:latest-amd64 ipmake/perplexed:latest-arm64
48+
- name: Build and push multi-platform Docker image
49+
run: docker buildx imagetools create --tag ipmake/perplexed:preview ipmake/perplexed:preview-amd64 ipmake/perplexed:preview-arm64

.github/workflows/docker-preview.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,19 @@ jobs:
1818
- name: Check out the repo
1919
uses: actions/checkout@v4
2020

21+
- name: Set up Node.js
22+
uses: actions/setup-node@v3
23+
with:
24+
node-version: '22'
25+
26+
- name: Install dependencies
27+
run: npm install
28+
working-directory: frontend
29+
30+
- name: Build frontend
31+
run: npm run build
32+
working-directory: frontend
33+
2134
- name: Log in to Docker Hub
2235
uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a
2336
with:

Dockerfile

Lines changed: 7 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,19 @@
1-
FROM node:20-bookworm-slim as frontend_builder
2-
3-
WORKDIR /app
4-
5-
COPY frontend/package*.json ./
6-
7-
# Install the app dependencies
8-
RUN npm install
9-
10-
COPY frontend .
11-
12-
RUN npm run build
13-
14-
# /// Runner ///
15-
16-
FROM node:20-bookworm-slim as runner
1+
FROM node:22-bookworm-slim as runner
172

183
WORKDIR /app
194

205
COPY backend/* /app
216

7+
RUN apt-get update -y && apt-get install -y openssl
8+
229
RUN npm install
10+
RUN npx prisma db push
2311
RUN npx tsc
12+
RUN chmod +x /app/run.sh
2413

2514
EXPOSE 3000
15+
VOLUME /app/data
2616

27-
COPY --from=frontend_builder /app/build/ /app/www/
17+
COPY frontend/build/ /app/www/
2818

2919
CMD ["node", "dist/index.js"]

README.md

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
# PerPlexed
22
Fixing Plex's old and simple UI.
33

4-
[**Docker Hub**](https://hub.docker.com/r/ipmake/perplexed )
5-
6-
![PerPlexed](assets/screenshot1.png)
7-
4+
[**Docker Hub**](https://hub.docker.com/r/ipmake/perplexed)
85

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

1111
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.
@@ -16,6 +16,19 @@ It is currently not possible to edit media metadata or switch between different
1616

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

19+
20+
## Features
21+
- Modern UI
22+
- Seamless Plex integration
23+
- Netflix-like UI
24+
- Play media
25+
- Browse libraries
26+
- Search for media
27+
- Watch Together (PerPlexed Sync)
28+
- Get Recommendations
29+
- Simple and easy to use
30+
- Pro-User features (like special shortcuts etc.)
31+
1932
## Installation
2033

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

2942
#### Environment Variables
30-
| Name | Type | Required | Description |
31-
|--------------------|------------|----------|---------------------------------------------------|
32-
| PLEX_SERVER | string | Yes | The url to your plex server starting with http(s) |
33-
| DISABLE_PROXY | true/false | No | Disable the PerPlexed proxy (Not Recommended) |
34-
| DISABLE_TLS_VERIFY | true/false | No | Disable TLS verification on https plex servers |
43+
| Name | Type | Required | Description |
44+
|------------------------|------------|----------|-----------------------------------------------------------------------------|
45+
| PLEX_SERVER | string | Yes | The URL of the Plex server that the frontend will connect to |
46+
| PROXY_PLEX_SERVER | string | No | The URL of the Plex server to proxy requests to |
47+
| 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) |
48+
| DISABLE_TLS_VERIFY | true/false | No | If set to true, the proxy will not check any https ssl certificates |
49+
| DISABLE_PERPLEXED_SYNC | true/false | No | If set to true, perplexed sync (watch together) will be disabled |
50+
| DISABLE_REQUEST_LOGGING| true/false | No | If set to true, the server will not log any requests |
51+
52+
3553

3654
## Contributing
3755
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.

assets/screenshot1.png

-1.74 MB
Loading

assets/screenshot2.png

-1.43 MB
Loading

assets/screenshot3.png

-534 KB
Loading

backend/.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
node_modules
2+
# Keep environment variables out of version control
3+
.env
4+
/data

0 commit comments

Comments
 (0)