diff --git a/immich/README.md b/immich/README.md new file mode 100644 index 0000000..c75ae38 --- /dev/null +++ b/immich/README.md @@ -0,0 +1,6 @@ +# Immich + +[Documentation](https://immich.app/docs/install/docker-compose/) + +Port: 2283 + diff --git a/immich/docker-compose.yml b/immich/docker-compose.yml new file mode 100644 index 0000000..284e837 --- /dev/null +++ b/immich/docker-compose.yml @@ -0,0 +1,73 @@ +services: + 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 + - ${VOL_PATH:-./data}/immich-upload:/usr/src/app/upload + - /etc/localtime:/etc/localtime:ro + env_file: + - .env + depends_on: + - redis + - database + healthcheck: + disable: false + networks: + - immich-net + - proxy + + 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: + - ${VOL_PATH:-./data}/model-cache:/cache + env_file: + - .env + healthcheck: + disable: false + networks: + - immich-net + + immich-redis: + image: docker.io/redis:6.2-alpine@sha256:eaba718fecd1196d88533de7ba49bf903ad33664a92debb24660a922ecd9cac8 + healthcheck: + test: redis-cli ping || exit 1 + networks: + - immich-net + + 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: + - ${VOL_PATH:-./data}/immich-postgres:/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 + networks: + - immich-net diff --git a/immich/sample-extends.yml b/immich/sample-extends.yml new file mode 100644 index 0000000..e69de29 diff --git a/immich/sample.env b/immich/sample.env new file mode 100644 index 0000000..9ad3af3 --- /dev/null +++ b/immich/sample.env @@ -0,0 +1,21 @@ +# You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variables + +# The location where your uploaded files are stored +UPLOAD_LOCATION=./library +# The location where your database files are stored +DB_DATA_LOCATION=./postgres + +# To set a timezone, uncomment the next line and change Etc/UTC to a TZ identifier from this list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List +# TZ=Etc/UTC + +# The Immich version to use. You can pin this to a specific version like "v1.71.0" +IMMICH_VERSION=release + +# Connection secret for postgres. You should change it to a random password +# Please use only the characters `A-Za-z0-9`, without special characters or spaces +DB_PASSWORD=postgres + +# The values below this line do not need to be changed +################################################################################### +DB_USERNAME=postgres +DB_DATABASE_NAME=immich diff --git a/jellyfin/docker-compose.yml b/jellyfin/docker-compose.yml index 4914810..133b8e1 100644 --- a/jellyfin/docker-compose.yml +++ b/jellyfin/docker-compose.yml @@ -1,5 +1,3 @@ -version: '3.8' - services: jellyfin: image: ${JELLYFIN_IMAGE:-jellyfin/jellyfin:latest} diff --git a/portainer/docker-compose.yml b/portainer/docker-compose.yml index 26e783b..7b52ea5 100644 --- a/portainer/docker-compose.yml +++ b/portainer/docker-compose.yml @@ -1,5 +1,3 @@ -version: '3' - services: portainer: image: ${PORTAINER_IMAGE:-portainer/portainer-ce:latest} @@ -26,4 +24,3 @@ services: restart: always networks: - portainer-net - diff --git a/wallabag/docker-compose.yml b/wallabag/docker-compose.yml index cd4140a..93c89ae 100644 --- a/wallabag/docker-compose.yml +++ b/wallabag/docker-compose.yml @@ -1,5 +1,4 @@ -version: '3.8' - +--- services: wallabag: image: ${WALLABAG_IMAGE:-wallabag/wallabag:latest} diff --git a/watchtower/docker-compose.yml b/watchtower/docker-compose.yml index 106744a..3f13e7f 100644 --- a/watchtower/docker-compose.yml +++ b/watchtower/docker-compose.yml @@ -1,5 +1,4 @@ -version: "3" - +--- services: watchtower: image: ${WATCHTOWER_IMAGE:-containrrr/watchtower:latest} diff --git a/webtop/docker-compose.yml b/webtop/docker-compose.yml index 3b088a1..e0ace04 100644 --- a/webtop/docker-compose.yml +++ b/webtop/docker-compose.yml @@ -1,6 +1,4 @@ --- -version: '3.8' - services: webtop: image: ${WEBTOP_IMAGE:-lscr.io/linuxserver/webtop:debian-xfce} diff --git a/yourls/docker-compose.yml b/yourls/docker-compose.yml index 137eb1b..bd0a3f9 100644 --- a/yourls/docker-compose.yml +++ b/yourls/docker-compose.yml @@ -1,22 +1,3 @@ -################################################################################ -# yourls -# make sure you use the $PREFIX from .env for project_name -# docker-compose -p project_name up -d -# -# -# Version 1 -################################################################################ -version: '3.1' - -volumes: - yourls: - yourls-db: - -networks: - admin_web: - external: - name: admin_web - services: yourls-db: @@ -24,9 +5,9 @@ services: image: mariadb:${DB_V} restart: always volumes: - - yourls-db:/var/lib/mysql + - ${VOL_PATH:-./data}/yourls-db:/var/lib/mysql networks: - - admin_web + - yourls-net environment: MYSQL_ROOT_PASSWORD: ${YOURLS_MYSQL_ROOT_PASSWORD} MYSQL_PASSWORD: ${YOURLS_MYSQL_PASSWORD} @@ -38,9 +19,10 @@ services: image: yourls restart: always volumes: - - yourls:/var/www/html + - ${VOL_PATH:-./data}/yourls:/var/www/html networks: - - admin_web + - yourls-net + - proxy environment: YOURLS_DB_HOST: ${PREFIX}_yourls-db_1 YOURLS_DB_USER: yourls @@ -49,9 +31,3 @@ services: YOURLS_SITE: https://${YOURLS_DOMAIN_NAME} YOURLS_USER: ${YOURLS_USER} YOURLS_PASS: ${YOURLS_PASS} - labels: - - "traefik.enable=true" - - "traefik.http.routers.${PREFIX}_yourls.rule=Host(`${YOURLS_DOMAIN_NAME}`)" - - "traefik.http.routers.${PREFIX}_yourls.entrypoints=websecure" - - "traefik.http.routers.${PREFIX}_yourls.tls.certresolver=letsencrypt" - - "traefik.http.services.${PREFIX}_yourls.loadbalancer.server.port=80" diff --git a/zammad/README.md b/zammad/README.md index abe044f..897c345 100644 --- a/zammad/README.md +++ b/zammad/README.md @@ -1,3 +1,7 @@ +# Zammad + +Work in progress. + Official Documenation: https://docs.zammad.org/en/latest/install/docker-compose.html Official Repository: https://github.com/zammad/zammad-docker-compose/blob/master/docker-compose.yml \ No newline at end of file