mirror of
				https://github.com/immich-app/immich.git
				synced 2025-11-04 03:27:09 -05:00 
			
		
		
		
	doc: Added contribution guide line
This commit is contained in:
		
							parent
							
								
									0f9c2f0a38
								
							
						
					
					
						commit
						2782dae518
					
				@ -2,4 +2,81 @@
 | 
				
			|||||||
sidebar_position: 5
 | 
					sidebar_position: 5
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Contribution Guidelines
 | 
					# Contribution guidelines
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Environment setup
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Server and web app
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This environment includes the following services:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Core server - `/server/apps/immich`
 | 
				
			||||||
 | 
					- Machine learning - `/machine-learning`
 | 
				
			||||||
 | 
					- Microservices - `/server/apps/microservicess`
 | 
				
			||||||
 | 
					- Web app - `/web`
 | 
				
			||||||
 | 
					- Redis
 | 
				
			||||||
 | 
					- PostgreSQL development database with exposed port `5432` so you can use any database client to acess it
 | 
				
			||||||
 | 
					- NGINX Proxy - `nginx/nginx.conf`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					All the services are packaged to run as with single Docker Compose command.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					After cloning the project, from the root directory run
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```bash title="Start development server"
 | 
				
			||||||
 | 
					make dev # required Makefile installed on the system.
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					All the services will be started with hot-reloading enabled for a quick feedback loop.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Mobile app
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The mobile app `(/mobile)` will required Flutter toolchain to be installed on your system.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Please refer to the [Flutter's official documentation](https://flutter.dev/docs/get-started/install) for more information on setting up the toolchain on your machine.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## IDE setup
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Lint / format extensions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Setting these in the IDE give a better developer experience auto-formatting code on save and providing instant feedback on lint issues.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### VSCode
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Install `Flutter`, `Prettier`, `ESLint` and `Svelte` extensions.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					in User `settings.json` (`cmd + shift + p` and search for `Open User Settings JSON`) add the following:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```json title="settings.json"
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  "editor.formatOnSave": true,
 | 
				
			||||||
 | 
					  "[javascript][typescript][css]": {
 | 
				
			||||||
 | 
					    "editor.defaultFormatter": "esbenp.prettier-vscode",
 | 
				
			||||||
 | 
					    "editor.tabSize": 2,
 | 
				
			||||||
 | 
					    "editor.formatOnSave": true
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  "[svelte]": {
 | 
				
			||||||
 | 
					    "editor.defaultFormatter": "svelte.svelte-vscode",
 | 
				
			||||||
 | 
					    "editor.tabSize": 2
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  "svelte.enable-ts-plugin": true,
 | 
				
			||||||
 | 
					  "eslint.validate": ["javascript", "svelte"],
 | 
				
			||||||
 | 
					  "[dart]": {
 | 
				
			||||||
 | 
					    "editor.formatOnSave": true,
 | 
				
			||||||
 | 
					    "editor.selectionHighlight": false,
 | 
				
			||||||
 | 
					    "editor.suggest.snippetsPreventQuickSuggestions": false,
 | 
				
			||||||
 | 
					    "editor.suggestSelection": "first",
 | 
				
			||||||
 | 
					    "editor.tabCompletion": "onlySnippets",
 | 
				
			||||||
 | 
					    "editor.wordBasedSuggestions": false,
 | 
				
			||||||
 | 
					    "editor.defaultFormatter": "Dart-Code.dart-code"
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## OpenAPI generator
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					OpenAPI is used to generate the client (Typescript, Dart) SDK. `openapi-generator-cli` can be installed [here](https://openapi-generator.tech/docs/installation/). When you add a new or modify an existing endpoint, you must run the command below to update the client SDK.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```bash
 | 
				
			||||||
 | 
					npm run api:generate # Run from the `server` directory
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					You can find the generated client SDK in the `web/src/api` for Typescript SDK and `mobile/openapi` for Dart SDK.
 | 
				
			||||||
@ -3,7 +3,7 @@ sidebar_position: 4
 | 
				
			|||||||
---
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Mobile App Beta Program
 | 
					# Mobile app Beta program
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Join the beta release channel to test the latest update of the app
 | 
					Join the beta release channel to test the latest update of the app
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										11
									
								
								docs/docs/usage/update.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								docs/docs/usage/update.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,11 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					sidebar_position: 4
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Update the application
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					If you are using Docker Compose, to update the application use the following commands in the directory where the `docker-compose.yml` file is located:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```bash title="Update Immich"
 | 
				
			||||||
 | 
					docker-compose pull && docker-compose up -d # Or `docker compose`
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
@ -42,10 +42,10 @@ const config = {
 | 
				
			|||||||
          // Remove this to remove the "edit this page" links.
 | 
					          // Remove this to remove the "edit this page" links.
 | 
				
			||||||
          editUrl: "https://github.com/immich-app/immich/tree/main/docs/",
 | 
					          editUrl: "https://github.com/immich-app/immich/tree/main/docs/",
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        blog: {
 | 
					        // blog: {
 | 
				
			||||||
          showReadingTime: true,
 | 
					        //   showReadingTime: true,
 | 
				
			||||||
          editUrl: "https://github.com/immich-app/immich/tree/main/docs/",
 | 
					        //   editUrl: "https://github.com/immich-app/immich/tree/main/docs/",
 | 
				
			||||||
        },
 | 
					        // },
 | 
				
			||||||
        theme: {
 | 
					        theme: {
 | 
				
			||||||
          customCss: require.resolve("./src/css/custom.css"),
 | 
					          customCss: require.resolve("./src/css/custom.css"),
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@ -58,7 +58,7 @@ const config = {
 | 
				
			|||||||
    ({
 | 
					    ({
 | 
				
			||||||
      announcementBar: {
 | 
					      announcementBar: {
 | 
				
			||||||
        id: "site_announcement_immich",
 | 
					        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!`,
 | 
					        content: `⚠️ The project is under <strong>very active</strong> development. Expect bugs and changes. Do not use as a <strong>single source</strong> to store of your photos and videos!`,
 | 
				
			||||||
        backgroundColor: "#593f00",
 | 
					        backgroundColor: "#593f00",
 | 
				
			||||||
        textColor: "#ffefc9",
 | 
					        textColor: "#ffefc9",
 | 
				
			||||||
        isCloseable: false,
 | 
					        isCloseable: false,
 | 
				
			||||||
@ -80,7 +80,7 @@ const config = {
 | 
				
			|||||||
            position: "right",
 | 
					            position: "right",
 | 
				
			||||||
            label: "Documentation",
 | 
					            label: "Documentation",
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          { to: "/blog", label: "Blog", position: "right" },
 | 
					          // { to: "/blog", label: "Blog", position: "right" },
 | 
				
			||||||
          {
 | 
					          {
 | 
				
			||||||
            href: "https://github.com/immich-app/immich",
 | 
					            href: "https://github.com/immich-app/immich",
 | 
				
			||||||
            label: "GitHub",
 | 
					            label: "GitHub",
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user