diff --git a/immich/helm-immich.yaml b/immich/helm-immich.yaml index 7e33a18..5dde9d7 100644 --- a/immich/helm-immich.yaml +++ b/immich/helm-immich.yaml @@ -115,11 +115,18 @@ spec: - host: immich.hensen.io paths: - path: "/" + - host: foto.scoutingmbg.nl + paths: + - path: "/" + service: + name: sol-auth-svc + port: + name: http-svc tls: - secretName: letsencrypt-prod hosts: - immich.hensen.io - + - foto.scoutingmbg.nl machine-learning: enabled: true diff --git a/immich/httpd.conf-cm.yml b/immich/httpd.conf-cm.yml new file mode 100644 index 0000000..3ef8051 --- /dev/null +++ b/immich/httpd.conf-cm.yml @@ -0,0 +1,146 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: httpd-conf +data: + httpd.conf: | + ServerRoot "/usr/local/apache2" + Listen 8002 + LoadModule mpm_event_module modules/mod_mpm_event.so + LoadModule authn_core_module modules/mod_authn_core.so + LoadModule authz_core_module modules/mod_authz_core.so + LoadModule xml2enc_module modules/mod_xml2enc.so + LoadModule proxy_html_module modules/mod_proxy_html.so + LoadModule log_config_module modules/mod_log_config.so + LoadModule headers_module modules/mod_headers.so + LoadModule proxy_module modules/mod_proxy.so + LoadModule proxy_http_module modules/mod_proxy_http.so + LoadModule http2_module modules/mod_http2.so + LoadModule proxy_http2_module modules/mod_proxy_http2.so + LoadModule unixd_module modules/mod_unixd.so + LoadModule authopenid_module /usr/lib/apache2/modules/mod_auth_openid.so + LoadModule dir_module modules/mod_dir.so + LoadModule alias_module modules/mod_alias.so + LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so + LoadModule rewrite_module modules/mod_rewrite.so + + MaxConnectionsPerChild 30 + + + User www-data + Group www-data + + + ServerAdmin webmaster@scoutingmbg.nl + ServerName foto.scoutingmbg.nl + + + AllowOverride none + Require all denied + + + DocumentRoot "/usr/local/apache2/htdocs" + + + Options Indexes FollowSymLinks + AllowOverride None + + + + AuthType OpenID + require valid-user + + AuthOpenIDDBLocation /tmp/mod_auth_openid.db + AuthOpenIDTrusted ^https://login.scouting.nl/.*$ ^https://login.scouting.nl/user/$ + AuthOpenIDUseCookie On + AuthOpenIDCookieName open_id_session_id + AuthOpenIDCookieLifespan 31536000 + AuthOpenIDServerName https://foto.scoutingmbg.nl + AuthOpenIDSingleIdP https://login.scouting.nl/user/ + AuthOpenIDSecureCookie On + + + + AuthType None + Require all granted + + + + AuthType None + Require all granted + + + + AuthType None + Require all granted + + + + AuthType None + Require all granted + + + + AuthType None + Require all granted + + + AllowEncodedSlashes NoDecode + ProxyPreserveHost Off + + RewriteEngine on + RewriteCond %{HTTP:Upgrade} websocket [NC] + RewriteCond %{HTTP:Connection} upgrade [NC] + RewriteRule ^/?(.*) "ws://mbg-photoprism-svc:2342/$1" [P,L] + + ProxyPass / http://helm-immich-server:2283/ + ProxyPassReverse / http://helm-immich-server:2283/ + ProxyRequests off + + Header always set Access-Control-Allow-Origin "*" + Header always set Access-Control-Max-Age "1000" + Header always set Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization, accept, client-security-token" + + + DirectoryIndex index.html + + + + Require all denied + + + ErrorLog /proc/self/fd/2 + LogLevel warn + + + LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined + LogFormat "%h %l %u %t \"%r\" %>s %b" common + + LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio + + CustomLog /proc/self/fd/1 common + + + + ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi-bin/" + + + AllowOverride None + Options None + Require all granted + + + RequestHeader unset Proxy early + + + TypesConfig conf/mime.types + AddType application/x-compress .Z + AddType application/x-gzip .gz .tgz + + + Include conf/extra/proxy-html.conf + + + SSLRandomSeed startup builtin + SSLRandomSeed connect builtin + diff --git a/immich/sol-auth-deployment.yml b/immich/sol-auth-deployment.yml new file mode 100644 index 0000000..6f3783f --- /dev/null +++ b/immich/sol-auth-deployment.yml @@ -0,0 +1,40 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: sol-auth +spec: + replicas: 1 + selector: + matchLabels: + app: sol-auth + template: + metadata: + labels: + app: sol-auth + spec: + # securityContext: + # runAsUser: 1000 + # runAsGroup: 1000 + # fsGroup: 1000 + containers: + - image: hebury/sol-auth:2.2 + name: sol-auth + resources: + requests: + memory: "50Mi" + limits: + memory: "500Mi" + ports: + - name: http + containerPort: 8002 + hostPort: 8002 + protocol: TCP + volumeMounts: + - name: config-volume + mountPath: /config/ + volumes: + - name: config-volume + configMap: + name: httpd-conf + restartPolicy: Always + terminationGracePeriodSeconds: 5 \ No newline at end of file diff --git a/immich/sol-auth-service.yaml b/immich/sol-auth-service.yaml new file mode 100644 index 0000000..938d4d1 --- /dev/null +++ b/immich/sol-auth-service.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: Service +metadata: + name: sol-auth-svc +spec: + ports: + - name: http-svc + port: 8002 + targetPort: 8002 + selector: + app: sol-auth +status: + loadBalancer: {}