mirror of
				https://github.com/immich-app/immich.git
				synced 2025-11-03 19:17:11 -05:00 
			
		
		
		
	doc: Added contribution guide line
This commit is contained in:
		
							parent
							
								
									0f9c2f0a38
								
							
						
					
					
						commit
						2782dae518
					
				@ -2,4 +2,81 @@
 | 
			
		||||
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
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										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.
 | 
			
		||||
          editUrl: "https://github.com/immich-app/immich/tree/main/docs/",
 | 
			
		||||
        },
 | 
			
		||||
        blog: {
 | 
			
		||||
          showReadingTime: true,
 | 
			
		||||
          editUrl: "https://github.com/immich-app/immich/tree/main/docs/",
 | 
			
		||||
        },
 | 
			
		||||
        // blog: {
 | 
			
		||||
        //   showReadingTime: true,
 | 
			
		||||
        //   editUrl: "https://github.com/immich-app/immich/tree/main/docs/",
 | 
			
		||||
        // },
 | 
			
		||||
        theme: {
 | 
			
		||||
          customCss: require.resolve("./src/css/custom.css"),
 | 
			
		||||
        },
 | 
			
		||||
@ -58,7 +58,7 @@ const config = {
 | 
			
		||||
    ({
 | 
			
		||||
      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!`,
 | 
			
		||||
        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",
 | 
			
		||||
        textColor: "#ffefc9",
 | 
			
		||||
        isCloseable: false,
 | 
			
		||||
@ -80,7 +80,7 @@ const config = {
 | 
			
		||||
            position: "right",
 | 
			
		||||
            label: "Documentation",
 | 
			
		||||
          },
 | 
			
		||||
          { to: "/blog", label: "Blog", position: "right" },
 | 
			
		||||
          // { to: "/blog", label: "Blog", position: "right" },
 | 
			
		||||
          {
 | 
			
		||||
            href: "https://github.com/immich-app/immich",
 | 
			
		||||
            label: "GitHub",
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user