feat: Immich
This commit is contained in:
@@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
ansible_user: root
|
||||||
|
ansible_host: 10.0.0.2
|
||||||
|
ansible_ssh_pass: "{{ proxmox_api_password }}"
|
||||||
|
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
ansible_user: root
|
||||||
|
ansible_host: 10.0.2.18
|
||||||
|
ansible_ssh_pass: "{{ proxmox_api_password }}"
|
||||||
|
vmid: 609
|
||||||
@@ -2,6 +2,7 @@ frigate
|
|||||||
swag
|
swag
|
||||||
cloudflare-ddns
|
cloudflare-ddns
|
||||||
dahua-to-mqtt
|
dahua-to-mqtt
|
||||||
|
immich
|
||||||
|
|
||||||
[master]
|
[master]
|
||||||
mipha
|
mipha
|
||||||
@@ -23,6 +24,7 @@ mipha
|
|||||||
epona
|
epona
|
||||||
revali
|
revali
|
||||||
yuga
|
yuga
|
||||||
|
hyrule
|
||||||
|
|
||||||
[pihole]
|
[pihole]
|
||||||
epona-pihole
|
epona-pihole
|
||||||
|
|||||||
@@ -0,0 +1,23 @@
|
|||||||
|
---
|
||||||
|
- hosts: localhost
|
||||||
|
become: yes
|
||||||
|
roles:
|
||||||
|
- role: immich/provision/delete
|
||||||
|
- role: immich/provision/create
|
||||||
|
- role: immich/provision/start
|
||||||
|
vars:
|
||||||
|
vmid: 609
|
||||||
|
|
||||||
|
- hosts: hyrule
|
||||||
|
become: yes
|
||||||
|
roles:
|
||||||
|
- role: immich/enable-ssh
|
||||||
|
vars:
|
||||||
|
vmid: 609
|
||||||
|
|
||||||
|
- hosts: immich
|
||||||
|
become: yes
|
||||||
|
roles:
|
||||||
|
- role: immich/update
|
||||||
|
- role: immich/install-docker
|
||||||
|
- role: immich/install-app
|
||||||
@@ -3,7 +3,7 @@ DB_USERNAME=ANVdeo9LyBqXwKwsCZMnSYe4yApjB7mvKtDE9CTTrMaq2tA3Hn
|
|||||||
DB_PASSWORD=KfVYJXdmN2jJd8BpU2AMGcJ9t9od4NgQrcRc6g9yeqZAZVYo68
|
DB_PASSWORD=KfVYJXdmN2jJd8BpU2AMGcJ9t9od4NgQrcRc6g9yeqZAZVYo68
|
||||||
DB_DATABASE_NAME=immich
|
DB_DATABASE_NAME=immich
|
||||||
REDIS_HOSTNAME=immich_redis
|
REDIS_HOSTNAME=immich_redis
|
||||||
UPLOAD_LOCATION=/export/photos/phone-lino
|
UPLOAD_LOCATION=/photos
|
||||||
LOG_LEVEL=simple
|
LOG_LEVEL=simple
|
||||||
PUBLIC_LOGIN_PAGE_MESSAGE="Photos"
|
PUBLIC_LOGIN_PAGE_MESSAGE="Photos"
|
||||||
NODE_ENV=production
|
NODE_ENV=production
|
||||||
@@ -12,5 +12,3 @@ IMMICH_SERVER_URL=http://immich-server:3001
|
|||||||
IMMICH_MACHINE_LEARNING_URL=http://immich-machine-learning:3003
|
IMMICH_MACHINE_LEARNING_URL=http://immich-machine-learning:3003
|
||||||
TYPESENSE_API_KEY=CmRqRuYpn6KoH4rCVAXaVdKoixvKCMowfjW3JgKQoXKyVPYy8C
|
TYPESENSE_API_KEY=CmRqRuYpn6KoH4rCVAXaVdKoixvKCMowfjW3JgKQoXKyVPYy8C
|
||||||
TYPESENSE_ENABLED=true
|
TYPESENSE_ENABLED=true
|
||||||
|
|
||||||
CONFIG_DIR=/data
|
|
||||||
@@ -5,14 +5,6 @@ services:
|
|||||||
container_name: immich_server
|
container_name: immich_server
|
||||||
image: altran1502/immich-server:release
|
image: altran1502/immich-server:release
|
||||||
entrypoint: [ "/bin/sh", "./start-server.sh" ]
|
entrypoint: [ "/bin/sh", "./start-server.sh" ]
|
||||||
deploy:
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpus: '4'
|
|
||||||
memory: 4096M
|
|
||||||
reservations:
|
|
||||||
cpus: '2'
|
|
||||||
memory: 2048M
|
|
||||||
volumes:
|
volumes:
|
||||||
- ${UPLOAD_LOCATION}:/usr/src/app/upload
|
- ${UPLOAD_LOCATION}:/usr/src/app/upload
|
||||||
env_file:
|
env_file:
|
||||||
@@ -29,14 +21,6 @@ services:
|
|||||||
container_name: immich_microservices
|
container_name: immich_microservices
|
||||||
image: altran1502/immich-server:release
|
image: altran1502/immich-server:release
|
||||||
entrypoint: [ "/bin/sh", "./start-microservices.sh" ]
|
entrypoint: [ "/bin/sh", "./start-microservices.sh" ]
|
||||||
deploy:
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpus: '4'
|
|
||||||
memory: 4096M
|
|
||||||
reservations:
|
|
||||||
cpus: '2'
|
|
||||||
memory: 2048M
|
|
||||||
volumes:
|
volumes:
|
||||||
- ${UPLOAD_LOCATION}:/usr/src/app/upload
|
- ${UPLOAD_LOCATION}:/usr/src/app/upload
|
||||||
env_file:
|
env_file:
|
||||||
@@ -58,22 +42,14 @@ services:
|
|||||||
logging:
|
logging:
|
||||||
driver: none
|
driver: none
|
||||||
volumes:
|
volumes:
|
||||||
- ${CONFIG_DIR}/docker/immich/tsdata:/data
|
- /tsdata:/data
|
||||||
|
|
||||||
immich-machine-learning:
|
immich-machine-learning:
|
||||||
container_name: immich_machine_learning
|
container_name: immich_machine_learning
|
||||||
image: altran1502/immich-machine-learning:release
|
image: altran1502/immich-machine-learning:release
|
||||||
deploy:
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpus: '4'
|
|
||||||
memory: 4096M
|
|
||||||
reservations:
|
|
||||||
cpus: '2'
|
|
||||||
memory: 2048M
|
|
||||||
volumes:
|
volumes:
|
||||||
- ${UPLOAD_LOCATION}:/usr/src/app/upload
|
- ${UPLOAD_LOCATION}:/usr/src/app/upload
|
||||||
- ${CONFIG_DIR}/docker/immich/cache:/cache
|
- /cache:/cache
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
environment:
|
environment:
|
||||||
@@ -101,7 +77,7 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
PG_DATA: /var/lib/postgresql/data
|
PG_DATA: /var/lib/postgresql/data
|
||||||
volumes:
|
volumes:
|
||||||
- ${CONFIG_DIR}/docker/immich/pgsql:/var/lib/postgresql/data
|
- /pgsql:/var/lib/postgresql/data
|
||||||
restart: always
|
restart: always
|
||||||
|
|
||||||
immich-proxy:
|
immich-proxy:
|
||||||
|
|||||||
@@ -1,21 +1,21 @@
|
|||||||
---
|
---
|
||||||
- name: Create container
|
- name: Create container
|
||||||
community.general.proxmox:
|
community.general.proxmox:
|
||||||
vmid: 608
|
vmid: 609
|
||||||
node: revali
|
node: hyrule
|
||||||
api_user: root@pam
|
api_user: root@pam
|
||||||
api_password: "{{ proxmox_api_password }}"
|
api_password: "{{ proxmox_api_password }}"
|
||||||
api_host: 10.0.2.2
|
api_host: 10.0.2.2
|
||||||
password: "{{ lxc_password }}"
|
password: "{{ lxc_password }}"
|
||||||
hostname: dahua-to-mqtt
|
hostname: immich
|
||||||
ostemplate: "hyrule-8tb-nfs:vztmpl/debian-11-standard_11.3-1_amd64.tar.zst"
|
ostemplate: "hyrule-8tb-nfs:vztmpl/debian-11-standard_11.3-1_amd64.tar.zst"
|
||||||
netif: "{'net0':'name=eth0,\
|
netif: "{'net0':'name=eth0,\
|
||||||
gw=10.0.0.1,\
|
gw=10.0.0.1,\
|
||||||
ip=10.0.2.17/21,\
|
ip=10.0.2.18/21,\
|
||||||
hwaddr=cc:c6:cf:de:17:77,\
|
hwaddr=cc:c6:cf:de:17:78,\
|
||||||
bridge=vmbr0'}"
|
bridge=vmbr0'}"
|
||||||
cores: 1
|
cores: 4
|
||||||
memory: 256
|
memory: 8192
|
||||||
unprivileged: no
|
unprivileged: no
|
||||||
swap: 0
|
swap: 0
|
||||||
searchdomain: "home"
|
searchdomain: "home"
|
||||||
@@ -23,5 +23,11 @@
|
|||||||
features:
|
features:
|
||||||
- nesting=1
|
- nesting=1
|
||||||
- keyctl=1
|
- keyctl=1
|
||||||
disk: local-lvm:5
|
mounts: '{
|
||||||
|
"mp0":"ssd250:5,mp=/cache,backup=1",
|
||||||
|
"mp0":"ssd250:5,mp=/tsdata,backup=1",
|
||||||
|
"mp0":"ssd250:5,mp=/pgsql,backup=1",
|
||||||
|
"mp3":"/export/photos/phone-lino,mp=/photos"
|
||||||
|
}'
|
||||||
|
disk: local-lvm:10
|
||||||
force: yes
|
force: yes
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ server {
|
|||||||
|
|
||||||
include /config/nginx/proxy.conf;
|
include /config/nginx/proxy.conf;
|
||||||
include /config/nginx/resolver.conf;
|
include /config/nginx/resolver.conf;
|
||||||
set $upstream_app 10.0.0.2;
|
set $upstream_app 10.0.2.18;
|
||||||
set $upstream_port 8080;
|
set $upstream_port 8080;
|
||||||
set $upstream_proto http;
|
set $upstream_proto http;
|
||||||
proxy_pass $upstream_proto://$upstream_app:$upstream_port;
|
proxy_pass $upstream_proto://$upstream_app:$upstream_port;
|
||||||
|
|||||||
Reference in New Issue
Block a user