mirror of
https://github.com/immich-app/immich.git
synced 2025-01-21 00:52:43 -05:00
docs: add installation section (#912)
* Implemented requirements * Added one-step installation * Finished section
This commit is contained in:
parent
dc7df5bcfa
commit
a898610f13
12 changed files with 258 additions and 6 deletions
BIN
docs/docs/installation/img/dot-env.png
Normal file
BIN
docs/docs/installation/img/dot-env.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 211 KiB |
BIN
docs/docs/installation/img/env-1.png
Normal file
BIN
docs/docs/installation/img/env-1.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 33 KiB |
BIN
docs/docs/installation/img/env-2.png
Normal file
BIN
docs/docs/installation/img/env-2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 202 KiB |
|
@ -0,0 +1,29 @@
|
||||||
|
---
|
||||||
|
sidebar_position: 2
|
||||||
|
---
|
||||||
|
|
||||||
|
# One-step installation
|
||||||
|
|
||||||
|
:::caution
|
||||||
|
This method is for evaluation purposes only. It is not recommended for production use. For production usage, please refer to the recommneded installation method [here](/docs/installation/recommended-installation).
|
||||||
|
:::
|
||||||
|
|
||||||
|
In the shell, from the directory of your choice, run the following command:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
curl -o- https://raw.githubusercontent.com/immich-app/immich/main/install.sh | bash
|
||||||
|
```
|
||||||
|
|
||||||
|
The script will perform the following actions:
|
||||||
|
|
||||||
|
1. Download [docker-compose.yml](https://github.com/immich-app/immich/blob/main/docker/docker-compose.yml), and the [.env](https://github.com/immich-app/immich/blob/main/docker/.env.example) file from the main branch of the [repository](https://github.com/immich-app/immich).
|
||||||
|
2. Populate the `.env` file with necessary information based on the current directory path.
|
||||||
|
3. Start the containers.
|
||||||
|
|
||||||
|
The web application will be available at `http://<machine-ip-address>:2283`, and the server URL for the mobile app will be `http://<machine-ip-address>:2283/api`
|
||||||
|
|
||||||
|
The directory which is used to store the backup file is `./immich-app/immich-data` relative to the current directory.
|
||||||
|
|
||||||
|
:::tip
|
||||||
|
For more information about using the application, please refer to [How to use the application](/docs/category/how-to-use-the-application).
|
||||||
|
:::
|
|
@ -0,0 +1,54 @@
|
||||||
|
---
|
||||||
|
sidebar_position: 4
|
||||||
|
---
|
||||||
|
|
||||||
|
# Portainer
|
||||||
|
|
||||||
|
Install Immich using Portainer's Stack feature.
|
||||||
|
|
||||||
|
1. Go to "**Stacks**" in the left sidebar.
|
||||||
|
2. Click on "**Add stack**".
|
||||||
|
3. Give the stack a name (i.e. Immich), and select "**Web Editor**" as the build method.
|
||||||
|
4. Copy the content of the `docker-compose.yml` file from the [GitHub repository](https://raw.githubusercontent.com/immich-app/immich/main/docker/docker-compose.yml)
|
||||||
|
5. Replace `.env` with `.stack.env` for all containers that need to use environment variables in the web editor.
|
||||||
|
|
||||||
|
<img
|
||||||
|
src={require('./img/dot-env.png').default}
|
||||||
|
width="50%"
|
||||||
|
style={{border: '1px solid #ddd'}}
|
||||||
|
alt="Dot Env Example"
|
||||||
|
/>
|
||||||
|
|
||||||
|
8. Click on "**Advanced Mode**" in the **Environment Variables** section.
|
||||||
|
|
||||||
|
<img
|
||||||
|
src={require('./img/env-1.png').default}
|
||||||
|
width="50%"
|
||||||
|
style={{border: '1px solid #ddd'}}
|
||||||
|
alt="Dot Env Example"
|
||||||
|
/>
|
||||||
|
|
||||||
|
9. Copy the content of the `.env.example` file from the [GitHub repository](https://raw.githubusercontent.com/immich-app/immich/main/docker/.env.example) and paste to the editor.
|
||||||
|
10. Switch back to "**Simple Mode**".
|
||||||
|
|
||||||
|
<img
|
||||||
|
src={require('./img/env-2.png').default}
|
||||||
|
width="50%"
|
||||||
|
style={{border: '1px solid #ddd'}}
|
||||||
|
alt="Dot Env Example"
|
||||||
|
/>
|
||||||
|
|
||||||
|
* Populate custom database information if necessary.
|
||||||
|
* Populate `UPLOAD_LOCATION` as prefered location for storing backup assets.
|
||||||
|
* Populate a secret value for `JWT_SECRET`, you can use the command below to generate a secured key
|
||||||
|
|
||||||
|
```bash title="Generate secure JWT_SECRET key"
|
||||||
|
openssl rand -base64 128
|
||||||
|
```
|
||||||
|
|
||||||
|
11. Click on "**Deploy the stack**".
|
||||||
|
|
||||||
|
|
||||||
|
:::tip
|
||||||
|
For more information about using the application, please refer to [How to use the application](/docs/category/how-to-use-the-application).
|
||||||
|
:::
|
120
docs/docs/installation/recommended-installation.md
Normal file
120
docs/docs/installation/recommended-installation.md
Normal file
|
@ -0,0 +1,120 @@
|
||||||
|
---
|
||||||
|
sidebar_position: 3
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
|
# Recommended installation
|
||||||
|
|
||||||
|
This is the recommended installation method for production use.
|
||||||
|
|
||||||
|
### Step 1 - Download the required files
|
||||||
|
|
||||||
|
From a directory of your choice (e.g. `./immich-app`) run the following commands
|
||||||
|
|
||||||
|
```bash title="Get docker-compose.yml file"
|
||||||
|
wget https://raw.githubusercontent.com/immich-app/immich/main/docker/docker-compose.yml
|
||||||
|
```
|
||||||
|
|
||||||
|
```bash title="Get .env file"
|
||||||
|
wget -O .env https://raw.githubusercontent.com/immich-app/immich/main/docker/.env.example
|
||||||
|
```
|
||||||
|
|
||||||
|
### Step 2 - Populate the .env file with custom values
|
||||||
|
|
||||||
|
<details>
|
||||||
|
|
||||||
|
<summary>Example <code>.env</code> content</summary>
|
||||||
|
|
||||||
|
```bash
|
||||||
|
###################################################################################
|
||||||
|
# Database
|
||||||
|
###################################################################################
|
||||||
|
|
||||||
|
DB_HOSTNAME=immich_postgres
|
||||||
|
DB_USERNAME=postgres
|
||||||
|
DB_PASSWORD=postgres
|
||||||
|
DB_DATABASE_NAME=immich
|
||||||
|
|
||||||
|
# Optional Database settings:
|
||||||
|
# DB_PORT=5432
|
||||||
|
|
||||||
|
###################################################################################
|
||||||
|
# Redis
|
||||||
|
###################################################################################
|
||||||
|
|
||||||
|
REDIS_HOSTNAME=immich_redis
|
||||||
|
|
||||||
|
# Optional Redis settings:
|
||||||
|
# REDIS_PORT=6379
|
||||||
|
# REDIS_DBINDEX=0
|
||||||
|
# REDIS_PASSWORD=
|
||||||
|
# REDIS_SOCKET=
|
||||||
|
|
||||||
|
###################################################################################
|
||||||
|
# Upload File Config
|
||||||
|
###################################################################################
|
||||||
|
|
||||||
|
UPLOAD_LOCATION=absolute_location_on_your_machine_where_you_want_to_store_the_backup
|
||||||
|
|
||||||
|
###################################################################################
|
||||||
|
# Log message level - [simple|verbose]
|
||||||
|
###################################################################################
|
||||||
|
|
||||||
|
LOG_LEVEL=simple
|
||||||
|
|
||||||
|
###################################################################################
|
||||||
|
# JWT SECRET
|
||||||
|
###################################################################################
|
||||||
|
|
||||||
|
# This JWT_SECRET is used to sign the authentication keys for user login
|
||||||
|
# You should set it to a long randomly generated value
|
||||||
|
# You can use this command to generate one: openssl rand -base64 128
|
||||||
|
JWT_SECRET=kWPdavjCECB0yoXgUHA/vpwpIKdCi/4ODVLIOe9WIi6AQlFfjWEuIVhWT3DtJE+T
|
||||||
|
CTckJnpwGgSK5AoqD+A8DZKsHCRdfVnlQIVqqmyR8isZTcxL5DWYQUSDRzyOO5OA
|
||||||
|
ZRUTE63FxiYhrRoe/y1yr5mV1osGy6mm6NZW8T2Tjwc=
|
||||||
|
|
||||||
|
###################################################################################
|
||||||
|
# Reverse Geocoding
|
||||||
|
####################################################################################
|
||||||
|
|
||||||
|
# DISABLE_REVERSE_GEOCODING=false
|
||||||
|
|
||||||
|
# Reverse geocoding is done locally which has a small impact on memory usage
|
||||||
|
# This memory usage can be altered by changing the REVERSE_GEOCODING_PRECISION variable
|
||||||
|
# This ranges from 0-3 with 3 being the most precise
|
||||||
|
# 3 - Cities > 500 population: ~200MB RAM
|
||||||
|
# 2 - Cities > 1000 population: ~150MB RAM
|
||||||
|
# 1 - Cities > 5000 population: ~80MB RAM
|
||||||
|
# 0 - Cities > 15000 population: ~40MB RAM
|
||||||
|
|
||||||
|
# REVERSE_GEOCODING_PRECISION=3
|
||||||
|
|
||||||
|
####################################################################################
|
||||||
|
# WEB - Optional
|
||||||
|
####################################################################################
|
||||||
|
|
||||||
|
# Custom message on the login page, should be written in HTML form.
|
||||||
|
# For example PUBLIC_LOGIN_PAGE_MESSAGE="This is a demo instance of Immich.<br><br>Email: <i>demo@demo.de</i><br>Password: <i>demo</i>"
|
||||||
|
|
||||||
|
PUBLIC_LOGIN_PAGE_MESSAGE="My Family Photos and Videos Backup Server"
|
||||||
|
```
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
* Populate custom database information if necessary.
|
||||||
|
* Populate `UPLOAD_LOCATION` as prefered location for storing backup assets.
|
||||||
|
* Populate a secret value for `JWT_SECRET`, you can use the command below to generate a secured key
|
||||||
|
|
||||||
|
```bash title="Command to generate secure JWT_SECRET key"
|
||||||
|
openssl rand -base64 128
|
||||||
|
```
|
||||||
|
|
||||||
|
### Step 3 - Start the containers
|
||||||
|
|
||||||
|
```bash title="Start the containers using docker compose command"
|
||||||
|
docker-compose up -d # or `docker compose up -d` based on your docker-compose version
|
||||||
|
```
|
||||||
|
|
||||||
|
:::tip
|
||||||
|
For more information about using the application, please refer to [How to use the application](/docs/category/how-to-use-the-application).
|
||||||
|
:::
|
|
@ -0,0 +1,31 @@
|
||||||
|
---
|
||||||
|
sidebar_position: 1
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
|
# Requirements
|
||||||
|
Hardware and software requirement for Immich
|
||||||
|
|
||||||
|
## Software
|
||||||
|
|
||||||
|
- [Docker](https://docs.docker.com/get-docker/)
|
||||||
|
- [Docker Compose](https://docs.docker.com/compose/install/)
|
||||||
|
|
||||||
|
:::info Podman
|
||||||
|
You can also use Podman to run the application, however, additional configurations might required on your end.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Hardware
|
||||||
|
|
||||||
|
- **OS**: Preferred unix-based operating system (Ubuntu, Debian, MacOS...etc). Windows works too with [Docker Desktop on Windows](https://docs.docker.com/desktop/install/windows-install/)
|
||||||
|
- **Ram**: At least 2GB, preferred 4GB.
|
||||||
|
- **Core**: At least 2 cores, preferred 4 cores.
|
||||||
|
|
||||||
|
## Installation methods
|
||||||
|
|
||||||
|
There are a couple installation method that you can use to install the application. You can choose the one that suits you the best.
|
||||||
|
|
||||||
|
1. [One-step installation (Evaluation only)](/docs/installation/one-step-installation)
|
||||||
|
2. **[Docker Compose with manual configuration (Recommended)](/docs/installation/recommended-installation)**
|
||||||
|
3. [Portainer](/docs/installation/portainer-installation)
|
||||||
|
4. [Unraid (Community contribution)](/docs/installation/unraid-installation)
|
|
@ -0,0 +1,11 @@
|
||||||
|
---
|
||||||
|
sidebar_position: 5
|
||||||
|
---
|
||||||
|
|
||||||
|
# Unraid
|
||||||
|
|
||||||
|
Install Immich on Unraid.
|
||||||
|
|
||||||
|
:::info Community contribution
|
||||||
|
Please follow this community contributed [article](https://mfaz.dev/posts/immich-unraid/) to install Immich on Unraid.
|
||||||
|
:::
|
|
@ -1,8 +1,8 @@
|
||||||
{
|
{
|
||||||
"label": "How to use the app",
|
"label": "How to use the application",
|
||||||
"position": 3,
|
"position": 3,
|
||||||
"link": {
|
"link": {
|
||||||
"type": "generated-index",
|
"type": "generated-index",
|
||||||
"description": "5 minutes to learn the most important Docusaurus concepts."
|
"description": "Quick start on how to use the app on mobile and the web"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -57,16 +57,23 @@ const config = {
|
||||||
themeConfig:
|
themeConfig:
|
||||||
/** @type {import('@docusaurus/preset-classic').ThemeConfig} */
|
/** @type {import('@docusaurus/preset-classic').ThemeConfig} */
|
||||||
({
|
({
|
||||||
|
announcementBar: {
|
||||||
|
id: "site_announcement_immich",
|
||||||
|
content: `⚠️ The project is under <strong>very active</strong> development. Expect bugs and changes. Do not use as a single source to store of your photos and videos!`,
|
||||||
|
backgroundColor: "#593f00",
|
||||||
|
textColor: "#ffefc9",
|
||||||
|
isCloseable: false,
|
||||||
|
},
|
||||||
docs: {
|
docs: {
|
||||||
sidebar: {
|
sidebar: {
|
||||||
autoCollapseCategories: false,
|
autoCollapseCategories: false,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
navbar: {
|
navbar: {
|
||||||
title: "Immich Documentation",
|
|
||||||
logo: {
|
logo: {
|
||||||
alt: "Immich University Logo",
|
alt: "Immich University Logo",
|
||||||
src: "img/logo.png",
|
src: "img/color-logo.png",
|
||||||
|
srcDark: "img/logo.png",
|
||||||
},
|
},
|
||||||
items: [
|
items: [
|
||||||
{
|
{
|
||||||
|
@ -83,7 +90,7 @@ const config = {
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
footer: {
|
footer: {
|
||||||
style: "dark",
|
style: "light",
|
||||||
links: [
|
links: [
|
||||||
{
|
{
|
||||||
title: "Overview",
|
title: "Overview",
|
||||||
|
@ -121,7 +128,7 @@ const config = {
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
copyright: `Alex Tran - For my family`,
|
copyright: `Immich is available as open source under the terms of the MIT License.`,
|
||||||
},
|
},
|
||||||
prism: {
|
prism: {
|
||||||
theme: lightCodeTheme,
|
theme: lightCodeTheme,
|
||||||
|
|
BIN
docs/static/img/color-logo.png
vendored
Normal file
BIN
docs/static/img/color-logo.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 46 KiB |
Loading…
Add table
Reference in a new issue