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, | ||||
|   "link": { | ||||
|     "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: | ||||
|     /** @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: { | ||||
|         sidebar: { | ||||
|           autoCollapseCategories: false, | ||||
|         }, | ||||
|       }, | ||||
|       navbar: { | ||||
|         title: "Immich Documentation", | ||||
|         logo: { | ||||
|           alt: "Immich University Logo", | ||||
|           src: "img/logo.png", | ||||
|           src: "img/color-logo.png", | ||||
|           srcDark: "img/logo.png", | ||||
|         }, | ||||
|         items: [ | ||||
|           { | ||||
| @@ -83,7 +90,7 @@ const config = { | ||||
|         ], | ||||
|       }, | ||||
|       footer: { | ||||
|         style: "dark", | ||||
|         style: "light", | ||||
|         links: [ | ||||
|           { | ||||
|             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: { | ||||
|         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