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_TRAKT_ADDON_HOSTNAME=stremio-trakt.${DOMAIN}
|
||||
STREMTHRU_HOSTNAME=stremthru.${DOMAIN}
|
||||
SYNCRIBULLET_HOSTNAME=syncribullet.${DOMAIN}
|
||||
TAUTULLI_HOSTNAME=tautulli.${DOMAIN}
|
||||
THE_LOUNGE_HOSTNAME=thelounge.${DOMAIN}
|
||||
TMDB_ADDON_HOSTNAME=tmdb.${DOMAIN}
|
||||
|
||||
@@ -36,6 +36,7 @@ services:
|
||||
${STREMIO_CATALOG_PROVIDERS_HOSTNAME},
|
||||
${STREMIO_TRAKT_ADDON_HOSTNAME},
|
||||
${STREMIO_STREAMING_CATALOGS_HOSTNAME},
|
||||
${SYNCRIBULLET_HOSTNAME},
|
||||
${TMDB_ADDON_HOSTNAME},
|
||||
${TMDB_COLLECTIONS_HOSTNAME},
|
||||
${WEBSTREAMR_HOSTNAME}
|
||||
|
||||
@@ -81,6 +81,7 @@ services:
|
||||
${STREMIO_STREAMING_CATALOGS_HOSTNAME},
|
||||
${STREMIO_TRAKT_ADDON_HOSTNAME},
|
||||
${STREMTHRU_HOSTNAME},
|
||||
${SYNCRIBULLET_HOSTNAME},
|
||||
${TAUTULLI_HOSTNAME},
|
||||
${THE_LOUNGE_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-trakt-addon/compose.yaml
|
||||
- apps/stremthru/compose.yaml
|
||||
- apps/syncribullet/compose.yaml
|
||||
- apps/tautulli/compose.yaml
|
||||
- apps/thelounge/compose.yaml
|
||||
- apps/tmdb-addon/compose.yaml
|
||||
|
||||
Reference in New Issue
Block a user