mirror of
				https://github.com/KevinMidboe/immich.git
				synced 2025-10-29 17:40:28 +00:00 
			
		
		
		
	docs: add installation section (#912)
* Implemented requirements * Added one-step installation * Finished section
This commit is contained in:
		
							
								
								
									
										
											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 | 
		Reference in New Issue
	
	Block a user