mirror of
https://github.com/alangrainger/immich-public-proxy.git
synced 2024-12-29 12:21:57 +00:00
Update docs
This commit is contained in:
parent
9ddfbcec67
commit
774164e3d7
4 changed files with 47 additions and 3 deletions
|
@ -1,4 +1,4 @@
|
||||||
IMMICH_URL=http://localhost:2283
|
IMMICH_URL=http://localhost:2283
|
||||||
API_KEY="Get this from your Account Settings page"
|
API_KEY="Get this from your Immich Account Settings page"
|
||||||
SERVER_URL=http://localhost:3000
|
SERVER_URL=https://shared.example.com
|
||||||
SERVER_PORT=3000
|
SERVER_PORT=3000
|
||||||
|
|
45
README.md
Normal file
45
README.md
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
# Immich Public Proxy
|
||||||
|
|
||||||
|
Immich is a wonderful bit of software, but since it holds all your private photos it's best to keep it fully locked down.
|
||||||
|
This presents a problem when you want to share a photo or a gallery with someone.
|
||||||
|
|
||||||
|
**Immich Public Proxy** provides a barrier of security between the public and Immich, and _only_ allows through requests
|
||||||
|
which you have publicly shared. When it receives a valid request, it talks to Immich locally via API and returns only
|
||||||
|
those shared images.
|
||||||
|
|
||||||
|
It exposes no ports, allows no incoming data, and has no API to exploit.
|
||||||
|
|
||||||
|
The ideal setup is to have Immich secured privately behind VPN or mTLS, and only allow public access to Immich Public Proxy.
|
||||||
|
|
||||||
|
## How to install
|
||||||
|
|
||||||
|
1. Clone the repo:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone https://github.com/alangrainger/immich-public-proxy.git
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Create a `.env` file to configure the app.
|
||||||
|
|
||||||
|
```
|
||||||
|
IMMICH_URL=http://localhost:2283
|
||||||
|
API_KEY="Get this from your Immich Account Settings page"
|
||||||
|
SERVER_URL=https://shared.example.com
|
||||||
|
SERVER_PORT=3000
|
||||||
|
```
|
||||||
|
|
||||||
|
- `IMMICH_URL` is the URL to access Immich in your local network. This is not your public URL.
|
||||||
|
- `SERVER_URL` will be the public URL for accessing this Immich Public Proxy app.
|
||||||
|
|
||||||
|
3. Start the docker container:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker-compose up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
4. Set the same `SERVER_URL` as your "External domain" in your Immich **Server Settings**:
|
||||||
|
|
||||||
|
<img src="public/images/server-settings.png" width="418" height="205">
|
||||||
|
|
||||||
|
Now whenever you share an image or gallery through Immich, it will automatically create the
|
||||||
|
correct public path for you.
|
|
@ -19,7 +19,6 @@
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/express": "^4.17.21",
|
"@types/express": "^4.17.21",
|
||||||
"@types/node": "^16.18.111",
|
"@types/node": "^16.18.111",
|
||||||
"@immich/sdk": "^1.118.2",
|
|
||||||
"@typescript-eslint/eslint-plugin": "5.29.0",
|
"@typescript-eslint/eslint-plugin": "5.29.0",
|
||||||
"@typescript-eslint/parser": "5.29.0",
|
"@typescript-eslint/parser": "5.29.0",
|
||||||
"eslint": "^8.49.0",
|
"eslint": "^8.49.0",
|
||||||
|
|
BIN
public/images/server-settings.png
Normal file
BIN
public/images/server-settings.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 13 KiB |
Loading…
Reference in a new issue