commit 83ba093c6a0da53924bf071f25480eac0fda80c3 Author: deceivedhornet Date: Fri Jun 27 03:25:58 2025 -0400 Initial upload diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..dfe0770 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Auto detect text files and perform LF normalization +* text=auto diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..20e36df --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.env +swag +filebrowser-docker diff --git a/caddy/Caddyfile b/caddy/Caddyfile new file mode 100644 index 0000000..c3e4314 --- /dev/null +++ b/caddy/Caddyfile @@ -0,0 +1,31 @@ +{ + email {$EMAIL} + acme_dns porkbun { + api_key {$PORKBUN_API_KEY} + api_secret_key {$PORKBUN_SECRET_KEY} + } + dynamic_dns { + provider porkbun { + api_key {$PORKBUN_API_KEY} + api_secret_key {$PORKBUN_SECRET_KEY} + } + + domains { + dawsonst.ca + + # Update the root domain (example.com) + # dawsonst.ca @ + + # Update a subdomain (sub.example.com) + # example.com sub + } + } +} + +dawsonst.ca { + reverse_proxy immich_server:2283 + + # handle { + # respond "Hello dawsonst.ca 33333" + # } +} diff --git a/caddy/Dockerfile b/caddy/Dockerfile new file mode 100644 index 0000000..b112dd6 --- /dev/null +++ b/caddy/Dockerfile @@ -0,0 +1,9 @@ +FROM caddy:2.10.0-builder AS builder + +RUN xcaddy build \ + --with github.com/caddy-dns/porkbun \ + --with github.com/mholt/caddy-dynamicdns + +FROM caddy:2.10.0 + +COPY --from=builder /usr/bin/caddy /usr/bin/caddy \ No newline at end of file diff --git a/caddy/docker-compose.yaml b/caddy/docker-compose.yaml new file mode 100644 index 0000000..fe8041c --- /dev/null +++ b/caddy/docker-compose.yaml @@ -0,0 +1,25 @@ +services: + caddy: + image: caddy-porkbun + ports: + - "80:80" + - "443:443" + volumes: + - ./Caddyfile:/etc/caddy/Caddyfile + - caddy_data:/data + - caddy_config:/config + #environment: + # - EMAIL=$EMAIL + env_file: + - .env + restart: unless-stopped + networks: + - caddy-network + +networks: + caddy-network: + external: true + +volumes: + caddy_data: + caddy_config: diff --git a/immich-app/docker-compose.yml b/immich-app/docker-compose.yml new file mode 100644 index 0000000..5a2f78c --- /dev/null +++ b/immich-app/docker-compose.yml @@ -0,0 +1,86 @@ +# +# WARNING: To install Immich, follow our guide: https://immich.app/docs/install/docker-compose +# +# Make sure to use the docker-compose.yml of the current release: +# +# https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml +# +# The compose file on main may not be compatible with the latest release. + +name: immich + +services: + immich-server: + container_name: immich_server + image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} + # extends: + # file: hwaccel.transcoding.yml + # service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding + volumes: + # Do not edit the next line. If you want to change the media storage location on your system, edit the value of UPLOAD_LOCATION in the .env file + - ${UPLOAD_LOCATION}:/usr/src/app/upload + - /etc/localtime:/etc/localtime:ro + env_file: + - .env + ports: + - '2283:2283' + networks: + - caddy-network + depends_on: + - redis + - database + restart: always + healthcheck: + disable: false + + immich-machine-learning: + container_name: immich_machine_learning + # For hardware acceleration, add one of -[armnn, cuda, rocm, openvino, rknn] to the image tag. + # Example tag: ${IMMICH_VERSION:-release}-cuda + image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release} + # extends: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/ml-hardware-acceleration + # file: hwaccel.ml.yml + # service: cpu # set to one of [armnn, cuda, rocm, openvino, openvino-wsl, rknn] for accelerated inference - use the `-wsl` version for WSL2 where applicable + volumes: + - model-cache:/cache + env_file: + - .env + networks: + - caddy-network + restart: always + healthcheck: + disable: false + + redis: + container_name: immich_redis + image: docker.io/valkey/valkey:8-bookworm@sha256:fec42f399876eb6faf9e008570597741c87ff7662a54185593e74b09ce83d177 + healthcheck: + test: redis-cli ping || exit 1 + networks: + - caddy-network + restart: always + + database: + container_name: immich_postgres + image: ghcr.io/immich-app/postgres:14-vectorchord0.4.1-pgvectors0.2.0 + environment: + POSTGRES_PASSWORD: ${DB_PASSWORD} + POSTGRES_USER: ${DB_USERNAME} + POSTGRES_DB: ${DB_DATABASE_NAME} + POSTGRES_INITDB_ARGS: '--data-checksums' + # Uncomment the DB_STORAGE_TYPE: 'HDD' var if your database isn't stored on SSDs + # DB_STORAGE_TYPE: 'HDD' + volumes: + # Do not edit the next line. If you want to change the database storage location on your system, edit the value of DB_DATA_LOCATION in the .env file + - ${DB_DATA_LOCATION}:/var/lib/postgresql/data + networks: + - caddy-network + restart: always + +networks: + caddy-network: + external: true + # driver: bridge + +volumes: + model-cache: