mirror of
https://github.com/Viren070/docker-compose-template.git
synced 2025-12-01 23:17:00 +01:00
feat: add syncribullet
This commit is contained in:
@@ -182,6 +182,7 @@ STREMIO_SERVER_HOSTNAME=stremio-server.${DOMAIN}
|
|||||||
STREMIO_STREAMING_CATALOGS_HOSTNAME=streaming-catalogs.${DOMAIN}
|
STREMIO_STREAMING_CATALOGS_HOSTNAME=streaming-catalogs.${DOMAIN}
|
||||||
STREMIO_TRAKT_ADDON_HOSTNAME=stremio-trakt.${DOMAIN}
|
STREMIO_TRAKT_ADDON_HOSTNAME=stremio-trakt.${DOMAIN}
|
||||||
STREMTHRU_HOSTNAME=stremthru.${DOMAIN}
|
STREMTHRU_HOSTNAME=stremthru.${DOMAIN}
|
||||||
|
SYNCRIBULLET_HOSTNAME=syncribullet.${DOMAIN}
|
||||||
TAUTULLI_HOSTNAME=tautulli.${DOMAIN}
|
TAUTULLI_HOSTNAME=tautulli.${DOMAIN}
|
||||||
THE_LOUNGE_HOSTNAME=thelounge.${DOMAIN}
|
THE_LOUNGE_HOSTNAME=thelounge.${DOMAIN}
|
||||||
TMDB_ADDON_HOSTNAME=tmdb.${DOMAIN}
|
TMDB_ADDON_HOSTNAME=tmdb.${DOMAIN}
|
||||||
|
|||||||
@@ -36,6 +36,7 @@ services:
|
|||||||
${STREMIO_CATALOG_PROVIDERS_HOSTNAME},
|
${STREMIO_CATALOG_PROVIDERS_HOSTNAME},
|
||||||
${STREMIO_TRAKT_ADDON_HOSTNAME},
|
${STREMIO_TRAKT_ADDON_HOSTNAME},
|
||||||
${STREMIO_STREAMING_CATALOGS_HOSTNAME},
|
${STREMIO_STREAMING_CATALOGS_HOSTNAME},
|
||||||
|
${SYNCRIBULLET_HOSTNAME},
|
||||||
${TMDB_ADDON_HOSTNAME},
|
${TMDB_ADDON_HOSTNAME},
|
||||||
${TMDB_COLLECTIONS_HOSTNAME},
|
${TMDB_COLLECTIONS_HOSTNAME},
|
||||||
${WEBSTREAMR_HOSTNAME}
|
${WEBSTREAMR_HOSTNAME}
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ services:
|
|||||||
${STREMIO_STREAMING_CATALOGS_HOSTNAME},
|
${STREMIO_STREAMING_CATALOGS_HOSTNAME},
|
||||||
${STREMIO_TRAKT_ADDON_HOSTNAME},
|
${STREMIO_TRAKT_ADDON_HOSTNAME},
|
||||||
${STREMTHRU_HOSTNAME},
|
${STREMTHRU_HOSTNAME},
|
||||||
|
${SYNCRIBULLET_HOSTNAME},
|
||||||
${TAUTULLI_HOSTNAME},
|
${TAUTULLI_HOSTNAME},
|
||||||
${THE_LOUNGE_HOSTNAME},
|
${THE_LOUNGE_HOSTNAME},
|
||||||
${TMDB_ADDON_HOSTNAME},
|
${TMDB_ADDON_HOSTNAME},
|
||||||
|
|||||||
@@ -0,0 +1,11 @@
|
|||||||
|
ORIGIN=https://${SYNCRIBULLET_HOSTNAME}
|
||||||
|
# A 64 character hexadecimal string used to encrypt sensitive data
|
||||||
|
# Generate using `openssl rand -hex 32`
|
||||||
|
PRIVATE_ENCRYPTION_KEY=
|
||||||
|
|
||||||
|
# Simkl application details.
|
||||||
|
# Set your Simkl client ID and secret to enable private Simkl features
|
||||||
|
# You can create a Simkl application at https://simkl.com/settings/developer/new/
|
||||||
|
# Set the redirect URI to `https://${SYNCRIBULLET_HOSTNAME}/oauth/simkl
|
||||||
|
PRIVATE_SIMKL_CLIENT_ID=
|
||||||
|
PRIVATE_SIMKL_CLIENT_SECRET=
|
||||||
@@ -0,0 +1,65 @@
|
|||||||
|
services:
|
||||||
|
syncribullet:
|
||||||
|
image: syncribullet
|
||||||
|
container_name: syncribullet
|
||||||
|
restart: unless-stopped
|
||||||
|
build:
|
||||||
|
context: https://github.com/aliyss/syncribullet.git
|
||||||
|
dockerfile_inline: |
|
||||||
|
FROM node:20.19-alpine AS builder
|
||||||
|
WORKDIR /build
|
||||||
|
|
||||||
|
COPY package*.json .
|
||||||
|
RUN npm ci
|
||||||
|
|
||||||
|
COPY adapters ./adapters
|
||||||
|
COPY public ./public
|
||||||
|
COPY src ./src
|
||||||
|
COPY .eslintrc.cjs tsconfig.json vite.config.ts .
|
||||||
|
|
||||||
|
RUN npm run build
|
||||||
|
|
||||||
|
FROM node:20.19-alpine AS runtime
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
COPY --from=builder /build/package*.json ./
|
||||||
|
RUN npm ci --ignore-scripts --only=production && npm cache clean --force
|
||||||
|
|
||||||
|
# Copy built files from the builder stage
|
||||||
|
COPY --from=builder /build/public ./public
|
||||||
|
COPY --from=builder /build/adapters ./adapters
|
||||||
|
COPY --from=builder /build/server ./server
|
||||||
|
|
||||||
|
COPY --from=builder /build/node_modules ./node_modules
|
||||||
|
|
||||||
|
ENV NODE_ENV=production
|
||||||
|
|
||||||
|
CMD ["node", "server/entry.express"]
|
||||||
|
expose:
|
||||||
|
- 3000
|
||||||
|
env_file:
|
||||||
|
- .env
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.syncribullet.rule=Host(`${SYNCRIBULLET_HOSTNAME?}`)"
|
||||||
|
- "traefik.http.routers.syncribullet.entrypoints=websecure"
|
||||||
|
- "traefik.http.routers.syncribullet.tls.certresolver=letsencrypt"
|
||||||
|
- "traefik.http.services.syncribullet.loadbalancer.server.port=3000"
|
||||||
|
- "traefik.http.routers.syncribullet.middlewares=authelia@docker"
|
||||||
|
healthcheck:
|
||||||
|
test:
|
||||||
|
[
|
||||||
|
"CMD",
|
||||||
|
"wget",
|
||||||
|
"--quiet",
|
||||||
|
"--tries=1",
|
||||||
|
"--spider",
|
||||||
|
"http://localhost:3000/manifest.json",
|
||||||
|
]
|
||||||
|
interval: 30s
|
||||||
|
timeout: 10s
|
||||||
|
retries: 3
|
||||||
|
start_period: 60s
|
||||||
|
profiles:
|
||||||
|
- syncribullet
|
||||||
|
- all
|
||||||
@@ -72,6 +72,7 @@ include:
|
|||||||
- apps/stremio-streaming-catalogs/compose.yaml
|
- apps/stremio-streaming-catalogs/compose.yaml
|
||||||
- apps/stremio-trakt-addon/compose.yaml
|
- apps/stremio-trakt-addon/compose.yaml
|
||||||
- apps/stremthru/compose.yaml
|
- apps/stremthru/compose.yaml
|
||||||
|
- apps/syncribullet/compose.yaml
|
||||||
- apps/tautulli/compose.yaml
|
- apps/tautulli/compose.yaml
|
||||||
- apps/thelounge/compose.yaml
|
- apps/thelounge/compose.yaml
|
||||||
- apps/tmdb-addon/compose.yaml
|
- apps/tmdb-addon/compose.yaml
|
||||||
|
|||||||
Reference in New Issue
Block a user