Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Testing #14

Closed
wants to merge 72 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
829b39f
First commit
Limezy Aug 30, 2022
9f241b7
deactivate service for tests
Limezy Aug 30, 2022
d77a98f
Update _common.sh
Limezy Aug 30, 2022
361b176
Update install
Limezy Aug 30, 2022
d43efaf
Update install
Limezy Aug 30, 2022
3c63492
Update install
Limezy Aug 30, 2022
4fcf4ec
Update install
Limezy Aug 30, 2022
0e0f503
Update install
Limezy Aug 30, 2022
f29f51f
Update install
Limezy Aug 30, 2022
a23fe5f
Update install
Limezy Aug 30, 2022
8dafd0c
Update install
Limezy Aug 30, 2022
258193f
Update install
Limezy Aug 30, 2022
85ae3a1
Update _common.sh
Limezy Aug 30, 2022
4f89e23
Update install
Limezy Aug 30, 2022
d6ee06d
Update install
Limezy Aug 31, 2022
efe33a3
Update install
Limezy Aug 31, 2022
c5a4283
Update .env
Limezy Aug 31, 2022
1b09ec7
Update systemd.service
Limezy Aug 31, 2022
b3a4c9d
Update systemd.service
Limezy Aug 31, 2022
6261e5f
Update install
Limezy Aug 31, 2022
5af0ca2
Update .env
Limezy Aug 31, 2022
adb4634
Update .env
Limezy Aug 31, 2022
c737716
Update install
Limezy Aug 31, 2022
28032f3
Updates
Limezy Aug 31, 2022
d8250dd
Update install
Limezy Aug 31, 2022
680e846
Update install
Limezy Aug 31, 2022
0133ab7
Update microservices.service
Limezy Aug 31, 2022
539f5d1
Updates
Limezy Aug 31, 2022
5866a7e
Update install
Limezy Aug 31, 2022
ccfc3e5
Updates
Limezy Aug 31, 2022
dfe993d
Update install
Limezy Aug 31, 2022
fd9123b
Update install
Limezy Aug 31, 2022
90184c1
Update remove
Limezy Aug 31, 2022
ac9c1fe
Update install
Limezy Aug 31, 2022
7e12eb3
Update install
Limezy Aug 31, 2022
32cefd3
Update install
Limezy Aug 31, 2022
14a3795
Could it run ?!
Limezy Aug 31, 2022
dcf88ec
Update install
Limezy Aug 31, 2022
0c7cd66
Update install
Limezy Aug 31, 2022
92ba36c
New try for the port...
Limezy Aug 31, 2022
7e1f6ab
Update vite.config.js
Limezy Aug 31, 2022
22a207f
Update vite.config.js
Limezy Aug 31, 2022
d0d3755
Update _common.sh
Limezy Aug 31, 2022
a4a3c44
Update install
Limezy Aug 31, 2022
dbd41bf
Revert "Update _common.sh"
Limezy Aug 31, 2022
1d3a5bc
Update install
Limezy Aug 31, 2022
f1faf42
Nginx
Limezy Aug 31, 2022
82904f4
Update .env
Limezy Aug 31, 2022
78509e5
Few things
Limezy Sep 1, 2022
b2bb94e
Upload folder
Limezy Sep 1, 2022
5c6d6a1
Merge pull request #13 from Limezy/first-installable-version
ericgaspar May 27, 2023
02d3352
Auto-update README
yunohost-bot May 27, 2023
9cf2f1f
cleaning
ericgaspar May 27, 2023
f35c09a
fix
ericgaspar May 27, 2023
5dd8082
Update install
ericgaspar May 27, 2023
15bd8a3
Update install
ericgaspar May 27, 2023
d47957b
fix
ericgaspar May 27, 2023
30000c1
Update install
ericgaspar May 27, 2023
1f0d37a
fix
ericgaspar Jun 5, 2023
fef134c
Update backup
ericgaspar Jun 5, 2023
4e81278
Update .env
ericgaspar Jun 5, 2023
bfcd6ae
Update manifest.json
ericgaspar Jun 5, 2023
4670102
Update check_process
ericgaspar Jun 5, 2023
8edf699
Update check_process
ericgaspar Jun 5, 2023
7f7d6b0
Update _common.sh
ericgaspar Jun 5, 2023
236e049
Delete .DS_Store
ericgaspar Jul 29, 2023
1874607
Update install
ericgaspar Jul 29, 2023
df88cd5
Update install
ericgaspar Jul 29, 2023
a98c8da
cleaning
ericgaspar Dec 10, 2023
e5b19ec
Auto-update README
yunohost-bot Dec 10, 2023
3500f38
Update restore
ericgaspar Dec 10, 2023
737bf3c
cleaning
ericgaspar Dec 10, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
23 changes: 20 additions & 3 deletions LICENSE
@@ -1,4 +1,21 @@
File containing the license of your package.
MIT License

