diff --git a/apps/ai-search/.env b/apps/ai-search/.env new file mode 100644 index 0000000..e5cf7cc --- /dev/null +++ b/apps/ai-search/.env @@ -0,0 +1,11 @@ +# You need to create a Trakt application at https://trakt.tv/oauth/applications +# and set the client ID and secret here. +# The redirect URI should be set to https://${AI_SEARCH_HOSTNAME}/aisearch/oauth/callback +# replacing ${AI_SEARCH_HOSTNAME} with your ai search hostname e.g. https://ai-search.example.com/aisearch/oauth/callback +AI_SEARCH_TRAKT_CLIENT_ID= +AI_SEARCH_TRAKT_CLIENT_SECRET= + +AI_SEARCH_ENCRYPTION_KEY= # must be at least 32 characters long +AI_SEARCH_RPDB= +AI_SEARCH_RECAPTCHA_SECRET_KEY = # https://www.google.com/recaptcha/admin to get RECAPTCHA secret key (V3) +ADMIN_TOKEN= # can be a string of any length diff --git a/apps/ai-search/compose.yaml b/apps/ai-search/compose.yaml new file mode 100644 index 0000000..1d5cd42 --- /dev/null +++ b/apps/ai-search/compose.yaml @@ -0,0 +1,29 @@ +stremio-ai-search: + image: ghcr.io/cedya77/stremio-ai-search:latest + container_name: stremio-ai-search + env_file: + - .env + expose: + - 7002 + labels: + - "traefik.enable=true" + - "traefik.http.routers.ai-search.rule=Host(`${AI_SEARCH_HOSTNAME}`)" + - "traefik.http.routers.ai-search.entrypoints=websecure" + - "traefik.http.routers.ai-search.tls.certresolver=letsencrypt" + - "traefik.http.routers.ai-search.middlewares=authelia@docker" + - "traefik.http.services.ai-search.loadbalancer.server.port=7002" + environment: + - HOST=${AI_SEARCH_HOSTNAME} + - PORT=7002 + - ENABLE_LOGGING=true + - TRAKT_CLIENT_ID=${AI_SEARCH_TRAKT_CLIENT_ID?} + - TRAKT_CLIENT_SECRET=${AI_SEARCH_TRAKT_CLIENT_SECRET?} + - ENCRYPTION_KEY=${AI_SEARCH_ENCRYPTION_KEY?} + - RPDB_API_KEY=${AI_SEARCH_RPDB?} + - RECAPTCHA_SECRET_KEY=${AI_SEARCH_RECAPTCHA_SECRET_KEY?} + - ADMIN_TOKEN=${AI_SEARCH_ADMIN_TOKEN?} + restart: unless-stopped + profiles: + - ai-search + - stremio + - all