From a969ce810a3fd49893a38b304122108a9ff7fa55 Mon Sep 17 00:00:00 2001 From: Daniere Mathieu Date: Sun, 1 Oct 2023 10:37:17 +0200 Subject: [PATCH 1/9] v1 testing koilection --- apps/koillection/config.json | 16 +++++ apps/koillection/docker-compose.yml | 78 +++++++++++++++++++++++ apps/koillection/metadata/description.md | 1 + apps/koillection/metadata/logo.jpeg | Bin 0 -> 40678 bytes 4 files changed, 95 insertions(+) create mode 100644 apps/koillection/config.json create mode 100644 apps/koillection/docker-compose.yml create mode 100644 apps/koillection/metadata/description.md create mode 100644 apps/koillection/metadata/logo.jpeg diff --git a/apps/koillection/config.json b/apps/koillection/config.json new file mode 100644 index 00000000..c5c139cf --- /dev/null +++ b/apps/koillection/config.json @@ -0,0 +1,16 @@ +{ + "name": "Koillection", + "available": true, + "port": 8050, + "exposable": true, + "id": "koillection", + "description": "Koillection is a self-hosted service allowing users to manage any kind of collections.", + "tipi_version": 1, + "version": "1.4.11", + "categories": ["utilities"], + "short_desc": "Koillection allow you to manage any kind of collections.", + "author": "https://github.com/benjaminjonard", + "source": "https://github.com/benjaminjonard/koillection", + "website": "https://koillection.github.io/", + "form_fields": [] +} \ No newline at end of file diff --git a/apps/koillection/docker-compose.yml b/apps/koillection/docker-compose.yml new file mode 100644 index 00000000..ffb90ebb --- /dev/null +++ b/apps/koillection/docker-compose.yml @@ -0,0 +1,78 @@ +version: '3' + +services: + koillection: + image: koillection/koillection:1.4.11 + container_name: koillection + restart: unless-stopped + ports: + - ${APP_PORT}:80 + env_file: + - .env + depends_on: + - db + volumes: + - ${APP_DATA_DIR}/data/volumes/koillection/uploads:/uploads + environment: + - APP_DEBUG=0 + - APP_ENV=prod + - HTTPS_ENABLED=1 + - UPLOAD_MAX_FILESIZE=20M + - PHP_MEMORY_LIMIT=512M + - PHP_TZ=${TZ} + - CORS_ALLOW_ORIGIN='^https?://(localhost|127\.0\.0\.1)(:[0-9]+)?$' + - JWT_SECRET_KEY=%kernel.project_dir%/config/jwt/private.pem + - JWT_PUBLIC_KEY=%kernel.project_dir%/config/jwt/public.pem + networks: + - koillection + - tipi_main_network + labels: + # Main + traefik.enable: true + traefik.http.middlewares.koillection-web-redirect.redirectscheme.scheme: https + traefik.http.services.koillection.loadbalancer.server.port: 8080 + # Web + traefik.http.routers.koillection-insecure.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.koillection-insecure.entrypoints: web + traefik.http.routers.koillection-insecure.service: koillection + traefik.http.routers.koillection-insecure.middlewares: koillection-web-redirect + # Websecure + traefik.http.routers.koillection.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.koillection.entrypoints: websecure + traefik.http.routers.koillection.service: koillection + traefik.http.routers.koillection.tls.certresolver: myresolver + # Local domain + traefik.http.routers.koillection-local-insecure.rule: Host(`koillection.${LOCAL_DOMAIN}`) + traefik.http.routers.koillection-local-insecure.entrypoints: web + traefik.http.routers.koillection-local-insecure.service: koillection + traefik.http.routers.koillection-local-insecure.middlewares: koillection-web-redirect + # Local domain secure + traefik.http.routers.koillection-local.rule: Host(`koillection.${LOCAL_DOMAIN}`) + traefik.http.routers.koillection-local.entrypoints: websecure + traefik.http.routers.koillection-local.service: koillection + traefik.http.routers.koillection-local.tls: true + + db: + image: postgres:15 + container_name: db + restart: unless-stopped + env_file: + - .env + environment: + - POSTGRES_DB=${DB_NAME} + - POSTGRES_USER=${DB_USER} + - POSTGRES_PASSWORD=${DB_PASSWORD} + - DB_DRIVER=pdo_pgsql + - DB_NAME=koillection + - DB_HOST=db + - DB_PORT=5432 + - DB_USER=root + - DB_PASSWORD=root + - DB_VERSION=15 + volumes: + - ${APP_DATA_DIR}/data/volumes/postgresql:/var/lib/postgresql/data + networks: + - koillection +networks: + koillection: + driver: bridge \ No newline at end of file diff --git a/apps/koillection/metadata/description.md b/apps/koillection/metadata/description.md new file mode 100644 index 00000000..41b34b84 --- /dev/null +++ b/apps/koillection/metadata/description.md @@ -0,0 +1 @@ +Koillection is a self-hosted service allowing users to manage any kind of collections. \ No newline at end of file diff --git a/apps/koillection/metadata/logo.jpeg b/apps/koillection/metadata/logo.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..3a0627ed32b3c2aa2fc9eedf866cb036a6caada5 GIT binary patch literal 40678 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 yut-&4Y@@TKDf=7qJinrYZ) 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 Date: Sun, 1 Oct 2023 10:56:05 +0200 Subject: [PATCH 2/9] try fixing error --- apps/koillection/docker-compose.yml | 11 ++++------- apps/koillection/metadata/{logo.jpeg => logo.jpg} | Bin 2 files changed, 4 insertions(+), 7 deletions(-) rename apps/koillection/metadata/{logo.jpeg => logo.jpg} (100%) diff --git a/apps/koillection/docker-compose.yml b/apps/koillection/docker-compose.yml index ffb90ebb..711342a9 100644 --- a/apps/koillection/docker-compose.yml +++ b/apps/koillection/docker-compose.yml @@ -7,8 +7,6 @@ services: restart: unless-stopped ports: - ${APP_PORT}:80 - env_file: - - .env depends_on: - db volumes: @@ -56,12 +54,7 @@ services: image: postgres:15 container_name: db restart: unless-stopped - env_file: - - .env environment: - - POSTGRES_DB=${DB_NAME} - - POSTGRES_USER=${DB_USER} - - POSTGRES_PASSWORD=${DB_PASSWORD} - DB_DRIVER=pdo_pgsql - DB_NAME=koillection - DB_HOST=db @@ -69,6 +62,10 @@ services: - DB_USER=root - DB_PASSWORD=root - DB_VERSION=15 + - POSTGRES_DB=${DB_NAME} + - POSTGRES_USER=${DB_USER} + - POSTGRES_PASSWORD=${DB_PASSWORD} + volumes: - ${APP_DATA_DIR}/data/volumes/postgresql:/var/lib/postgresql/data networks: diff --git a/apps/koillection/metadata/logo.jpeg b/apps/koillection/metadata/logo.jpg similarity index 100% rename from apps/koillection/metadata/logo.jpeg rename to apps/koillection/metadata/logo.jpg From 682538b8bca73f6c219098490f7b150cd6f1df05 Mon Sep 17 00:00:00 2001 From: Daniere Mathieu Date: Sun, 1 Oct 2023 11:03:31 +0200 Subject: [PATCH 3/9] fix env problem --- apps/koillection/docker-compose.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/koillection/docker-compose.yml b/apps/koillection/docker-compose.yml index 711342a9..5888c908 100644 --- a/apps/koillection/docker-compose.yml +++ b/apps/koillection/docker-compose.yml @@ -62,9 +62,9 @@ services: - DB_USER=root - DB_PASSWORD=root - DB_VERSION=15 - - POSTGRES_DB=${DB_NAME} - - POSTGRES_USER=${DB_USER} - - POSTGRES_PASSWORD=${DB_PASSWORD} + - POSTGRES_DB=koillection + - POSTGRES_USER=root + - POSTGRES_PASSWORD=root volumes: - ${APP_DATA_DIR}/data/volumes/postgresql:/var/lib/postgresql/data From 86c6cc00d8690f4ffd23fca90d54335070606b37 Mon Sep 17 00:00:00 2001 From: Daniere Mathieu Date: Sun, 1 Oct 2023 11:10:37 +0200 Subject: [PATCH 4/9] error on env --- apps/koillection/docker-compose.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/apps/koillection/docker-compose.yml b/apps/koillection/docker-compose.yml index 5888c908..1cc25c82 100644 --- a/apps/koillection/docker-compose.yml +++ b/apps/koillection/docker-compose.yml @@ -21,6 +21,13 @@ services: - CORS_ALLOW_ORIGIN='^https?://(localhost|127\.0\.0\.1)(:[0-9]+)?$' - JWT_SECRET_KEY=%kernel.project_dir%/config/jwt/private.pem - JWT_PUBLIC_KEY=%kernel.project_dir%/config/jwt/public.pem + - DB_DRIVER=pdo_pgsql + - DB_NAME=koillection + - DB_HOST=db + - DB_PORT=5432 + - DB_USER=root + - DB_PASSWORD=root + - DB_VERSION=15 networks: - koillection - tipi_main_network @@ -55,13 +62,6 @@ services: container_name: db restart: unless-stopped environment: - - DB_DRIVER=pdo_pgsql - - DB_NAME=koillection - - DB_HOST=db - - DB_PORT=5432 - - DB_USER=root - - DB_PASSWORD=root - - DB_VERSION=15 - POSTGRES_DB=koillection - POSTGRES_USER=root - POSTGRES_PASSWORD=root From d56c3c3155216e36d048a0474f7adbf88fb5eff3 Mon Sep 17 00:00:00 2001 From: Daniere Mathieu Date: Sat, 28 Oct 2023 13:40:26 +0200 Subject: [PATCH 5/9] try fixing crsf token problem --- apps/koillection/config.json | 9 ++++++++- apps/koillection/docker-compose.yml | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/apps/koillection/config.json b/apps/koillection/config.json index c5c139cf..db6e29cc 100644 --- a/apps/koillection/config.json +++ b/apps/koillection/config.json @@ -12,5 +12,12 @@ "author": "https://github.com/benjaminjonard", "source": "https://github.com/benjaminjonard/koillection", "website": "https://koillection.github.io/", - "form_fields": [] + "form_fields": [ + { + "type": "boolean", + "label": "https enable", + "required": true, + "env_variable": "HTTPS_ENABLED" + } + ] } \ No newline at end of file diff --git a/apps/koillection/docker-compose.yml b/apps/koillection/docker-compose.yml index 1cc25c82..a7e1fa21 100644 --- a/apps/koillection/docker-compose.yml +++ b/apps/koillection/docker-compose.yml @@ -14,7 +14,7 @@ services: environment: - APP_DEBUG=0 - APP_ENV=prod - - HTTPS_ENABLED=1 + - HTTPS_ENABLED={HTTPS_ENABLED} - UPLOAD_MAX_FILESIZE=20M - PHP_MEMORY_LIMIT=512M - PHP_TZ=${TZ} From 78d96cab4499fdfc6f91a5adfb7ee8c90a90e409 Mon Sep 17 00:00:00 2001 From: Daniere Mathieu Date: Mon, 30 Oct 2023 09:45:36 +0100 Subject: [PATCH 6/9] testing modification --- apps/koillection/config.json | 17 +++++++++++++++-- apps/koillection/docker-compose.yml | 20 ++++++++------------ apps/koillection/metadata/logo.jpg | Bin 40678 -> 63926 bytes 3 files changed, 23 insertions(+), 14 deletions(-) diff --git a/apps/koillection/config.json b/apps/koillection/config.json index db6e29cc..b2e5eceb 100644 --- a/apps/koillection/config.json +++ b/apps/koillection/config.json @@ -16,8 +16,21 @@ { "type": "boolean", "label": "https enable", - "required": true, - "env_variable": "HTTPS_ENABLED" + "env_variable": "KOILLECTION_HTTPS_ENABLED" + }, + { + "type": "random", + "label": "database user", + "min": 15, + "max": 15, + "env_variable": "KOILLECTION_DB_USER" + }, + { + "type": "random", + "label": "database password", + "min": 30, + "max": 30, + "env_variable": "KOILLECTION_DB_PASSWORD" } ] } \ No newline at end of file diff --git a/apps/koillection/docker-compose.yml b/apps/koillection/docker-compose.yml index a7e1fa21..c28adcc4 100644 --- a/apps/koillection/docker-compose.yml +++ b/apps/koillection/docker-compose.yml @@ -10,26 +10,25 @@ services: depends_on: - db volumes: - - ${APP_DATA_DIR}/data/volumes/koillection/uploads:/uploads + - ${APP_DATA_DIR}/data/uploads:/uploads environment: - APP_DEBUG=0 - APP_ENV=prod - - HTTPS_ENABLED={HTTPS_ENABLED} + - HTTPS_ENABLED={KOILLECTION_HTTPS_ENABLED} - UPLOAD_MAX_FILESIZE=20M - PHP_MEMORY_LIMIT=512M - PHP_TZ=${TZ} - - CORS_ALLOW_ORIGIN='^https?://(localhost|127\.0\.0\.1)(:[0-9]+)?$' + - CORS_ALLOW_ORIGIN=* - JWT_SECRET_KEY=%kernel.project_dir%/config/jwt/private.pem - JWT_PUBLIC_KEY=%kernel.project_dir%/config/jwt/public.pem - DB_DRIVER=pdo_pgsql - DB_NAME=koillection - DB_HOST=db - DB_PORT=5432 - - DB_USER=root - - DB_PASSWORD=root + - DB_USER={KOILLECTION_DB_USER} + - DB_PASSWORD={KOILLECTION_DB_PASSWORD} - DB_VERSION=15 networks: - - koillection - tipi_main_network labels: # Main @@ -57,9 +56,9 @@ services: traefik.http.routers.koillection-local.service: koillection traefik.http.routers.koillection-local.tls: true - db: + koillection-db: image: postgres:15 - container_name: db + container_name: koillection-db restart: unless-stopped environment: - POSTGRES_DB=koillection @@ -69,7 +68,4 @@ services: volumes: - ${APP_DATA_DIR}/data/volumes/postgresql:/var/lib/postgresql/data networks: - - koillection -networks: - koillection: - driver: bridge \ No newline at end of file + - tipi_main_network \ No newline at end of file diff --git a/apps/koillection/metadata/logo.jpg b/apps/koillection/metadata/logo.jpg index 3a0627ed32b3c2aa2fc9eedf866cb036a6caada5..49a5a7d836980c6192e995c84c7dadc2af305e8c 100644 GIT binary patch literal 63926 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 yut-&4Y@@TKDf=7qJinrYZ) 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 Date: Mon, 30 Oct 2023 10:05:25 +0100 Subject: [PATCH 7/9] remove dumb error --- apps/koillection/docker-compose.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/koillection/docker-compose.yml b/apps/koillection/docker-compose.yml index c28adcc4..80c6097d 100644 --- a/apps/koillection/docker-compose.yml +++ b/apps/koillection/docker-compose.yml @@ -8,7 +8,7 @@ services: ports: - ${APP_PORT}:80 depends_on: - - db + - koillection-db volumes: - ${APP_DATA_DIR}/data/uploads:/uploads environment: @@ -62,8 +62,8 @@ services: restart: unless-stopped environment: - POSTGRES_DB=koillection - - POSTGRES_USER=root - - POSTGRES_PASSWORD=root + - POSTGRES_USER={KOILLECTION_DB_USER} + - POSTGRES_PASSWORD={KOILLECTION_DB_PASSWORD} volumes: - ${APP_DATA_DIR}/data/volumes/postgresql:/var/lib/postgresql/data From 6b16d09416c0186edf2a4777d4abf2f187bd006f Mon Sep 17 00:00:00 2001 From: Daniere Mathieu Date: Mon, 30 Oct 2023 10:11:14 +0100 Subject: [PATCH 8/9] remove db host error --- apps/koillection/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/koillection/docker-compose.yml b/apps/koillection/docker-compose.yml index 80c6097d..d43475d8 100644 --- a/apps/koillection/docker-compose.yml +++ b/apps/koillection/docker-compose.yml @@ -23,7 +23,7 @@ services: - JWT_PUBLIC_KEY=%kernel.project_dir%/config/jwt/public.pem - DB_DRIVER=pdo_pgsql - DB_NAME=koillection - - DB_HOST=db + - DB_HOST=koillection-db - DB_PORT=5432 - DB_USER={KOILLECTION_DB_USER} - DB_PASSWORD={KOILLECTION_DB_PASSWORD} From 4a74dcc6246b40913ccb38272cc38c035bc297e5 Mon Sep 17 00:00:00 2001 From: Nicolas Meienberger Date: Mon, 13 Nov 2023 08:11:29 +0100 Subject: [PATCH 9/9] chore(koillection): remove redundant "https enabled" env var --- apps/koillection/config.json | 67 +++++++------- apps/koillection/docker-compose.yml | 134 ++++++++++++++-------------- 2 files changed, 99 insertions(+), 102 deletions(-) diff --git a/apps/koillection/config.json b/apps/koillection/config.json index b2e5eceb..22e8c27b 100644 --- a/apps/koillection/config.json +++ b/apps/koillection/config.json @@ -1,36 +1,33 @@ { - "name": "Koillection", - "available": true, - "port": 8050, - "exposable": true, - "id": "koillection", - "description": "Koillection is a self-hosted service allowing users to manage any kind of collections.", - "tipi_version": 1, - "version": "1.4.11", - "categories": ["utilities"], - "short_desc": "Koillection allow you to manage any kind of collections.", - "author": "https://github.com/benjaminjonard", - "source": "https://github.com/benjaminjonard/koillection", - "website": "https://koillection.github.io/", - "form_fields": [ - { - "type": "boolean", - "label": "https enable", - "env_variable": "KOILLECTION_HTTPS_ENABLED" - }, - { - "type": "random", - "label": "database user", - "min": 15, - "max": 15, - "env_variable": "KOILLECTION_DB_USER" - }, - { - "type": "random", - "label": "database password", - "min": 30, - "max": 30, - "env_variable": "KOILLECTION_DB_PASSWORD" - } - ] -} \ No newline at end of file + "$schema": "../schema.json", + "name": "Koillection", + "available": true, + "port": 8050, + "exposable": true, + "id": "koillection", + "description": "Koillection is a self-hosted service allowing users to manage any kind of collections.", + "tipi_version": 1, + "version": "1.4.11", + "categories": ["utilities"], + "short_desc": "Koillection allow you to manage any kind of collections.", + "author": "https://github.com/benjaminjonard", + "source": "https://github.com/benjaminjonard/koillection", + "website": "https://koillection.github.io/", + "supported_architectures": ["amd64", "arm64"], + "form_fields": [ + { + "type": "random", + "label": "database user", + "min": 15, + "max": 15, + "env_variable": "KOILLECTION_DB_USER" + }, + { + "type": "random", + "label": "database password", + "min": 30, + "max": 30, + "env_variable": "KOILLECTION_DB_PASSWORD" + } + ] +} diff --git a/apps/koillection/docker-compose.yml b/apps/koillection/docker-compose.yml index d43475d8..8c7cbca2 100644 --- a/apps/koillection/docker-compose.yml +++ b/apps/koillection/docker-compose.yml @@ -1,71 +1,71 @@ version: '3' services: - koillection: - image: koillection/koillection:1.4.11 - container_name: koillection - restart: unless-stopped - ports: - - ${APP_PORT}:80 - depends_on: - - koillection-db - volumes: - - ${APP_DATA_DIR}/data/uploads:/uploads - environment: - - APP_DEBUG=0 - - APP_ENV=prod - - HTTPS_ENABLED={KOILLECTION_HTTPS_ENABLED} - - UPLOAD_MAX_FILESIZE=20M - - PHP_MEMORY_LIMIT=512M - - PHP_TZ=${TZ} - - CORS_ALLOW_ORIGIN=* - - JWT_SECRET_KEY=%kernel.project_dir%/config/jwt/private.pem - - JWT_PUBLIC_KEY=%kernel.project_dir%/config/jwt/public.pem - - DB_DRIVER=pdo_pgsql - - DB_NAME=koillection - - DB_HOST=koillection-db - - DB_PORT=5432 - - DB_USER={KOILLECTION_DB_USER} - - DB_PASSWORD={KOILLECTION_DB_PASSWORD} - - DB_VERSION=15 - networks: - - tipi_main_network - labels: - # Main - traefik.enable: true - traefik.http.middlewares.koillection-web-redirect.redirectscheme.scheme: https - traefik.http.services.koillection.loadbalancer.server.port: 8080 - # Web - traefik.http.routers.koillection-insecure.rule: Host(`${APP_DOMAIN}`) - traefik.http.routers.koillection-insecure.entrypoints: web - traefik.http.routers.koillection-insecure.service: koillection - traefik.http.routers.koillection-insecure.middlewares: koillection-web-redirect - # Websecure - traefik.http.routers.koillection.rule: Host(`${APP_DOMAIN}`) - traefik.http.routers.koillection.entrypoints: websecure - traefik.http.routers.koillection.service: koillection - traefik.http.routers.koillection.tls.certresolver: myresolver - # Local domain - traefik.http.routers.koillection-local-insecure.rule: Host(`koillection.${LOCAL_DOMAIN}`) - traefik.http.routers.koillection-local-insecure.entrypoints: web - traefik.http.routers.koillection-local-insecure.service: koillection - traefik.http.routers.koillection-local-insecure.middlewares: koillection-web-redirect - # Local domain secure - traefik.http.routers.koillection-local.rule: Host(`koillection.${LOCAL_DOMAIN}`) - traefik.http.routers.koillection-local.entrypoints: websecure - traefik.http.routers.koillection-local.service: koillection - traefik.http.routers.koillection-local.tls: true + koillection: + image: koillection/koillection:1.4.11 + container_name: koillection + restart: unless-stopped + ports: + - ${APP_PORT}:80 + depends_on: + - koillection-db + volumes: + - ${APP_DATA_DIR}/data/uploads:/uploads + environment: + - APP_DEBUG=0 + - APP_ENV=prod + - HTTPS_ENABLED={APP_EXPOSED} + - UPLOAD_MAX_FILESIZE=20M + - PHP_MEMORY_LIMIT=512M + - PHP_TZ=${TZ} + - CORS_ALLOW_ORIGIN=* + - JWT_SECRET_KEY=%kernel.project_dir%/config/jwt/private.pem + - JWT_PUBLIC_KEY=%kernel.project_dir%/config/jwt/public.pem + - DB_DRIVER=pdo_pgsql + - DB_NAME=koillection + - DB_HOST=koillection-db + - DB_PORT=5432 + - DB_USER={KOILLECTION_DB_USER} + - DB_PASSWORD={KOILLECTION_DB_PASSWORD} + - DB_VERSION=15 + networks: + - tipi_main_network + labels: + # Main + traefik.enable: true + traefik.http.middlewares.koillection-web-redirect.redirectscheme.scheme: https + traefik.http.services.koillection.loadbalancer.server.port: 8080 + # Web + traefik.http.routers.koillection-insecure.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.koillection-insecure.entrypoints: web + traefik.http.routers.koillection-insecure.service: koillection + traefik.http.routers.koillection-insecure.middlewares: koillection-web-redirect + # Websecure + traefik.http.routers.koillection.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.koillection.entrypoints: websecure + traefik.http.routers.koillection.service: koillection + traefik.http.routers.koillection.tls.certresolver: myresolver + # Local domain + traefik.http.routers.koillection-local-insecure.rule: Host(`koillection.${LOCAL_DOMAIN}`) + traefik.http.routers.koillection-local-insecure.entrypoints: web + traefik.http.routers.koillection-local-insecure.service: koillection + traefik.http.routers.koillection-local-insecure.middlewares: koillection-web-redirect + # Local domain secure + traefik.http.routers.koillection-local.rule: Host(`koillection.${LOCAL_DOMAIN}`) + traefik.http.routers.koillection-local.entrypoints: websecure + traefik.http.routers.koillection-local.service: koillection + traefik.http.routers.koillection-local.tls: true - koillection-db: - image: postgres:15 - container_name: koillection-db - restart: unless-stopped - environment: - - POSTGRES_DB=koillection - - POSTGRES_USER={KOILLECTION_DB_USER} - - POSTGRES_PASSWORD={KOILLECTION_DB_PASSWORD} - - volumes: - - ${APP_DATA_DIR}/data/volumes/postgresql:/var/lib/postgresql/data - networks: - - tipi_main_network \ No newline at end of file + koillection-db: + image: postgres:15 + container_name: koillection-db + restart: unless-stopped + environment: + - POSTGRES_DB=koillection + - POSTGRES_USER={KOILLECTION_DB_USER} + - POSTGRES_PASSWORD={KOILLECTION_DB_PASSWORD} + + volumes: + - ${APP_DATA_DIR}/data/volumes/postgresql:/var/lib/postgresql/data + networks: + - tipi_main_network