From fba8098a0a4709c44fbc218023c9fe09b23e2ef3 Mon Sep 17 00:00:00 2001 From: Nicolas Meienberger Date: Thu, 13 Oct 2022 23:06:59 +0200 Subject: [PATCH] app: update various --- apps/firefly-iii/config.json | 4 +- apps/firefly-iii/docker-compose.yml | 2 +- apps/immich/docker-compose.yml | 38 +++++++------ apps/joplin/docker-compose.yml | 25 ++++---- apps/monerod/config.json | 4 +- apps/monerod/docker-compose.yml | 2 +- apps/n8n/docker-compose.yml | 28 ++++----- apps/navidrome/config.json | 2 +- apps/navidrome/docker-compose.yml | 2 +- apps/nextcloud/docker-compose.yml | 72 ++++++++++++------------ apps/photoprism/docker-compose.arm.yml | 64 +++++++++++++++++++++ apps/photoprism/docker-compose.arm64.yml | 64 +++++++++++++++++++++ apps/searxng/config.json | 4 +- apps/searxng/docker-compose.yml | 2 +- 14 files changed, 223 insertions(+), 90 deletions(-) create mode 100644 apps/photoprism/docker-compose.arm.yml create mode 100644 apps/photoprism/docker-compose.arm64.yml diff --git a/apps/firefly-iii/config.json b/apps/firefly-iii/config.json index 166525ba..44909866 100644 --- a/apps/firefly-iii/config.json +++ b/apps/firefly-iii/config.json @@ -3,8 +3,8 @@ "name": "Firefly III", "available": true, "port": 8115, - "tipi_version": 1, - "version": "latest", + "tipi_version": 2, + "version": "version-5.7.11", "id": "firefly-iii", "categories": ["finance"], "description": "", diff --git a/apps/firefly-iii/docker-compose.yml b/apps/firefly-iii/docker-compose.yml index 58159244..f6546f5e 100644 --- a/apps/firefly-iii/docker-compose.yml +++ b/apps/firefly-iii/docker-compose.yml @@ -2,7 +2,7 @@ version: '3.9' services: firefly-iii: - image: fireflyiii/core:latest + image: fireflyiii/core:version-5.7.11 container_name: firefly-iii restart: unless-stopped volumes: diff --git a/apps/immich/docker-compose.yml b/apps/immich/docker-compose.yml index 7f05f845..63442937 100644 --- a/apps/immich/docker-compose.yml +++ b/apps/immich/docker-compose.yml @@ -1,6 +1,25 @@ version: "3.7" services: + immich: + container_name: immich + image: altran1502/immich-proxy:release + ports: + - ${APP_PORT}:8080 + depends_on: + - immich-web + - immich-server + restart: unless-stopped + networks: + - tipi_main_network + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.immich.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.immich.entrypoints: websecure + traefik.http.routers.immich.service: immich + traefik.http.routers.immich.tls.certresolver: myresolver + traefik.http.services.immich.loadbalancer.server.port: 8080 + immich-server: container_name: immich-server image: altran1502/immich-server:release @@ -93,23 +112,6 @@ services: networks: - tipi_main_network - immich: - container_name: immich - image: altran1502/immich-proxy:release - ports: - - ${APP_PORT}:8080 - depends_on: - - immich-web - - immich-server - restart: unless-stopped - networks: - - tipi_main_network - labels: - traefik.enable: ${APP_EXPOSED} - traefik.http.routers.immich.rule: Host(`${APP_DOMAIN}`) - traefik.http.routers.immich.entrypoints: websecure - traefik.http.routers.immich.service: immich - traefik.http.routers.immich.tls.certresolver: myresolver - traefik.http.services.immich.loadbalancer.server.port: 8080 + diff --git a/apps/joplin/docker-compose.yml b/apps/joplin/docker-compose.yml index ede61cfd..4ee1c098 100644 --- a/apps/joplin/docker-compose.yml +++ b/apps/joplin/docker-compose.yml @@ -1,19 +1,6 @@ version: "3.7" services: - db-joplin: - container_name: db-joplin - image: postgres:14.2 - volumes: - - ${APP_DATA_DIR}/data/postgres:/var/lib/postgresql/data - restart: unless-stopped - environment: - - POSTGRES_PASSWORD=${JOPLIN_DB_PASSWORD} - - POSTGRES_USER=tipi - - POSTGRES_DB=joplin - networks: - - tipi_main_network - joplin: container_name: joplin image: florider89/joplin-server:2.7.4 @@ -46,3 +33,15 @@ services: traefik.http.services.joplin.loadbalancer.passhostheader: true traefik.http.middlewares.joplin-sslheader.headers.customrequestheaders.X-Forwarded-Proto: http traefik.http.routers.joplin-sslheader.middlewares: joplin-sslheader@docker + db-joplin: + container_name: db-joplin + image: postgres:14.2 + volumes: + - ${APP_DATA_DIR}/data/postgres:/var/lib/postgresql/data + restart: unless-stopped + environment: + - POSTGRES_PASSWORD=${JOPLIN_DB_PASSWORD} + - POSTGRES_USER=tipi + - POSTGRES_DB=joplin + networks: + - tipi_main_network diff --git a/apps/monerod/config.json b/apps/monerod/config.json index ffc0b42d..4c468b14 100644 --- a/apps/monerod/config.json +++ b/apps/monerod/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 18080, "id": "monerod", - "tipi_version": 1, - "version": "latest", + "tipi_version": 2, + "version": "v0.18.1.1", "categories": ["finance"], "description": "A device on the Internet running the Monero software, with a full copy of the Monero blockchain, actively assisting the Monero network. This is a simple and straightforward Dockerized monerod built from source and exposing standard ports. Please note that running this requires >50GB of free disk space and is best run on solid-state (SSD) storage.", "short_desc": "Monero is a private, decentralized cryptocurrency that keeps your finances confidential and secure.", diff --git a/apps/monerod/docker-compose.yml b/apps/monerod/docker-compose.yml index 91246f48..f7e7d5de 100644 --- a/apps/monerod/docker-compose.yml +++ b/apps/monerod/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.7" services: monerod: - image: sethsimmons/simple-monerod:latest + image: sethsimmons/simple-monerod:v0.18.1.1 dns: - ${DNS_IP} ports: diff --git a/apps/n8n/docker-compose.yml b/apps/n8n/docker-compose.yml index efb85ae8..bbed9ab6 100644 --- a/apps/n8n/docker-compose.yml +++ b/apps/n8n/docker-compose.yml @@ -1,19 +1,6 @@ version: "3.7" services: - db-n8n: - container_name: db-n8n - image: postgres:14.2 - restart: on-failure - volumes: - - ${APP_DATA_DIR}/data/db:/var/lib/postgresql/data - environment: - - POSTGRES_PASSWORD=${DB_PASSWORD} - - POSTGRES_USER=tipi - - POSTGRES_DB=n8n - networks: - - tipi_main_network - n8n: container_name: n8n image: n8nio/n8n:0.195.5 @@ -34,3 +21,18 @@ services: - db-n8n networks: - tipi_main_network + + db-n8n: + container_name: db-n8n + image: postgres:14.2 + restart: on-failure + volumes: + - ${APP_DATA_DIR}/data/db:/var/lib/postgresql/data + environment: + - POSTGRES_PASSWORD=${DB_PASSWORD} + - POSTGRES_USER=tipi + - POSTGRES_DB=n8n + networks: + - tipi_main_network + + diff --git a/apps/navidrome/config.json b/apps/navidrome/config.json index c1988935..fe491219 100644 --- a/apps/navidrome/config.json +++ b/apps/navidrome/config.json @@ -5,7 +5,7 @@ "exposable": true, "id": "navidrome", "description": "Modern Music Server and Streamer compatible with Subsonic/Airsonic", - "tipi_version": 1, + "tipi_version": 2, "version": "0.47.5", "categories": ["media", "music"], "short_desc": "A selfhosted music server", diff --git a/apps/navidrome/docker-compose.yml b/apps/navidrome/docker-compose.yml index 3ab05e84..52c90140 100644 --- a/apps/navidrome/docker-compose.yml +++ b/apps/navidrome/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: navidrome: container_name: navidrome - image: deluan/navidrome:latest + image: deluan/navidrome:0.47.5 ports: - ${APP_PORT}:4533 restart: unless-stopped diff --git a/apps/nextcloud/docker-compose.yml b/apps/nextcloud/docker-compose.yml index afa11302..2aa902af 100644 --- a/apps/nextcloud/docker-compose.yml +++ b/apps/nextcloud/docker-compose.yml @@ -1,41 +1,6 @@ version: "3.7" services: - db-nextcloud: - container_name: db-nextcloud - image: postgres:14.2 - restart: on-failure - volumes: - - ${APP_DATA_DIR}/data/db:/var/lib/postgresql/data - environment: - - POSTGRES_PASSWORD=tipi - - POSTGRES_USER=tipi - - POSTGRES_DB=nextcloud - networks: - - tipi_main_network - - redis-nextcloud: - container_name: redis-nextcloud - user: "1000:1000" - image: redis:6.2.6 - restart: on-failure - volumes: - - "${APP_DATA_DIR}/data/redis:/data" - networks: - - tipi_main_network - - cron: - image: nextcloud:24.0.4-apache - restart: on-failure - volumes: - - ${APP_DATA_DIR}/data/nextcloud:/var/www/html - entrypoint: /cron.sh - depends_on: - - db-nextcloud - - redis-nextcloud - networks: - - tipi_main_network - nextcloud: container_name: nextcloud image: nextcloud:24.0.4-apache @@ -80,3 +45,40 @@ services: traefik.http.middlewares.nextcloud.headers.customRequestHeaders.X-Forwarded-Proto: https traefik.http.middlewares.nextcloud-https.redirectscheme.scheme: https traefik.http.routers.nextcloud-http.middlewares: nextcloud-https@docker + + db-nextcloud: + container_name: db-nextcloud + image: postgres:14.2 + restart: on-failure + volumes: + - ${APP_DATA_DIR}/data/db:/var/lib/postgresql/data + environment: + - POSTGRES_PASSWORD=tipi + - POSTGRES_USER=tipi + - POSTGRES_DB=nextcloud + networks: + - tipi_main_network + + redis-nextcloud: + container_name: redis-nextcloud + user: "1000:1000" + image: redis:6.2.6 + restart: on-failure + volumes: + - "${APP_DATA_DIR}/data/redis:/data" + networks: + - tipi_main_network + + cron: + image: nextcloud:24.0.4-apache + restart: on-failure + volumes: + - ${APP_DATA_DIR}/data/nextcloud:/var/www/html + entrypoint: /cron.sh + depends_on: + - db-nextcloud + - redis-nextcloud + networks: + - tipi_main_network + + diff --git a/apps/photoprism/docker-compose.arm.yml b/apps/photoprism/docker-compose.arm.yml new file mode 100644 index 00000000..d75bd770 --- /dev/null +++ b/apps/photoprism/docker-compose.arm.yml @@ -0,0 +1,64 @@ +version: "3.7" +services: + photoprism: + image: photoprism/photoprism:armv7 + container_name: photoprism + depends_on: + - photoprism-db + restart: unless-stopped + ports: + - "${APP_PORT}:2342" + environment: + PHOTOPRISM_ADMIN_PASSWORD: ${PHOTOPRISM_ADMIN_PASSWORD} + PHOTOPRISM_SITE_URL: "${APP_PROTOCOL:-http}://${APP_DOMAIN}/" + PHOTOPRISM_ORIGINALS_LIMIT: 5000 + PHOTOPRISM_HTTP_COMPRESSION: "gzip" + PHOTOPRISM_LOG_LEVEL: "info" + PHOTOPRISM_PUBLIC: "false" + PHOTOPRISM_READONLY: "false" + PHOTOPRISM_EXPERIMENTAL: "false" + PHOTOPRISM_DISABLE_CHOWN: "false" + PHOTOPRISM_DISABLE_WEBDAV: "false" + PHOTOPRISM_DISABLE_SETTINGS: "false" + PHOTOPRISM_DISABLE_TENSORFLOW: "false" + PHOTOPRISM_DISABLE_FACES: "false" + PHOTOPRISM_DISABLE_CLASSIFICATION: "false" + PHOTOPRISM_DISABLE_RAW: "false" + PHOTOPRISM_RAW_PRESETS: "false" + PHOTOPRISM_JPEG_QUALITY: 85 + PHOTOPRISM_DETECT_NSFW: "false" + PHOTOPRISM_UPLOAD_NSFW: "true" + PHOTOPRISM_DATABASE_DRIVER: "mysql" + PHOTOPRISM_DATABASE_SERVER: "photoprism-db:3306" + PHOTOPRISM_DATABASE_NAME: "photoprism" + PHOTOPRISM_DATABASE_USER: "photoprism" + PHOTOPRISM_DATABASE_PASSWORD: "${DB_PASSWORD}" + PHOTOPRISM_SITE_CAPTION: "AI-Powered Photos App" + working_dir: "/photoprism" + volumes: + - "${ROOT_FOLDER_HOST}/media/data/images:/photoprism/originals" + - "${APP_DATA_DIR}/data/photoprism/storage:/photoprism/storage" + networks: + - tipi_main_network + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.photoprism.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.photoprism.entrypoints: websecure + traefik.http.routers.photoprism.service: photoprism + traefik.http.routers.photoprism.tls.certresolver: myresolver + traefik.http.services.photoprism.loadbalancer.server.port: 2342 + + photoprism-db: + restart: unless-stopped + image: mariadb:10.8 + container_name: photoprism-db + command: mysqld --innodb-buffer-pool-size=128M --transaction-isolation=READ-COMMITTED --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --max-connections=512 --innodb-rollback-on-timeout=OFF --innodb-lock-wait-timeout=120 + volumes: + - "${APP_DATA_DIR}/data/mariadb:/var/lib/mysql" + environment: + MARIADB_DATABASE: "photoprism" + MARIADB_USER: "photoprism" + MARIADB_PASSWORD: "${DB_PASSWORD}" + MARIADB_ROOT_PASSWORD: "${DB_ROOT_PASSWORD}" + networks: + - tipi_main_network diff --git a/apps/photoprism/docker-compose.arm64.yml b/apps/photoprism/docker-compose.arm64.yml new file mode 100644 index 00000000..d4ee1e8e --- /dev/null +++ b/apps/photoprism/docker-compose.arm64.yml @@ -0,0 +1,64 @@ +version: "3.7" +services: + photoprism: + image: photoprism/photoprism:latest + container_name: photoprism + depends_on: + - photoprism-db + restart: unless-stopped + ports: + - "${APP_PORT}:2342" + environment: + PHOTOPRISM_ADMIN_PASSWORD: ${PHOTOPRISM_ADMIN_PASSWORD} + PHOTOPRISM_SITE_URL: "${APP_PROTOCOL:-http}://${APP_DOMAIN}/" + PHOTOPRISM_ORIGINALS_LIMIT: 5000 + PHOTOPRISM_HTTP_COMPRESSION: "gzip" + PHOTOPRISM_LOG_LEVEL: "info" + PHOTOPRISM_PUBLIC: "false" + PHOTOPRISM_READONLY: "false" + PHOTOPRISM_EXPERIMENTAL: "false" + PHOTOPRISM_DISABLE_CHOWN: "false" + PHOTOPRISM_DISABLE_WEBDAV: "false" + PHOTOPRISM_DISABLE_SETTINGS: "false" + PHOTOPRISM_DISABLE_TENSORFLOW: "false" + PHOTOPRISM_DISABLE_FACES: "false" + PHOTOPRISM_DISABLE_CLASSIFICATION: "false" + PHOTOPRISM_DISABLE_RAW: "false" + PHOTOPRISM_RAW_PRESETS: "false" + PHOTOPRISM_JPEG_QUALITY: 85 + PHOTOPRISM_DETECT_NSFW: "false" + PHOTOPRISM_UPLOAD_NSFW: "true" + PHOTOPRISM_DATABASE_DRIVER: "mysql" + PHOTOPRISM_DATABASE_SERVER: "photoprism-db:3306" + PHOTOPRISM_DATABASE_NAME: "photoprism" + PHOTOPRISM_DATABASE_USER: "photoprism" + PHOTOPRISM_DATABASE_PASSWORD: "${DB_PASSWORD}" + PHOTOPRISM_SITE_CAPTION: "AI-Powered Photos App" + working_dir: "/photoprism" + volumes: + - "${ROOT_FOLDER_HOST}/media/data/images:/photoprism/originals" + - "${APP_DATA_DIR}/data/photoprism/storage:/photoprism/storage" + networks: + - tipi_main_network + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.photoprism.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.photoprism.entrypoints: websecure + traefik.http.routers.photoprism.service: photoprism + traefik.http.routers.photoprism.tls.certresolver: myresolver + traefik.http.services.photoprism.loadbalancer.server.port: 2342 + + photoprism-db: + restart: unless-stopped + image: mariadb:10.8 + container_name: photoprism-db + command: mysqld --innodb-buffer-pool-size=128M --transaction-isolation=READ-COMMITTED --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --max-connections=512 --innodb-rollback-on-timeout=OFF --innodb-lock-wait-timeout=120 + volumes: + - "${APP_DATA_DIR}/data/mariadb:/var/lib/mysql" + environment: + MARIADB_DATABASE: "photoprism" + MARIADB_USER: "photoprism" + MARIADB_PASSWORD: "${DB_PASSWORD}" + MARIADB_ROOT_PASSWORD: "${DB_ROOT_PASSWORD}" + networks: + - tipi_main_network diff --git a/apps/searxng/config.json b/apps/searxng/config.json index d0ffafb8..9b1e77fb 100644 --- a/apps/searxng/config.json +++ b/apps/searxng/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 8127, "id": "searxng", - "tipi_version": 1, - "version": "latest", + "tipi_version": 2, + "version": "2022.10.11-a7337612", "categories": ["social"], "description": "SearXNG is a free internet metasearch engine which aggregates results from various search services and databases. Users are neither tracked nor profiled.", "short_desc": "Privacy-respecting, hackable metasearch engine", diff --git a/apps/searxng/docker-compose.yml b/apps/searxng/docker-compose.yml index 6a261867..f5d64e7f 100644 --- a/apps/searxng/docker-compose.yml +++ b/apps/searxng/docker-compose.yml @@ -3,7 +3,7 @@ version: "3.7" services: searxng: container_name: searxng - image: searxng/searxng:latest + image: searxng/searxng:2022.10.11-a7337612 restart: unless-stopped networks: - tipi_main_network