diff --git a/.dockerignore b/.dockerignore index 7559cf366a..a3096e7d40 100644 --- a/.dockerignore +++ b/.dockerignore @@ -29,3 +29,4 @@ web/node_modules/ web/coverage/ web/.svelte-kit web/build/ +web/.env diff --git a/docs/blog/2024/immich-core-team-goes-fulltime.mdx b/docs/blog/2024/immich-core-team-goes-fulltime.mdx index 5edd39ad78..0cba2b467c 100644 --- a/docs/blog/2024/immich-core-team-goes-fulltime.mdx +++ b/docs/blog/2024/immich-core-team-goes-fulltime.mdx @@ -1,7 +1,7 @@ --- title: The Immich core team goes full-time authors: [alextran] -tags: [update, announcement, futo] +tags: [update, announcement, FUTO] date: 2024-05-01T00:00 --- diff --git a/docs/blog/2024/immich-licensing.mdx b/docs/blog/2024/immich-licensing.mdx new file mode 100644 index 0000000000..4b4272e163 --- /dev/null +++ b/docs/blog/2024/immich-licensing.mdx @@ -0,0 +1,91 @@ +--- +title: Licensing announcement - Purchase a license to support Immich +authors: [alextran] +tags: [update, announcement, FUTO] +date: 2024-07-18T00:00 +--- + +Hello everybody, + +Firstly, on behalf of the Immich team, I'd like to thank everybody for your continuous support of Immich since the very first day! Your contributions, encouragement, and community engagement have helped bring Immich to its current state. The team and I are forever grateful for that. + +Since our [last announcement of the core team joining FUTO to work on Immich full-time](https://immich.app/blog/2024/immich-core-team-goes-fulltime), one of the goals of our new position is to foster a healthy relationship between the developers and the users. We believe that this enables us to create great software, establish transparent policies and build trust. + +We want to build a great software application that brings value to you and your loved ones' lives. We are not using you as a product, i.e., selling or tracking your data. We are not putting annoying ads into our software. We respect your privacy. We want to be compensated for the hard work we put in to build Immich for you. + +With those notes, we have enabled a way for you to financially support the continued development of Immich, ensuring the software can move forward and will be maintained, by offering a lifetime license of the software. We think if you like and use software, you should pay for it, but _we're never going to force anyone to pay or try to limit Immich for those who don't._ + +There are two types of license that you can choose to purchase: **Server License** and **Individual License**. + +### Server License + +This is a lifetime license costing **$99.99**. The license is applied to the whole server. You and all users that use your server are licensed. + +### Individual License + +This is a lifetime license costing **$24.99**. The license is applied to a single user, and can be used on any server they choose to connect to. + + + +You can purchase the license on [our page - https://buy.immich.app](https://buy.immich.app). + +Starting with release `v1.109.0` you can purchase and enter your purchased license key directly in the app. + + + +## Thank you + +Thank you again for your support, this will help create a strong foundation and stability for the Immich team to continue developing and maintaining the project that you love to use. + +
+ +
+ +{$t('license_activated_title')}
+{$t('license_activated_subtitle')}
+ +{$t('license_license_subtitle')}
+{$t('license_input_suggestion')}
+ +{$t('license_server_title')}
+$99.99
+{$t('license_per_server')}
+{$t('license_server_description_1')}
+{$t('license_lifetime_description')}
+{$t('license_server_description_2')}
+{$t('license_individual_title')}
+$24.99
+{$t('license_per_user')}
+{$t('license_individual_description_1')}
+{$t('license_lifetime_description')}
++ {$t('license_trial_info_2')} + + {$t('license_trial_info_3', { values: { accountAge: getAccountAge() } })}. {$t('license_trial_info_4')} +
+{$t('storage')}
+ + {#if $serverInfo} ++ {$t('storage_usage', { + values: { + used: getByteUnitString(usedBytes, $locale), + available: getByteUnitString(availableBytes, $locale), + }, + })} +
+ +{$t('storage')}
- {#if $serverInfo} -- {$t('storage_usage', { - values: { - used: getByteUnitString(usedBytes, $locale), - available: getByteUnitString(availableBytes, $locale), - }, - })} -
- {:else} -{$t('server')}
- -{$t('status')}
- - {#if $connected} -{$t('online')}
- {:else} -{$t('offline')}
- {/if} -{$t('version')}
- {#if $connected && version} - - {:else} -{$t('unknown')}
- {/if} -Server License
+ + {#if $user.isAdmin && serverLicenseInfo?.activatedAt} ++ Activated on {new Date(serverLicenseInfo?.activatedAt).toLocaleDateString()} +
+ {:else} +Your license is managed by the admin
+ {/if} +Individual License
+ {#if $user.license?.activatedAt} ++ Activated on {new Date($user.license?.activatedAt).toLocaleDateString()} +
+ {/if} ++ {$t('license_trial_info_2')} + + {$t('license_trial_info_3', { values: { accountAge } })}. {$t('license_trial_info_4')} +
+{$t('license_failed_activation')}
+{$t('license_account_info')}
+