immich
This commit is contained in:
+1
-1
@@ -128,4 +128,4 @@ DB_DATABASE_NAME=immich
|
|||||||
# # Examples: http://localhost:3001, http://immich-api.example.com, etc
|
# # Examples: http://localhost:3001, http://immich-api.example.com, etc
|
||||||
# ####################################################################################
|
# ####################################################################################
|
||||||
|
|
||||||
# IMMICH_API_URL_EXTERNAL=https://imm.knast.cc
|
IMMICH_API_URL_EXTERNAL=https://imm.knast.cc
|
||||||
+13
-13
@@ -30,7 +30,7 @@ version: "3.8"
|
|||||||
# depends_on:
|
# depends_on:
|
||||||
# - redis
|
# - redis
|
||||||
# - database
|
# - database
|
||||||
# restart: always
|
# restart: unless-stopped
|
||||||
|
|
||||||
# immich-machine-learning:
|
# immich-machine-learning:
|
||||||
# networks:
|
# networks:
|
||||||
@@ -46,7 +46,7 @@ version: "3.8"
|
|||||||
# - /srv/immich/model-cache:/cache
|
# - /srv/immich/model-cache:/cache
|
||||||
# env_file:
|
# env_file:
|
||||||
# - .env
|
# - .env
|
||||||
# restart: always
|
# restart: unless-stopped
|
||||||
|
|
||||||
# redis:
|
# redis:
|
||||||
# networks:
|
# networks:
|
||||||
@@ -57,7 +57,7 @@ version: "3.8"
|
|||||||
# # image: docker.io/redis:6.2-alpine@sha256:e3b17ba9479deec4b7d1eeec1548a253acc5374d68d3b27937fcfe4df8d18c7e
|
# # image: docker.io/redis:6.2-alpine@sha256:e3b17ba9479deec4b7d1eeec1548a253acc5374d68d3b27937fcfe4df8d18c7e
|
||||||
# # healthcheck:
|
# # healthcheck:
|
||||||
# # test: redis-cli ping || exit 1
|
# # test: redis-cli ping || exit 1
|
||||||
# restart: always
|
# restart: unless-stopped
|
||||||
|
|
||||||
# database:
|
# database:
|
||||||
# networks:
|
# networks:
|
||||||
@@ -77,7 +77,7 @@ version: "3.8"
|
|||||||
# # start_interval: 30s
|
# # start_interval: 30s
|
||||||
# # start_period: 5m
|
# # start_period: 5m
|
||||||
# command: ["postgres", "-c" ,"shared_preload_libraries=vectors.so", "-c", 'search_path="$$user", public, vectors', "-c", "logging_collector=on", "-c", "max_wal_size=2GB", "-c", "shared_buffers=512MB", "-c", "wal_compression=on"]
|
# command: ["postgres", "-c" ,"shared_preload_libraries=vectors.so", "-c", 'search_path="$$user", public, vectors', "-c", "logging_collector=on", "-c", "max_wal_size=2GB", "-c", "shared_buffers=512MB", "-c", "wal_compression=on"]
|
||||||
# restart: always
|
# restart: unless-stopped
|
||||||
|
|
||||||
# volumes:
|
# volumes:
|
||||||
# model-cache:
|
# model-cache:
|
||||||
@@ -98,7 +98,7 @@ services:
|
|||||||
- redis
|
- redis
|
||||||
- database
|
- database
|
||||||
# - typesense
|
# - typesense
|
||||||
restart: always
|
restart: unless-stopped
|
||||||
|
|
||||||
immich-microservices:
|
immich-microservices:
|
||||||
networks:
|
networks:
|
||||||
@@ -114,7 +114,7 @@ services:
|
|||||||
- redis
|
- redis
|
||||||
- database
|
- database
|
||||||
# - typesense
|
# - typesense
|
||||||
restart: always
|
restart: unless-stopped
|
||||||
|
|
||||||
immich-machine-learning:
|
immich-machine-learning:
|
||||||
networks:
|
networks:
|
||||||
@@ -126,7 +126,7 @@ services:
|
|||||||
- /srv/immich/model-cache:/cache
|
- /srv/immich/model-cache:/cache
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
restart: always
|
restart: unless-stopped
|
||||||
|
|
||||||
immich-web:
|
immich-web:
|
||||||
networks:
|
networks:
|
||||||
@@ -136,11 +136,11 @@ services:
|
|||||||
entrypoint: ["/bin/sh", "./entrypoint.sh"]
|
entrypoint: ["/bin/sh", "./entrypoint.sh"]
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
restart: always
|
restart: unless-stopped
|
||||||
labels:
|
labels:
|
||||||
- traefik.enable=true
|
- traefik.enable=true
|
||||||
- "traefik.http.routers.imm.entrypoints=websecure"
|
- "traefik.http.routers.imm.entrypoints=websecure"
|
||||||
- "traefik.http.routers.imm.rule=Host(`imm.$DOMAIN_NAME`)"
|
- "traefik.http.routers.imm.rule=Host(`imm.knast.cc`)"
|
||||||
- "traefik.http.routers.imm.tls.certresolver=letsencr"
|
- "traefik.http.routers.imm.tls.certresolver=letsencr"
|
||||||
# - "traefik.http.services.imm.loadbalancer.server.port=32400"
|
# - "traefik.http.services.imm.loadbalancer.server.port=32400"
|
||||||
|
|
||||||
@@ -156,14 +156,14 @@ services:
|
|||||||
# driver: none
|
# driver: none
|
||||||
# volumes:
|
# volumes:
|
||||||
# - /srv/immich/tsdata:/data
|
# - /srv/immich/tsdata:/data
|
||||||
# restart: always
|
# restart: unless-stopped
|
||||||
|
|
||||||
redis:
|
redis:
|
||||||
container_name: immich_redis
|
container_name: immich_redis
|
||||||
image: redis:6.2
|
image: redis:6.2
|
||||||
networks:
|
networks:
|
||||||
- traefik
|
- traefik
|
||||||
restart: always
|
restart: unless-stopped
|
||||||
|
|
||||||
database:
|
database:
|
||||||
networks:
|
networks:
|
||||||
@@ -179,7 +179,7 @@ services:
|
|||||||
PG_DATA: /var/lib/postgresql/data
|
PG_DATA: /var/lib/postgresql/data
|
||||||
volumes:
|
volumes:
|
||||||
- /srv/immich/pgdata:/var/lib/postgresql/data
|
- /srv/immich/pgdata:/var/lib/postgresql/data
|
||||||
restart: always
|
restart: unless-stopped
|
||||||
|
|
||||||
immich-proxy:
|
immich-proxy:
|
||||||
networks:
|
networks:
|
||||||
@@ -196,7 +196,7 @@ services:
|
|||||||
driver: none
|
driver: none
|
||||||
depends_on:
|
depends_on:
|
||||||
- immich-server
|
- immich-server
|
||||||
restart: always
|
restart: unless-stopped
|
||||||
|
|
||||||
|
|
||||||
# OFFICIAL
|
# OFFICIAL
|
||||||
|
|||||||
@@ -0,0 +1,50 @@
|
|||||||
|
# To see all available options, please visit the docs:
|
||||||
|
# https://docs.fossorial.io/Pangolin/Configuration/config
|
||||||
|
|
||||||
|
app:
|
||||||
|
dashboard_url: "http://localhost:3002"
|
||||||
|
log_level: "info"
|
||||||
|
save_logs: false
|
||||||
|
|
||||||
|
domains:
|
||||||
|
domain1:
|
||||||
|
base_domain: "example.com"
|
||||||
|
cert_resolver: "letsencrypt"
|
||||||
|
|
||||||
|
server:
|
||||||
|
external_port: 3000
|
||||||
|
internal_port: 3001
|
||||||
|
next_port: 3002
|
||||||
|
internal_hostname: "pangolin"
|
||||||
|
session_cookie_name: "p_session_token"
|
||||||
|
resource_access_token_param: "p_token"
|
||||||
|
resource_session_request_param: "p_session_request"
|
||||||
|
|
||||||
|
traefik:
|
||||||
|
http_entrypoint: "web"
|
||||||
|
https_entrypoint: "websecure"
|
||||||
|
|
||||||
|
gerbil:
|
||||||
|
start_port: 51820
|
||||||
|
base_endpoint: "localhost"
|
||||||
|
block_size: 24
|
||||||
|
site_block_size: 30
|
||||||
|
subnet_group: 100.89.137.0/20
|
||||||
|
use_subdomain: true
|
||||||
|
|
||||||
|
rate_limits:
|
||||||
|
global:
|
||||||
|
window_minutes: 1
|
||||||
|
max_requests: 100
|
||||||
|
|
||||||
|
users:
|
||||||
|
server_admin:
|
||||||
|
email: "admin@example.com"
|
||||||
|
password: "Password123!"
|
||||||
|
|
||||||
|
flags:
|
||||||
|
require_email_verification: false
|
||||||
|
disable_signup_without_invite: true
|
||||||
|
disable_user_create_org: true
|
||||||
|
allow_raw_resources: true
|
||||||
|
allow_base_domain_resources: true
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
# To see all available options, please visit the docs:
|
||||||
|
# https://docs.fossorial.io/Pangolin/Configuration/config
|
||||||
|
|
||||||
|
app:
|
||||||
|
dashboard_url: "http://localhost:3002"
|
||||||
|
log_level: "info"
|
||||||
|
save_logs: false
|
||||||
|
|
||||||
|
domains:
|
||||||
|
domain1:
|
||||||
|
base_domain: "example.com"
|
||||||
|
cert_resolver: "letsencrypt"
|
||||||
|
|
||||||
|
server:
|
||||||
|
external_port: 3000
|
||||||
|
internal_port: 3001
|
||||||
|
next_port: 3002
|
||||||
|
internal_hostname: "pangolin"
|
||||||
|
session_cookie_name: "p_session_token"
|
||||||
|
resource_access_token_param: "p_token"
|
||||||
|
resource_session_request_param: "p_session_request"
|
||||||
|
|
||||||
|
traefik:
|
||||||
|
http_entrypoint: "web"
|
||||||
|
https_entrypoint: "websecure"
|
||||||
|
|
||||||
|
gerbil:
|
||||||
|
start_port: 51820
|
||||||
|
base_endpoint: "localhost"
|
||||||
|
block_size: 24
|
||||||
|
site_block_size: 30
|
||||||
|
subnet_group: 100.89.137.0/20
|
||||||
|
use_subdomain: true
|
||||||
|
|
||||||
|
rate_limits:
|
||||||
|
global:
|
||||||
|
window_minutes: 1
|
||||||
|
max_requests: 100
|
||||||
|
|
||||||
|
users:
|
||||||
|
server_admin:
|
||||||
|
email: "admin@example.com"
|
||||||
|
password: "Password123!"
|
||||||
|
|
||||||
|
flags:
|
||||||
|
require_email_verification: false
|
||||||
|
disable_signup_without_invite: true
|
||||||
|
disable_user_create_org: true
|
||||||
|
allow_raw_resources: true
|
||||||
|
allow_base_domain_resources: true
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1 @@
|
|||||||
|
+AFwMsyZ1Wg/UYXZKkkV0K771bwl6950dcFAL23Js0s=
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
name: pangolin
|
||||||
|
services:
|
||||||
|
pangolin:
|
||||||
|
image: fosrl/pangolin:latest
|
||||||
|
container_name: pangolin
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- ./config:/app/config
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "curl", "-f", "http://localhost:3001/api/v1/"]
|
||||||
|
interval: "3s"
|
||||||
|
timeout: "3s"
|
||||||
|
retries: 5
|
||||||
|
|
||||||
|
gerbil:
|
||||||
|
image: fosrl/gerbil:latest
|
||||||
|
container_name: gerbil
|
||||||
|
restart: unless-stopped
|
||||||
|
depends_on:
|
||||||
|
pangolin:
|
||||||
|
condition: service_healthy
|
||||||
|
command:
|
||||||
|
- --reachableAt=http://gerbil:3003
|
||||||
|
- --generateAndSaveKeyTo=/var/config/key
|
||||||
|
- --remoteConfig=http://pangolin:3001/api/v1/gerbil/get-config
|
||||||
|
- --reportBandwidthTo=http://pangolin:3001/api/v1/gerbil/receive-bandwidth
|
||||||
|
volumes:
|
||||||
|
- ./config:/var/config
|
||||||
|
cap_add:
|
||||||
|
- NET_ADMIN
|
||||||
|
- SYS_MODULE
|
||||||
|
ports:
|
||||||
|
- 51820:51820/udp
|
||||||
|
- 443:443 # Port for traefik because of the network_mode
|
||||||
|
- 80:80 # Port for traefik because of the network_mode
|
||||||
|
|
||||||
|
traefik:
|
||||||
|
image: traefik:v3.3.3
|
||||||
|
container_name: traefik
|
||||||
|
restart: unless-stopped
|
||||||
|
network_mode: service:gerbil # Ports appear on the gerbil service
|
||||||
|
depends_on:
|
||||||
|
pangolin:
|
||||||
|
condition: service_healthy
|
||||||
|
command:
|
||||||
|
- --configFile=/etc/traefik/traefik_config.yml
|
||||||
|
volumes:
|
||||||
|
- ./config/traefik:/etc/traefik:ro # Volume to store the Traefik configuration
|
||||||
|
- ./config/letsencrypt:/letsencrypt # Volume to store the Let's Encrypt certificates
|
||||||
|
|
||||||
|
networks:
|
||||||
|
default:
|
||||||
|
driver: bridge
|
||||||
|
name: pangolin
|
||||||
Submodule
+1
Submodule pangolin/pangolin added at eb73da8aa0
Reference in New Issue
Block a user