ci/cd: added docker files

This commit is contained in:
snusxd
2026-04-11 21:40:35 +03:00
parent d2b5489001
commit ef6229fcd1
5 changed files with 40 additions and 2 deletions

2
.env
View File

@@ -1,2 +1,4 @@
VITE_BACKEND_DOMAIN=https://localhost:6767
VITE_LASTFM_API=577403120879aadec2e6fd0d6160cca4 VITE_LASTFM_API=577403120879aadec2e6fd0d6160cca4
LASTFM_SECRET=08baaf3b3050854d019ce5884e0d6d27 LASTFM_SECRET=08baaf3b3050854d019ce5884e0d6d27

6
Caddyfile Normal file
View File

@@ -0,0 +1,6 @@
:80 {
root * /usr/share/caddy
encode gzip zstd
file_server
try_files {path} /index.html
}

18
Dockerfile Normal file
View File

@@ -0,0 +1,18 @@
FROM node:22-slim AS base
ENV PNPM_HOME="/pnpm"
ENV PATH="$PNPM_HOME:$PATH"
RUN corepack enable
COPY . /app
WORKDIR /app
FROM base AS build
ARG CI=true
ARG VITE_BACKEND_DOMAIN
ENV VITE_BACKEND_DOMAIN=$VITE_BACKEND_DOMAIN
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile
RUN pnpm run build
FROM caddy:alpine
COPY Caddyfile /etc/caddy/Caddyfile
COPY --from=build /app/dist /usr/share/caddy
EXPOSE 80

10
docker-compose.yml Normal file
View File

@@ -0,0 +1,10 @@
services:
mva-frontend:
image: mva-frontend:latest
container_name: mva-frontend
ports:
- 1488:80
build:
context: .
args:
- VITE_BACKEND_DOMAIN=${VITE_BACKEND_DOMAIN}

View File

@@ -3,6 +3,8 @@ import axios from 'axios'
import { onMounted, onUnmounted, ref } from 'vue' import { onMounted, onUnmounted, ref } from 'vue'
import { ChangeTitle } from '@/utils/change-title' import { ChangeTitle } from '@/utils/change-title'
const backendUrl = import.meta.env.VITE_BACKEND_DOMAIN
// api // api
const lastfmapi = import.meta.env.VITE_LASTFM_API const lastfmapi = import.meta.env.VITE_LASTFM_API
const lastfmusername = 'snsxd' const lastfmusername = 'snsxd'
@@ -43,14 +45,14 @@ onMounted(() => {
if (artist.value != trackData[0].artist['#text']) if (artist.value != trackData[0].artist['#text'])
ChangeTitle(artist, artist.value, trackData[0].artist['#text']) ChangeTitle(artist, artist.value, trackData[0].artist['#text'])
if (track.value != trackData[0].name) { if (track.value != trackData[0].name) {
labelurl.value = `http://localhost:3000/cover/${trackData[0].artist['#text'].replace('/', '')}/${trackData[0].album['#text']}/${trackData[0].album.mbid ? trackData[0].album.mbid : '0'}` labelurl.value = `${backendUrl}/cover/${trackData[0].artist['#text'].replace('/', '')}/${trackData[0].album['#text']}/${trackData[0].album.mbid ? trackData[0].album.mbid : '0'}`
console.log(labelurl.value) console.log(labelurl.value)
ChangeTitle(track, track.value, trackData[0].name) ChangeTitle(track, track.value, trackData[0].name)
} }
} else { } else {
if (header.value !== 'silence...') ChangeTitle(header, header.value, 'silence...') if (header.value !== 'silence...') ChangeTitle(header, header.value, 'silence...')
primary_color.value = '#656565' primary_color.value = '#656565'
labelurl.value = `http://localhost:3000/cover/0/0/0` labelurl.value = `${backendUrl}/cover/0/0/0`
if (artist.value != trackData[0].artist['#text']) if (artist.value != trackData[0].artist['#text'])
ChangeTitle(artist, artist.value, trackData[0].artist['#text']) ChangeTitle(artist, artist.value, trackData[0].artist['#text'])
if (track.value != trackData[0].name) ChangeTitle(track, track.value, trackData[0].name) if (track.value != trackData[0].name) ChangeTitle(track, track.value, trackData[0].name)