diff --git a/.gitignore b/.gitignore index 41e55ba..c54a96c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,6 @@ +core + cloudflare/tailscale/ media/audiobookshelf/ ntfy/*/ @@ -6,8 +8,12 @@ vaultwarden/*/ pinchflat/config/ homepage/config/logs/ speedtest/config/ -caddy/ts-caddy/ +caddy/caddy* diun/data/ +filebrowser/*.db +nginxproxymanager/data +nginxproxymanager/letsencrypt +nginxproxymanager/mysql # stirling pdf/stirling/latest/data/ diff --git a/adguard/docker-compose.yml b/adguard/docker-compose.yml index 6a8b54c..dda44ea 100644 --- a/adguard/docker-compose.yml +++ b/adguard/docker-compose.yml @@ -18,4 +18,3 @@ volumes: driver: local work: driver: local -networks: {} diff --git a/caddy/Caddyfile b/caddy/Caddyfile new file mode 100644 index 0000000..44b0068 --- /dev/null +++ b/caddy/Caddyfile @@ -0,0 +1,9 @@ +{ + debug + email peter@peterwood.dev +} + +jellyfin.peterwood.rocks { + encode gzip + reverse_proxy host.docker.internal:8096 +} diff --git a/caddy/docker-compose.yml b/caddy/docker-compose.yml index b533477..6106a0c 100644 --- a/caddy/docker-compose.yml +++ b/caddy/docker-compose.yml @@ -1,20 +1,20 @@ services: - ts-caddy: - image: tailscale/tailscale:latest - container_name: ts-caddy - hostname: ts-caddy - environment: - - TS_AUTHKEY:${TAILSCALE_AUTHKEY} - - TS_SOCKET:/var/run/tailscale/tailscaled.sock - volumes: - - ${PWD}/ts-caddy/state:/var/lib/tailscale - - /dev/net/tun:/dev/net/tun - cap_add: - - net_admin - - sys_module - restart: unless-stopped - labels: - - diun.enable=true + caddy: image: caddy/caddy:latest - network_mode: service:ts-caddy \ No newline at end of file + restart: always + ports: + - 80:80 + - 443:443 + - 443:443/udp + volumes: + - ./Caddyfile:/etc/caddy/Caddyfile + - caddy_data:/data + - caddy_config:/config + extra_hosts: + - host.docker.internal:host-gateway + labels: + - diun.enable=true +volumes: + caddy_data: + caddy_config: diff --git a/dozzle/docker-compose.yml b/dozzle/docker-compose.yml index 8d3d760..536c41b 100644 --- a/dozzle/docker-compose.yml +++ b/dozzle/docker-compose.yml @@ -6,8 +6,13 @@ services: ports: - 9999:8080 environment: - # DOZZLE_REMOTE_HOST: tcp://ts-racknerd:2375|vperanda,tcp://ts-europa:2375 + # DOZZLE_REMOTE_HOST: tcp://ts-rackerd:2375|racknerd,tcp://ts-svr-office:2375|svr-office DOZZLE_HOSTNAME: ${HOSTNAME} + DOZZLE_ENABLE_ACTIONS: true + DOZZLE_AUTH_PROVIDER: forward-proxy + DOZZLE_AUTH_HEADER_USER: ${DOZZLE_AUTH_HEADER_USER} + DOZZLE_AUTH_HEADER_EMAIL: ${DOZZLE_AUTH_HEADER_EMAIL} + DOZZLE_AUTH_HEADER_NAME: ${DOZZLE_AUTH_HEADER_NAME} restart: unless-stopped labels: - diun.enable=true diff --git a/filebrowser/compose.yaml b/filebrowser/compose.yaml new file mode 100644 index 0000000..e2e647f --- /dev/null +++ b/filebrowser/compose.yaml @@ -0,0 +1,14 @@ +services: + filebrowser: + image: filebrowser/filebrowser:latest + container_name: filebrowser + restart: unless-stopped + volumes: + - /mnt/share/media/tv:/srv + - ./database.db:/database.db + environment: + - PUID=1000 + - PGID=1000 + ports: + - 8212:80 +networks: {} diff --git a/immich/docker-compose.yml b/immich/docker-compose.yml new file mode 100644 index 0000000..518f99a --- /dev/null +++ b/immich/docker-compose.yml @@ -0,0 +1,79 @@ +# +# WARNING: 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 + 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, openvino] 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, openvino, openvino-wsl] for accelerated inference - use the `-wsl` version for WSL2 where applicable + volumes: + - model-cache:/cache + env_file: + - .env + restart: always + healthcheck: + disable: false + redis: + container_name: immich_redis + image: docker.io/redis:6.2-alpine@sha256:905c4ee67b8e0aa955331960d2aa745781e6bd89afc44a8584bfd13bc890f0ae + healthcheck: + test: redis-cli ping || exit 1 + restart: always + database: + container_name: immich_postgres + image: docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0 + environment: + POSTGRES_PASSWORD: ${DB_PASSWORD} + POSTGRES_USER: ${DB_USERNAME} + POSTGRES_DB: ${DB_DATABASE_NAME} + POSTGRES_INITDB_ARGS: --data-checksums + 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 + healthcheck: + test: pg_isready --dbname="$${POSTGRES_DB}" --username="$${POSTGRES_USER}" || + exit 1; Chksum="$$(psql --dbname="$${POSTGRES_DB}" + --username="$${POSTGRES_USER}" --tuples-only --no-align + --command='SELECT COALESCE(SUM(checksum_failures), 0) FROM + pg_stat_database')"; echo "checksum failure count is $$Chksum"; [ + "$$Chksum" = '0' ] || exit 1 + interval: 5m + start_interval: 30s + 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 + restart: always +volumes: + model-cache: null +networks: {}