A discord bot for teal.fm
discord tealfm music

no workflow, build local

besaid.zone e06e8b1a 9a1df140

verified
Changed files
+28 -55
.tangled
workflows
-43
.tangled/workflows/docker-atcr.yml
··· 1 - when: 2 - - event: ["push"] 3 - branch: main 4 - # tag: ["v*"] 5 - 6 - engine: nixery 7 - 8 - dependencies: 9 - nixpkgs: 10 - - docker 11 - 12 - steps: 13 - - name: log in to atcr 14 - command: | 15 - echo $ATCR_APP_PASSWORD | docker login atcr.io -u $ATCR_USER --password-stdin 16 - 17 - - name: build image 18 - command: | 19 - git fetch --prune --unshallow 2>/dev/null || true 20 - git fetch --prune --tags --force origin 'refs/tags/*:refs/tags/*' 21 - 22 - SHA=$(git rev-parse HEAD) 23 - BUILD_DATE=$(date -u +%Y-%m-%dT%H:%M:%SZ) 24 - VERSION=$(git describe --tags --abbrev=0) 25 - 26 - echo "$VERSION" > .version 27 - 28 - echo "building container version ${VERSION}" 29 - 30 - docker build \ 31 - -t discostu:$VERSION \ 32 - --build-arg VERSION=$VERSION \ 33 - --build-arg SHA=$SHA \ 34 - --build-arg BUILD_DATE=$BUILD_DATE \ 35 - --pull \ 36 - --no-cache . 37 - 38 - - name: push image 39 - command: | 40 - VERSION=$(cat .version) 41 - export VERSION 42 - 43 - docker push atcr.io/$ATCR_USER/discostu:$VERSION
+15 -12
Dockerfile
··· 2 2 ENV PNPM_HOME="/pnpm" 3 3 ENV PATH="$PNPM_HOME:$PATH" 4 4 RUN corepack enable 5 + 6 + USER root 7 + RUN mkdir -p /prod/web /prod/bot /prod/tapper && chown -R 1000:1000 /prod 5 8 USER 1000 6 9 7 10 ARG BUILD_DATE ··· 9 12 ARG VERSION 10 13 11 14 FROM base AS build 12 - COPY --chown=1000:1000 /apps/bot /app 13 - COPY --chown=1000:1000 /apps/tapper /app 14 - COPY --chown=1000:1000 /apps/web /app 15 + COPY --chown=1000:1000 apps/bot /app 16 + COPY --chown=1000:1000 apps/tapper /app 17 + COPY --chown=1000:1000 apps/web /app 15 18 16 - COPY --chown=1000:1000 /packages/common /app 17 - COPY --chown=1000:1000 /packages/database /app 18 - COPY --chown=1000:1000 /packages/tsconfig /app 19 + COPY --chown=1000:1000 packages/common /app 20 + COPY --chown=1000:1000 packages/database /app 21 + COPY --chown=1000:1000 packages/tsconfig /app 19 22 20 23 COPY --chown=1000:1000 package.json pnpm-lock.yaml pnpm-workspace.yaml /app/ 21 24 WORKDIR /app 22 25 23 - RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile \ 24 - pnpm run -r build \ 25 - pnpm deploy --filter=./apps/web --prod /prod/web \ 26 - pnpm deploy --filter=./apps/bot --prod /prod/bot \ 27 - pnpm deploy --filter=./apps/tapper --prod /prod/tapper 26 + RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile 27 + RUN pnpm run -r build 28 + RUN pnpm deploy --filter=./apps/web --prod /prod/web 29 + RUN pnpm deploy --filter=./apps/bot --prod /prod/bot 30 + RUN pnpm deploy --filter=./apps/tapper --prod /prod/tapper 28 31 29 32 30 33 FROM base AS web ··· 43 46 WORKDIR /prod/tapper 44 47 CMD ["node", "dist/index.js"] 45 48 46 - LABEL org.opencontainers.image.authors="Dane Miller <me@dane.computer>" \ 49 + LABEL org.opencontainers.image.authors="Dane Miller 'me@dane.computer'" \ 47 50 org.opencontainers.image.source="https://tangled.org/dane.is.extraordinarily.cool/tealfmbot" \ 48 51 org.opencontainers.image.title="discostu" \ 49 52 org.opencontainers.image.description="A discord bot that displays your music listens based on your teal.fm records" \
+13
build-docker.sh
··· 1 + SHA=$(git rev-parse HEAD) 2 + BUILD_DATE=$(date -u +%Y-%m-%dT%H:%M:%SZ) 3 + VERSION=$(git describe --tags --abbrev=0) 4 + 5 + echo "building container version ${VERSION#v}" 6 + 7 + docker build \ 8 + -t discostu:${VERSION#v} \ 9 + --build-arg VERSION=${VERSION#v} \ 10 + --build-arg SHA=$SHA \ 11 + --build-arg BUILD_DATE=$BUILD_DATE \ 12 + --pull \ 13 + --no-cache .