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 ENV PNPM_HOME="/pnpm" 3 ENV PATH="$PNPM_HOME:$PATH" 4 RUN corepack enable 5 USER 1000 6 7 ARG BUILD_DATE ··· 9 ARG VERSION 10 11 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 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 20 COPY --chown=1000:1000 package.json pnpm-lock.yaml pnpm-workspace.yaml /app/ 21 WORKDIR /app 22 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 28 29 30 FROM base AS web ··· 43 WORKDIR /prod/tapper 44 CMD ["node", "dist/index.js"] 45 46 - LABEL org.opencontainers.image.authors="Dane Miller <me@dane.computer>" \ 47 org.opencontainers.image.source="https://tangled.org/dane.is.extraordinarily.cool/tealfmbot" \ 48 org.opencontainers.image.title="discostu" \ 49 org.opencontainers.image.description="A discord bot that displays your music listens based on your teal.fm records" \
··· 2 ENV PNPM_HOME="/pnpm" 3 ENV PATH="$PNPM_HOME:$PATH" 4 RUN corepack enable 5 + 6 + USER root 7 + RUN mkdir -p /prod/web /prod/bot /prod/tapper && chown -R 1000:1000 /prod 8 USER 1000 9 10 ARG BUILD_DATE ··· 12 ARG VERSION 13 14 FROM base AS build 15 + COPY --chown=1000:1000 apps/bot /app 16 + COPY --chown=1000:1000 apps/tapper /app 17 + COPY --chown=1000:1000 apps/web /app 18 19 + COPY --chown=1000:1000 packages/common /app 20 + COPY --chown=1000:1000 packages/database /app 21 + COPY --chown=1000:1000 packages/tsconfig /app 22 23 COPY --chown=1000:1000 package.json pnpm-lock.yaml pnpm-workspace.yaml /app/ 24 WORKDIR /app 25 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 31 32 33 FROM base AS web ··· 46 WORKDIR /prod/tapper 47 CMD ["node", "dist/index.js"] 48 49 + LABEL org.opencontainers.image.authors="Dane Miller 'me@dane.computer'" \ 50 org.opencontainers.image.source="https://tangled.org/dane.is.extraordinarily.cool/tealfmbot" \ 51 org.opencontainers.image.title="discostu" \ 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 .