4 Commits
7 changed files with 34 additions and 17 deletions
+19 -1
View File
@@ -2,6 +2,22 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
## [1.0.3] - 2025-09-17
### Fixed
- Server now binds to `0.0.0.0` by default so Docker port publishing works correctly from the host. Added `BIND_HOST=0.0.0.0` in Dockerfile and compose.
### Notes
- If you were seeing `ERR_CONNECTION_REFUSED` on `http://localhost:8787`, pull the latest image or rebuild, then re-run with `-p 8787:8787`.
## [1.0.2] - 2025-09-17
### Fixed
- Standardized Docker port to `8787` everywhere (Dockerfile `EXPOSE`, compose `ports`, healthchecks, and README examples). Previous release notes mentioned 8787 but some environments weren't reset; this release ensures consistency.
### Documentation
- Updated README version badge to 1.0.2 and verified Docker commands use `-p 8787:8787`.
## [1.0.1] - 2025-09-17 ## [1.0.1] - 2025-09-17
### Added ### Added
@@ -29,7 +45,9 @@ All notable changes to this project will be documented in this file.
## [1.0.0] - 2025-09-16 ## [1.0.0] - 2025-09-16
- Initial stable release. - Initial stable release.
[1.0.1]: https://github.com/Inside4ndroid/TMDB-Embed-API/compare/v1.0.0...v1.0.1# Changelog [1.0.3]: https://github.com/Inside4ndroid/TMDB-Embed-API/compare/v1.0.2...v1.0.3
[1.0.2]: https://github.com/Inside4ndroid/TMDB-Embed-API/compare/v1.0.1...v1.0.2
[1.0.1]: https://github.com/Inside4ndroid/TMDB-Embed-API/compare/v1.0.0...v1.0.1
## [1.0.0] - 2025-09-16 ## [1.0.0] - 2025-09-16
+1
View File
@@ -22,6 +22,7 @@ ARG VERSION=dev
WORKDIR /app WORKDIR /app
ENV NODE_ENV=production \ ENV NODE_ENV=production \
API_PORT=8787 \ API_PORT=8787 \
BIND_HOST=0.0.0.0 \
APP_VERSION=${VERSION} APP_VERSION=${VERSION}
# Create non-root user # Create non-root user
+1 -1
View File
@@ -6,7 +6,7 @@
<img src="https://img.shields.io/badge/Node.js-18%2B-brightgreen?style=flat" /> <img src="https://img.shields.io/badge/Node.js-18%2B-brightgreen?style=flat" />
<img src="https://img.shields.io/badge/Status-Active-success?style=flat" /> <img src="https://img.shields.io/badge/Status-Active-success?style=flat" />
<img src="https://img.shields.io/badge/License-MIT-blue?style=flat" /> <img src="https://img.shields.io/badge/License-MIT-blue?style=flat" />
<img src="https://img.shields.io/badge/Version-1.0.1-informational?style=flat" /> <img src="https://img.shields.io/badge/Version-1.0.3-informational?style=flat" />
<img src="https://img.shields.io/docker/pulls/inside4ndroid/tmdb-embed-api?label=Docker%20Pulls&style=flat" /> <img src="https://img.shields.io/docker/pulls/inside4ndroid/tmdb-embed-api?label=Docker%20Pulls&style=flat" />
</p> </p>
+6 -2
View File
@@ -374,8 +374,12 @@ app.get('/api/streams/:provider/:type/:tmdbId', async (req,res) => {
}); });
const PORT = config.port; const PORT = config.port;
const server = app.listen(PORT, () => { const HOST = process.env.BIND_HOST || '0.0.0.0';
console.log(`TMDB Embed REST API listening on http://localhost:${PORT}`); const server = app.listen(PORT, HOST, () => {
console.log(`TMDB Embed REST API listening on http://${HOST}:${PORT}`);
if (HOST !== 'localhost') {
console.log(`Local access (if running on your machine): http://localhost:${PORT}`);
}
console.log('Endpoints:'); console.log('Endpoints:');
console.log(' GET /api/health'); console.log(' GET /api/health');
console.log(' GET /api/metrics'); console.log(' GET /api/metrics');
+1
View File
@@ -9,6 +9,7 @@ services:
# Alternative: supply JSON array # Alternative: supply JSON array
# - TMDB_API_KEYS=["key1","key2"] # - TMDB_API_KEYS=["key1","key2"]
- API_PORT=8787 - API_PORT=8787
- BIND_HOST=0.0.0.0
# FebBox cookies (comma separated) if you want Showbox immediately functional # FebBox cookies (comma separated) if you want Showbox immediately functional
- FEBBOX_COOKIES=${FEBBOX_COOKIES:-} - FEBBOX_COOKIES=${FEBBOX_COOKIES:-}
ports: ports:
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "tmdb-embed-api", "name": "tmdb-embed-api",
"version": "1.0.1", "version": "1.0.3",
"description": "Standalone streaming embed source aggregation API (TMDB ID in, streams out)", "description": "Standalone streaming embed source aggregation API (TMDB ID in, streams out)",
"main": "apiServer.js", "main": "apiServer.js",
"scripts": { "scripts": {
+4 -11
View File
@@ -1,15 +1,9 @@
{ {
"defaultProviders": [], "defaultProviders": [],
"configVersion": 1, "configVersion": 1,
"tmdbApiKeys": [ "tmdbApiKeys": [],
"qwfghfgh",
"fghsdfs",
"uygghmng"
],
"enableShowboxProvider": true, "enableShowboxProvider": true,
"febboxCookies": [ "febboxCookies": [],
"gfdgfdgf"
],
"enableXprimeProvider": true, "enableXprimeProvider": true,
"enable4khdhubProvider": true, "enable4khdhubProvider": true,
"enableMoviesmodProvider": true, "enableMoviesmodProvider": true,
@@ -20,7 +14,6 @@
"enablePStreamApi": true, "enablePStreamApi": true,
"disableUrlValidation": false, "disableUrlValidation": false,
"disable4khdhubUrlValidation": false, "disable4khdhubUrlValidation": false,
"excludeCodecsRaw": "{\"excludeDV\":true,\"excludeHDR\":true}", "excludeCodecsRaw": "{\"excludeDV\":false,\"excludeHDR\":false}",
"minQualitiesRaw": "1080p", "minQualitiesRaw": "all"
"port": 3000
} }