More information here:
https://yunohost.org/packaging_apps_guidelines#yep-1-3
Copyright (c) 2022 Hau Tran

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
60 changes: 16 additions & 44 deletions README.md
@@ -1,27 +1,17 @@
# Packaging an app, starting from this example

* Copy this app before working on it, using the ['Use this template'](https://github.com/YunoHost/example_ynh/generate) button on the Github repo.
* Edit the `manifest.json` with app specific info.
* Edit the `install`, `upgrade`, `remove`, `backup`, and `restore` scripts, and any relevant conf files in `conf/`.
* Using the [script helpers documentation.](https://yunohost.org/packaging_apps_helpers)
* Add a `LICENSE` file for the package.
* Edit `doc/DISCLAIMER*.md`
* The `README.md` files are to be automatically generated by https://github.com/YunoHost/apps/tree/master/tools/README-generator

---
<!--
N.B.: This README was automatically generated by https://github.com/YunoHost/apps/tree/master/tools/README-generator
It shall NOT be edited by hand.
-->

# Example app for YunoHost
# Immich for YunoHost

[![Integration level](https://dash.yunohost.org/integration/example.svg)](https://dash.yunohost.org/appci/app/example) ![Working status](https://ci-apps.yunohost.org/ci/badges/example.status.svg) ![Maintenance status](https://ci-apps.yunohost.org/ci/badges/example.maintain.svg)
[![Install Example app with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=example)
[![Integration level](https://dash.yunohost.org/integration/immich.svg)](https://dash.yunohost.org/appci/app/immich) ![Working status](https://ci-apps.yunohost.org/ci/badges/immich.status.svg) ![Maintenance status](https://ci-apps.yunohost.org/ci/badges/immich.maintain.svg)

[![Install Immich with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=immich)

*[Lire ce readme en français.](./README_fr.md)*

> *This package allows you to install Example app quickly and simply on a YunoHost server.
> *This package allows you to install Immich quickly and simply on a YunoHost server.
If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/install) to learn how to install it.*

## Overview
Expand All @@ -37,49 +27,31 @@ Some long and extensive description of what the app is and does, lorem ipsum dol
- Excepteur sint occaecat cupidatat non proident, sunt in culpa."


**Shipped version:** 1.0~ynh1


**Demo:** https://demo.example.com
**Shipped version:** 1.90.2~ynh1

## Screenshots

![Screenshot of Example app](./doc/screenshots/example.jpg)

## Disclaimers / important information

* Any known limitations, constrains or stuff not working, such as (but not limited to):
* requiring a full dedicated domain ?
* architectures not supported ?
* not-working single-sign on or LDAP integration ?
* the app requires an important amount of RAM / disk / .. to install or to work properly
* etc...

* Other infos that people should be aware of, such as:
* any specific step to perform after installing (such as manually finishing the install, specific admin credentials, ...)
* how to configure / administrate the application if it ain't obvious
* upgrade process / specificities / things to be aware of ?
* security considerations ?
![Screenshot of Immich](./doc/screenshots/example.jpg)

## Documentation and resources

* Official app website: <https://example.com>
* Official user documentation: <https://yunohost.org/apps>
* Official admin documentation: <https://yunohost.org/packaging_apps>
* Upstream app code repository: <https://some.forge.com/example/example>
* YunoHost documentation for this app: <https://yunohost.org/app_example>
* Report a bug: <https://github.com/YunoHost-Apps/example_ynh/issues>
* Official app website: <https://www.immich.app>
* Official user documentation: <https://github.com/immich-app/immich#getting-started>
* Official admin documentation: <https://github.com/immich-app/immich#getting-started>
* Upstream app code repository: <https://github.com/immich-app/immich>
* YunoHost Store: <https://apps.yunohost.org/app/immich>
* Report a bug: <https://github.com/YunoHost-Apps/immich_ynh/issues>

## Developer info

Please send your pull request to the [testing branch](https://github.com/YunoHost-Apps/example_ynh/tree/testing).
Please send your pull request to the [testing branch](https://github.com/YunoHost-Apps/immich_ynh/tree/testing).

To try the testing branch, please proceed like that.

``` bash
sudo yunohost app install https://github.com/YunoHost-Apps/example_ynh/tree/testing --debug
sudo yunohost app install https://github.com/YunoHost-Apps/immich_ynh/tree/testing --debug
or
sudo yunohost app upgrade example -u https://github.com/YunoHost-Apps/example_ynh/tree/testing --debug
sudo yunohost app upgrade immich -u https://github.com/YunoHost-Apps/immich_ynh/tree/testing --debug
```

**More info regarding app packaging:** <https://yunohost.org/packaging_apps>
57 changes: 20 additions & 37 deletions README_fr.md
Expand Up @@ -3,17 +3,18 @@ N.B.: This README was automatically generated by https://github.com/YunoHost/app
It shall NOT be edited by hand.
-->

# Example app pour YunoHost
# Immich pour YunoHost

[![Niveau d'intégration](https://dash.yunohost.org/integration/example.svg)](https://dash.yunohost.org/appci/app/example) ![Statut du fonctionnement](https://ci-apps.yunohost.org/ci/badges/example.status.svg) ![Statut de maintenance](https://ci-apps.yunohost.org/ci/badges/example.maintain.svg)
[![Installer Example app avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=example)
[![Niveau d’intégration](https://dash.yunohost.org/integration/immich.svg)](https://dash.yunohost.org/appci/app/immich) ![Statut du fonctionnement](https://ci-apps.yunohost.org/ci/badges/immich.status.svg) ![Statut de maintenance](https://ci-apps.yunohost.org/ci/badges/immich.maintain.svg)

[![Installer Immich avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=immich)

*[Read this readme in english.](./README.md)*

> *Ce package vous permet d'installer Example app rapidement et simplement sur un serveur YunoHost.
Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour savoir comment l'installer et en profiter.*
> *Ce package vous permet dinstaller Immich rapidement et simplement sur un serveur YunoHost.
Si vous navez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour savoir comment linstaller et en profiter.*

## Vue d'ensemble
## Vue densemble

Some long and extensive description of what the app is and does, lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Expand All @@ -26,49 +27,31 @@ Some long and extensive description of what the app is and does, lorem ipsum dol
- Excepteur sint occaecat cupidatat non proident, sunt in culpa."


**Version incluse :** 1.0~ynh1


**Démo :** https://demo.example.com

## Captures d'écran

![Capture d'écran de Example app](./doc/screenshots/example.jpg)

## Avertissements / informations importantes
**Version incluse :** 1.90.2~ynh1

* Any known limitations, constrains or stuff not working, such as (but not limited to):
* requiring a full dedicated domain ?
* architectures not supported ?
* not-working single-sign on or LDAP integration ?
* the app requires an important amount of RAM / disk / .. to install or to work properly
* etc...
## Captures d’écran

* Other infos that people should be aware of, such as:
* any specific step to perform after installing (such as manually finishing the install, specific admin credentials, ...)
* how to configure / administrate the application if it ain't obvious
* upgrade process / specificities / things to be aware of ?
* security considerations ?
![Capture d’écran de Immich](./doc/screenshots/example.jpg)

## Documentations et ressources

* Site officiel de l'app : <https://example.com>
* Documentation officielle utilisateur : <https://yunohost.org/apps>
* Documentation officielle de l'admin : <https://yunohost.org/packaging_apps>
* Dépôt de code officiel de l'app : <https://some.forge.com/example/example>
* Documentation YunoHost pour cette app : <https://yunohost.org/app_example>
* Signaler un bug : <https://github.com/YunoHost-Apps/example_ynh/issues>
* Site officiel de lapp : <https://www.immich.app>
* Documentation officielle utilisateur : <https://github.com/immich-app/immich#getting-started>
* Documentation officielle de ladmin : <https://github.com/immich-app/immich#getting-started>
* Dépôt de code officiel de lapp : <https://github.com/immich-app/immich>
* YunoHost Store: <https://apps.yunohost.org/app/immich>
* Signaler un bug : <https://github.com/YunoHost-Apps/immich_ynh/issues>

## Informations pour les développeurs

Merci de faire vos pull request sur la [branche testing](https://github.com/YunoHost-Apps/example_ynh/tree/testing).
Merci de faire vos pull request sur la [branche testing](https://github.com/YunoHost-Apps/immich_ynh/tree/testing).

Pour essayer la branche testing, procédez comme suit.

``` bash
sudo yunohost app install https://github.com/YunoHost-Apps/example_ynh/tree/testing --debug
sudo yunohost app install https://github.com/YunoHost-Apps/immich_ynh/tree/testing --debug
ou
sudo yunohost app upgrade example -u https://github.com/YunoHost-Apps/example_ynh/tree/testing --debug
sudo yunohost app upgrade immich -u https://github.com/YunoHost-Apps/immich_ynh/tree/testing --debug
```

**Plus d'infos sur le packaging d'applications :** <https://yunohost.org/packaging_apps>
**Plus dinfos sur le packaging dapplications :** <https://yunohost.org/packaging_apps>
4 changes: 2 additions & 2 deletions check_process
Expand Up @@ -14,15 +14,15 @@
port="666"
; Checks
pkg_linter=1
setup_sub_dir=1
setup_sub_dir=0
setup_root=1
setup_nourl=0
setup_private=1
setup_public=1
upgrade=1
upgrade=1 from_commit=CommitHash
backup_restore=1
multi_instance=1
multi_instance=0
port_already_use=0
change_url=1
;;; Options
Expand Down
52 changes: 52 additions & 0 deletions conf/.env
@@ -0,0 +1,52 @@
###################################################################################
# Database
###################################################################################

DB_HOSTNAME=localhost
DB_USERNAME=__DB_NAME__
DB_PASSWORD=__DB_PWD__
DB_DATABASE_NAME=__DB_NAME__

# Optional Database settings:
# DB_PORT=5532

###################################################################################
# Redis
###################################################################################

REDIS_HOSTNAME=localhost

# Optional Redis settings:
REDIS_PORT=6379
# REDIS_DBINDEX=0
# REDIS_PASSWORD=
# REDIS_SOCKET=

###################################################################################
# Upload File Config
###################################################################################

UPLOAD_LOCATION=__DATADIR__

###################################################################################
# JWT SECRET
###################################################################################

JWT_SECRET=__JWT__

###################################################################################
# MAPBOX
####################################################################################

# ENABLE_MAPBOX is either true of false -> if true, you have to provide MAPBOX_KEY
ENABLE_MAPBOX=false
MAPBOX_KEY=

####################################################################################
# WEB - Optional
####################################################################################

# Custom message on the login page, should be written in HTML form.
# For example VITE_LOGIN_PAGE_MESSAGE="This is a demo instance of Immich.<br><br>Email: <i>demo@demo.de</i><br>Password: <i>demo</i>"

VITE_LOGIN_PAGE_MESSAGE=
7 changes: 0 additions & 7 deletions conf/app.src

This file was deleted.

7 changes: 7 additions & 0 deletions conf/docker-image-extract.src
@@ -0,0 +1,7 @@
SOURCE_URL=https://codeload.github.com/jjlin/docker-image-extract/tar.gz/a9e455e44bbbfba897bf3342d9661b182cee67a9
SOURCE_SUM=9eb0c734e83a3fd7102fc7209af4977024ec467fbc819782491af47295675f67
SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=tar.gz
SOURCE_IN_SUBDIR=true
SOURCE_FILENAME=
SOURCE_EXTRACT=true
48 changes: 48 additions & 0 deletions conf/microservices.service
@@ -0,0 +1,48 @@
[Unit]
Description=Immich
After=network.target

[Service]
Type=simple
User=__APP__
Group=__APP__
WorkingDirectory=__FINALPATH__/
Environment="NODE_ENV=production"
Environment="__YNH_NODE_LOAD_PATH__"
EnvironmentFile=__FINALPATH__/.env
ExecStart=__YNH_NODE__ server/dist/apps/microservices/apps/microservices/src/main
StandardOutput=append:/var/log/__APP__/__APP__-microservices.log
StandardError=inherit

# Sandboxing options to harden security
# Depending on specificities of your service/app, you may need to tweak these
# .. but this should be a good baseline
# Details for these options: https://www.freedesktop.org/software/systemd/man/systemd.exec.html
NoNewPrivileges=yes
PrivateTmp=yes
PrivateDevices=yes
RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6
RestrictNamespaces=yes
RestrictRealtime=yes
DevicePolicy=closed
ProtectSystem=full
ProtectControlGroups=yes
ProtectKernelModules=yes
ProtectKernelTunables=yes
LockPersonality=yes
SystemCallFilter=~@clock @debug @module @mount @obsolete @reboot @setuid @swap

# Denying access to capabilities that should not be relevant for webapps
# Doc: https://man7.org/linux/man-pages/man7/capabilities.7.html
CapabilityBoundingSet=~CAP_RAWIO CAP_MKNOD
CapabilityBoundingSet=~CAP_AUDIT_CONTROL CAP_AUDIT_READ CAP_AUDIT_WRITE
CapabilityBoundingSet=~CAP_SYS_BOOT CAP_SYS_TIME CAP_SYS_MODULE CAP_SYS_PACCT
CapabilityBoundingSet=~CAP_LEASE CAP_LINUX_IMMUTABLE CAP_IPC_LOCK
CapabilityBoundingSet=~CAP_BLOCK_SUSPEND CAP_WAKE_ALARM
CapabilityBoundingSet=~CAP_SYS_TTY_CONFIG
CapabilityBoundingSet=~CAP_MAC_ADMIN CAP_MAC_OVERRIDE
CapabilityBoundingSet=~CAP_NET_ADMIN CAP_NET_BROADCAST CAP_NET_RAW
CapabilityBoundingSet=~CAP_SYS_ADMIN CAP_SYS_PTRACE CAP_SYSLOG

[Install]
WantedBy=multi-user.target
9 changes: 6 additions & 3 deletions conf/systemd.service → conf/ml.service
@@ -1,14 +1,17 @@
[Unit]
Description=Small description of the service
Description=Immich
After=network.target

[Service]
Type=simple
User=__APP__
Group=__APP__
WorkingDirectory=__FINALPATH__/
ExecStart=__FINALPATH__/script
StandardOutput=append:/var/log/__APP__/__APP__.log
Environment="NODE_ENV=production"
Environment="__YNH_NODE_LOAD_PATH__"
EnvironmentFile=__FINALPATH__/.env
ExecStart=__YNH_NODE__ ml/dist/main.js
StandardOutput=append:/var/log/__APP__/__APP__-ml.log
StandardError=inherit

# Sandboxing options to harden security
Expand Down