WIP. A little custom music server
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

working on dockerfile

+217
+182
backend/.dockerignore
··· 1 + # Based on https://raw.githubusercontent.com/github/gitignore/main/Node.gitignore 2 + 3 + # Logs 4 + 5 + logs 6 + _.log 7 + npm-debug.log_ 8 + yarn-debug.log* 9 + yarn-error.log* 10 + lerna-debug.log* 11 + .pnpm-debug.log* 12 + 13 + # Caches 14 + 15 + .cache 16 + 17 + # Diagnostic reports (https://nodejs.org/api/report.html) 18 + 19 + report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json 20 + 21 + # Runtime data 22 + 23 + pids 24 + _.pid 25 + _.seed 26 + *.pid.lock 27 + 28 + # Directory for instrumented libs generated by jscoverage/JSCover 29 + 30 + lib-cov 31 + 32 + # Coverage directory used by tools like istanbul 33 + 34 + coverage 35 + *.lcov 36 + 37 + # nyc test coverage 38 + 39 + .nyc_output 40 + 41 + # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 42 + 43 + .grunt 44 + 45 + # Bower dependency directory (https://bower.io/) 46 + 47 + bower_components 48 + 49 + # node-waf configuration 50 + 51 + .lock-wscript 52 + 53 + # Compiled binary addons (https://nodejs.org/api/addons.html) 54 + 55 + build/Release 56 + 57 + # Dependency directories 58 + 59 + node_modules/ 60 + jspm_packages/ 61 + 62 + # Snowpack dependency directory (https://snowpack.dev/) 63 + 64 + web_modules/ 65 + 66 + # TypeScript cache 67 + 68 + *.tsbuildinfo 69 + 70 + # Optional npm cache directory 71 + 72 + .npm 73 + 74 + # Optional eslint cache 75 + 76 + .eslintcache 77 + 78 + # Optional stylelint cache 79 + 80 + .stylelintcache 81 + 82 + # Microbundle cache 83 + 84 + .rpt2_cache/ 85 + .rts2_cache_cjs/ 86 + .rts2_cache_es/ 87 + .rts2_cache_umd/ 88 + 89 + # Optional REPL history 90 + 91 + .node_repl_history 92 + 93 + # Output of 'npm pack' 94 + 95 + *.tgz 96 + 97 + # Yarn Integrity file 98 + 99 + .yarn-integrity 100 + 101 + # dotenv environment variable files 102 + 103 + .env 104 + .env.development.local 105 + .env.test.local 106 + .env.production.local 107 + .env.local 108 + 109 + # parcel-bundler cache (https://parceljs.org/) 110 + 111 + .parcel-cache 112 + 113 + # Next.js build output 114 + 115 + .next 116 + out 117 + 118 + # Nuxt.js build / generate output 119 + 120 + .nuxt 121 + dist 122 + 123 + # Gatsby files 124 + 125 + # Comment in the public line in if your project uses Gatsby and not Next.js 126 + 127 + # https://nextjs.org/blog/next-9-1#public-directory-support 128 + 129 + # public 130 + 131 + # vuepress build output 132 + 133 + .vuepress/dist 134 + 135 + # vuepress v2.x temp and cache directory 136 + 137 + .temp 138 + 139 + # Docusaurus cache and generated files 140 + 141 + .docusaurus 142 + 143 + # Serverless directories 144 + 145 + .serverless/ 146 + 147 + # FuseBox cache 148 + 149 + .fusebox/ 150 + 151 + # DynamoDB Local files 152 + 153 + .dynamodb/ 154 + 155 + # TernJS port file 156 + 157 + .tern-port 158 + 159 + # Stores VSCode versions used for testing VSCode extensions 160 + 161 + .vscode-test 162 + 163 + # yarn v2 164 + 165 + .yarn/cache 166 + .yarn/unplugged 167 + .yarn/build-state.yml 168 + .yarn/install-state.gz 169 + .pnp.* 170 + 171 + # IntelliJ based IDEs 172 + .idea 173 + 174 + # Finder (MacOS) folder config 175 + .DS_Store 176 + 177 + db.sqlite 178 + db.sqlite-shm 179 + db.sqlite-wal 180 + 181 + test-data/ 182 + opencodetmp/
+34
backend/Dockerfile
··· 1 + FROM oven/bun:alpine AS base 2 + WORKDIR /app 3 + 4 + FROM base AS install 5 + RUN mkdir -p /temp/dev 6 + COPY package.json bun.lock /temp/dev/ 7 + COPY ./backend/package.json /temp/dev/backend/ 8 + COPY ./shared/package.json /temp/dev/shared/ 9 + COPY ./web/package.json /temp/dev/web/ 10 + 11 + RUN cd /temp/dev && bun install --frozen-lockfile 12 + # Prod deps 13 + RUN mkdir -p /temp/prod 14 + COPY package.json bun.lock /temp/prod/ 15 + COPY ./backend/package.json /temp/prod/backend/ 16 + COPY ./shared/package.json /temp/prod/shared/ 17 + COPY ./web/package.json /temp/prod/web/ 18 + RUN cd /temp/prod && bun install --frozen-lockfile --production 19 + 20 + FROM base AS prerelease 21 + COPY --from=install /temp/dev/node_modules node_modules 22 + COPY . . 23 + ENV NODE_ENV=production 24 + WORKDIR /app/backend 25 + RUN bun run build 26 + WORKDIR /app 27 + 28 + FROM base AS release 29 + COPY --from=install /temp/prod/node_modules node_modules 30 + COPY --from=prerelease /app/backend/dist . 31 + 32 + USER bun 33 + EXPOSE 3000/tcp 34 + ENTRYPOINT [ "bun", "index.js" ]
+1
backend/package.json
··· 4 4 "type": "module", 5 5 "scripts": { 6 6 "dev": "bun run --watch ./src/index.ts", 7 + "build": "bun build ./src/index.ts --target=bun --bytecode --outdir=./dist", 7 8 "db:migrate": "bun run ./src/db/migrate.ts", 8 9 "db:gen": "drizzle-kit generate", 9 10 "test": "vitest run"