Add typesense to vikunja and update

This commit is contained in:
Sparky
2025-10-28 21:27:10 +00:00
parent 7128714539
commit e46c3cee18
14 changed files with 279 additions and 4 deletions

View File

@@ -1,8 +1,13 @@
SERVICE_NAME_VIKUNJA=vikunja
SERVICE_NAME_POSTGRESQL=postgresql
SERVICE_NAME_TYPESENSE=typesense
SERVICE_FQDN_TYPESENSE=vikunja-typesense.site.quack-lab.dev
SERVICE_FQDN_TYPESENSE_8108=vikunja-typesense.site.quack-lab.dev
SERVICE_FQDN_VIKUNJA=vikunja.site.quack-lab.dev
SERVICE_PASSWORD_JWTSECRET=rOYardNKXhg32Z5B5T0BoC3JGxD9HhD2
SERVICE_PASSWORD_POSTGRESQL=LJNUZyhW1nm3LdeZ1PpBJhwAwLXG62as
SERVICE_URL_TYPESENSE=https://vikunja-typesense.site.quack-lab.dev
SERVICE_URL_TYPESENSE_8108=https://vikunja-typesense.site.quack-lab.dev
SERVICE_URL_VIKUNJA=https://vikunja.site.quack-lab.dev
SERVICE_USER_POSTGRESQL=Bdqj73QvoRkNw58j
POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRESQL}
@@ -11,4 +16,6 @@ VIKUNJA_DATABASE_PASSWORD=${SERVICE_PASSWORD_POSTGRESQL}
VIKUNJA_DATABASE_USER=${SERVICE_USER_POSTGRESQL}
VIKUNJA_SERVICE_JWTSECRET=$SERVICE_PASSWORD_JWTSECRET
VIKUNJA_SERVICE_PUBLICURL=$SERVICE_URL_VIKUNJA
POSTGRESQL_DATABASE=postgres
POSTGRESQL_DATABASE=postgres
TYPESENSE_API_KEY=!6A*v7qOnQK9ET$JA2#T8iQTO3v@HL9A
TYPESENSE_ENABLE_CORS=true

View File

@@ -11,6 +11,9 @@ services:
VIKUNJA_DATABASE_PASSWORD: '${SERVICE_PASSWORD_POSTGRESQL}'
VIKUNJA_DATABASE_USER: '${SERVICE_USER_POSTGRESQL}'
VIKUNJA_DATABASE_DATABASE: '${POSTGRESQL_DATABASE}'
VIKUNJA_TYPESENSE_ENABLED: 'true'
VIKUNJA_TYPESENSE_URL: 'https://vikunja-typesense.site.quack-lab.dev'
VIKUNJA_TYPESENSE_APIKEY: '${TYPESENSE_API_KEY:?}'
POSTGRESQL_DATABASE: '${POSTGRESQL_DATABASE}'
COOLIFY_RESOURCE_UUID: p88kookwkgkg8448k8k84848
COOLIFY_CONTAINER_NAME: vikunja-p88kookwkgkg8448k8k84848
@@ -18,6 +21,7 @@ services:
COOLIFY_URL: 'https://vikunja.site.quack-lab.dev'
SERVICE_NAME_VIKUNJA: vikunja
SERVICE_NAME_POSTGRESQL: postgresql
SERVICE_NAME_TYPESENSE: typesense
volumes:
- 'p88kookwkgkg8448k8k84848_vikunja-data:/app/vikunja/'
depends_on:
@@ -72,6 +76,7 @@ services:
COOLIFY_CONTAINER_NAME: postgresql-p88kookwkgkg8448k8k84848
SERVICE_NAME_VIKUNJA: vikunja
SERVICE_NAME_POSTGRESQL: postgresql
SERVICE_NAME_TYPESENSE: typesense
healthcheck:
test:
- CMD-SHELL
@@ -97,11 +102,77 @@ services:
- coolify.service.subName=postgresql
networks:
p88kookwkgkg8448k8k84848: null
typesense:
image: 'typesense/typesense:28.0'
environment:
SERVICE_URL_TYPESENSE_8108: 'https://vikunja-typesense.site.quack-lab.dev'
TYPESENSE_ENABLE_CORS: '${TYPESENSE_ENABLE_CORS:-true}'
TYPESENSE_DATA_DIR: /data
TYPESENSE_API_KEY: '${TYPESENSE_API_KEY:?}'
COOLIFY_RESOURCE_UUID: p88kookwkgkg8448k8k84848
COOLIFY_CONTAINER_NAME: typesense-p88kookwkgkg8448k8k84848
COOLIFY_FQDN: vikunja-typesense.site.quack-lab.dev
COOLIFY_URL: 'https://vikunja-typesense.site.quack-lab.dev'
SERVICE_NAME_VIKUNJA: vikunja
SERVICE_NAME_POSTGRESQL: postgresql
SERVICE_NAME_TYPESENSE: typesense
volumes:
- 'p88kookwkgkg8448k8k84848_typesense-data:/data'
healthcheck:
test:
- CMD
- bash
- '-c'
- 'exec 3<>/dev/tcp/localhost/8108 && printf ''GET /health HTTP/1.1\r\nConnection: close\r\n\r\n'' >&3 && head -n1 <&3 | grep ''200'' && exec 3>&-'
retries: 5
timeout: 7s
container_name: typesense-p88kookwkgkg8448k8k84848
restart: unless-stopped
labels:
- coolify.managed=true
- coolify.version=4.0.0-beta.434
- coolify.serviceId=47
- coolify.type=service
- coolify.name=typesense-p88kookwkgkg8448k8k84848
- coolify.resourceName=vikunja
- coolify.projectName=services
- coolify.serviceName=typesense
- coolify.environmentName=production
- coolify.pullRequestId=0
- coolify.service.subId=86
- coolify.service.subType=application
- coolify.service.subName=typesense
- traefik.enable=true
- traefik.http.middlewares.gzip.compress=true
- traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https
- traefik.http.routers.http-0-p88kookwkgkg8448k8k84848-typesense.entryPoints=http
- traefik.http.routers.http-0-p88kookwkgkg8448k8k84848-typesense.middlewares=redirect-to-https
- 'traefik.http.routers.http-0-p88kookwkgkg8448k8k84848-typesense.rule=Host(`vikunja-typesense.site.quack-lab.dev`) && PathPrefix(`/`)'
- traefik.http.routers.http-0-p88kookwkgkg8448k8k84848-typesense.service=http-0-p88kookwkgkg8448k8k84848-typesense
- traefik.http.routers.https-0-p88kookwkgkg8448k8k84848-typesense.entryPoints=https
- traefik.http.routers.https-0-p88kookwkgkg8448k8k84848-typesense.middlewares=gzip
- 'traefik.http.routers.https-0-p88kookwkgkg8448k8k84848-typesense.rule=Host(`vikunja-typesense.site.quack-lab.dev`) && PathPrefix(`/`)'
- traefik.http.routers.https-0-p88kookwkgkg8448k8k84848-typesense.service=https-0-p88kookwkgkg8448k8k84848-typesense
- traefik.http.routers.https-0-p88kookwkgkg8448k8k84848-typesense.tls.certresolver=letsencrypt
- traefik.http.routers.https-0-p88kookwkgkg8448k8k84848-typesense.tls=true
- traefik.http.services.http-0-p88kookwkgkg8448k8k84848-typesense.loadbalancer.server.port=8108
- traefik.http.services.https-0-p88kookwkgkg8448k8k84848-typesense.loadbalancer.server.port=8108
- 'caddy_0.encode=zstd gzip'
- 'caddy_0.handle_path.0_reverse_proxy={{upstreams 8108}}'
- 'caddy_0.handle_path=/*'
- caddy_0.header=-Server
- 'caddy_0.try_files={path} /index.html /index.php'
- 'caddy_0=https://vikunja-typesense.site.quack-lab.dev'
- caddy_ingress_network=p88kookwkgkg8448k8k84848
networks:
p88kookwkgkg8448k8k84848: null
volumes:
p88kookwkgkg8448k8k84848_vikunja-data:
name: p88kookwkgkg8448k8k84848_vikunja-data
p88kookwkgkg8448k8k84848_vikunja-postgresql-data:
name: p88kookwkgkg8448k8k84848_vikunja-postgresql-data
p88kookwkgkg8448k8k84848_typesense-data:
name: p88kookwkgkg8448k8k84848_typesense-data
networks:
p88kookwkgkg8448k8k84848:
name: p88kookwkgkg8448k8k84848