diff --git a/.gitignore b/.gitignore index e6d558d..2b249a3 100644 --- a/.gitignore +++ b/.gitignore @@ -9,8 +9,8 @@ gitea/config/app.ini gitea/data/* gitea-runner/data/* -# Will add in future (webpack) -nginx/vue/crates/ +# Rust build artifacts +**/target/ # Logs logs diff --git a/CLAUDE.md b/CLAUDE.md index e633602..0b1a08a 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -17,13 +17,13 @@ docker compose up --build ### Frontend only (hot reload) ``` -cd nginx/vue && npm run dev +cd vue && npm run dev ``` Vite dev server proxies `/api` to `localhost:8080`, `/gitea` to `localhost:3000`, `/radio` to `localhost:8000`. ### Frontend build ``` -cd nginx/vue && npm run build +cd vue && npm run build ``` ### Regenerate GraphQL (after editing schema files) @@ -38,7 +38,7 @@ Dockerized multi-service personal website self-hosted on a Raspberry Pi. **Backend** (`backend/`): Go with Gin router. GraphQL API via gqlgen at `POST /api/graphql`. REST endpoints for auth, file uploads, Spotify OAuth, and WebSockets. GORM for PostgreSQL with auto-migrations (no separate migration files). JWT auth stored in HTTP-only cookies. -**Frontend** (`nginx/vue/`): Vue 3 SPA with Vite, Tailwind CSS v4, Pinia stores, Vue Router. Served as static files through Nginx. +**Frontend** (`vue/`): Vue 3 SPA with Vite, Tailwind CSS v4, Pinia stores, Vue Router. Built in a separate container; assets served through Nginx (production) or proxied to Vite dev server (dev mode). **Nginx** (`nginx/`): Reverse proxy + SPA server. Config is templated (`nginx.conf.template`) and selected at runtime by `entrypoint.sh` based on `DEV_MODE` and certificate presence. Rate limiting on login (5/min), API (30/sec), uploads (5/min). diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index 3e1e0f1..51c0387 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -1,4 +1,11 @@ services: + vue: + command: ["npm", "run", "dev"] + volumes: + - ./vue:/app + - /app/node_modules + environment: + - NODE_ENV=development nginx: environment: - DEV_MODE=true diff --git a/docker-compose.yml b/docker-compose.yml index be84c4a..484dd81 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,8 +5,19 @@ networks: volumes: dbdata: uploads: + vue_dist: services: + vue: + build: + context: ./vue + dockerfile: Dockerfile + container_name: vue + volumes: + - vue_dist:/output + networks: + - app-network + nginx: build: context: ./nginx @@ -15,6 +26,7 @@ services: env_file: ./.env restart: always depends_on: + - vue - backend - icecast2 - gitea @@ -27,6 +39,7 @@ services: - ./certbot/conf:/etc/letsencrypt - ./certbot/www:/var/www/certbot - uploads:/uploads + - vue_dist:/etc/nginx/html certbot: image: certbot/certbot diff --git a/nginx/.dockerignore b/nginx/.dockerignore index 4d7fb5b..da2618e 100644 --- a/nginx/.dockerignore +++ b/nginx/.dockerignore @@ -1,5 +1,2 @@ -vue/node_modules -vue/.vite -vue/dist **/.git **/.DS_Store diff --git a/nginx/Dockerfile b/nginx/Dockerfile index 874cbc4..c75cab9 100644 --- a/nginx/Dockerfile +++ b/nginx/Dockerfile @@ -1,21 +1,9 @@ -# Stage 1: Build Vue app -FROM node:22-slim AS build -RUN apt-get update && apt-get install -y make git && rm -rf /var/lib/apt/lists/* -WORKDIR /app -COPY vue/package.json vue/package-lock.json ./ -RUN npm ci -COPY vue/ ./ -RUN npm run build - -# Stage 2: Serve with nginx FROM nginx:latest RUN rm -rf /etc/nginx/html/* && \ apt-get update && apt-get install -y gettext-base && \ rm -rf /var/lib/apt/lists/* -COPY --from=build /app/dist /etc/nginx/html/ COPY nginx.conf.template /etc/nginx/nginx.conf.template COPY nginx_setup.conf.template /etc/nginx/nginx_setup.conf.template COPY nginx_dev.conf.template /etc/nginx/nginx_dev.conf.template -COPY robots.txt /etc/nginx/html/robots.txt COPY entrypoint.sh /entrypoint.sh ENTRYPOINT ["/entrypoint.sh"] diff --git a/nginx/entrypoint.sh b/nginx/entrypoint.sh index 3e1eccb..83fa286 100755 --- a/nginx/entrypoint.sh +++ b/nginx/entrypoint.sh @@ -20,5 +20,20 @@ fi # Ensure upload directory is traversable by nginx worker chmod 755 /uploads 2>/dev/null || true +# Wait for Vue assets in production mode +if [ "$DEV_MODE" != "true" ]; then + echo "Waiting for Vue assets..." + elapsed=0 + while [ ! -f /etc/nginx/html/index.html ] && [ $elapsed -lt 120 ]; do + sleep 1 + elapsed=$((elapsed + 1)) + done + if [ ! -f /etc/nginx/html/index.html ]; then + echo "WARNING: Vue assets not found after 120s, starting nginx anyway" + else + echo "Vue assets ready." + fi +fi + # Start nginx nginx -g 'daemon off;' diff --git a/nginx/nginx_dev.conf.template b/nginx/nginx_dev.conf.template index a9cbcef..ee97491 100644 --- a/nginx/nginx_dev.conf.template +++ b/nginx/nginx_dev.conf.template @@ -28,9 +28,6 @@ http { listen 80; server_name $DOMAIN www.$DOMAIN; - root /etc/nginx/html; - index index.html; - location /uploads/ { alias /uploads/; add_header X-Content-Type-Options nosniff always; @@ -39,17 +36,11 @@ http { } location / { - try_files $uri $uri/ /index.html; - } - - location = /robots.txt { - allow all; - log_not_found off; - access_log off; - } - - location = /img/stamps/mine.gif { - add_header Access-Control-Allow-Origin *; + proxy_pass http://vue:5173; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header Host $host; } location $BACKEND_ENDPOINT { diff --git a/vue/.dockerignore b/vue/.dockerignore new file mode 100644 index 0000000..8d062ab --- /dev/null +++ b/vue/.dockerignore @@ -0,0 +1,5 @@ +node_modules +.vite +dist +**/.git +**/.DS_Store diff --git a/vue/Dockerfile b/vue/Dockerfile new file mode 100644 index 0000000..2d0ba90 --- /dev/null +++ b/vue/Dockerfile @@ -0,0 +1,7 @@ +FROM node:22-slim +RUN apt-get update && apt-get install -y make git && rm -rf /var/lib/apt/lists/* +WORKDIR /app +COPY package.json package-lock.json ./ +RUN npm ci +COPY . . +CMD ["sh", "-c", "npm run build -- --outDir /output --emptyOutDir"] diff --git a/nginx/vue/README.md b/vue/README.md similarity index 100% rename from nginx/vue/README.md rename to vue/README.md diff --git a/vue/crates/stp_wasm/Cargo.lock b/vue/crates/stp_wasm/Cargo.lock new file mode 100644 index 0000000..80850d0 --- /dev/null +++ b/vue/crates/stp_wasm/Cargo.lock @@ -0,0 +1,136 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "bumpalo" +version = "3.19.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510" + +[[package]] +name = "cfg-if" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" + +[[package]] +name = "js-sys" +version = "0.3.85" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c942ebf8e95485ca0d52d97da7c5a2c387d0e7f0ba4c35e93bfcaee045955b3" +dependencies = [ + "once_cell", + "wasm-bindgen", +] + +[[package]] +name = "once_cell" +version = "1.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" + +[[package]] +name = "proc-macro2" +version = "1.0.106" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rustversion" +version = "1.0.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" + +[[package]] +name = "stp_wasm" +version = "0.1.0" +dependencies = [ + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "syn" +version = "2.0.116" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3df424c70518695237746f84cede799c9c58fcb37450d7b23716568cc8bc69cb" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "unicode-ident" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" + +[[package]] +name = "wasm-bindgen" +version = "0.2.108" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64024a30ec1e37399cf85a7ffefebdb72205ca1c972291c51512360d90bd8566" +dependencies = [ + "cfg-if", + "once_cell", + "rustversion", + "wasm-bindgen-macro", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.108" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "008b239d9c740232e71bd39e8ef6429d27097518b6b30bdf9086833bd5b6d608" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.108" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5256bae2d58f54820e6490f9839c49780dff84c65aeab9e772f15d5f0e913a55" +dependencies = [ + "bumpalo", + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.108" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f01b580c9ac74c8d8f0c0e4afb04eeef2acf145458e52c03845ee9cd23e3d12" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "web-sys" +version = "0.3.85" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "312e32e551d92129218ea9a2452120f4aabc03529ef03e4d0d82fb2780608598" +dependencies = [ + "js-sys", + "wasm-bindgen", +] diff --git a/vue/crates/stp_wasm/Cargo.toml b/vue/crates/stp_wasm/Cargo.toml new file mode 100644 index 0000000..ec356bd --- /dev/null +++ b/vue/crates/stp_wasm/Cargo.toml @@ -0,0 +1,15 @@ +[package] +name = "stp_wasm" +version = "0.1.0" +edition = "2024" + +[dependencies] +js-sys = "0.3.85" +wasm-bindgen = "0.2.108" +web-sys = { version = "0.3.85", features = [ + "console", + "Document", + "Element", + "Window", + "Animation", +] } diff --git a/vue/crates/stp_wasm/src/lib.rs b/vue/crates/stp_wasm/src/lib.rs new file mode 100644 index 0000000..957c5ac --- /dev/null +++ b/vue/crates/stp_wasm/src/lib.rs @@ -0,0 +1,6 @@ +use wasm_bindgen::prelude::*; + +#[wasm_bindgen] +pub struct BadApplePlayer { + is_playing: bool, +} diff --git a/nginx/vue/index.html b/vue/index.html similarity index 100% rename from nginx/vue/index.html rename to vue/index.html diff --git a/nginx/vue/jsconfig.json b/vue/jsconfig.json similarity index 100% rename from nginx/vue/jsconfig.json rename to vue/jsconfig.json diff --git a/nginx/vue/package-lock.json b/vue/package-lock.json similarity index 100% rename from nginx/vue/package-lock.json rename to vue/package-lock.json diff --git a/nginx/vue/package.json b/vue/package.json similarity index 100% rename from nginx/vue/package.json rename to vue/package.json diff --git a/nginx/vue/public/fonts/AldotheApache.ttf b/vue/public/fonts/AldotheApache.ttf similarity index 100% rename from nginx/vue/public/fonts/AldotheApache.ttf rename to vue/public/fonts/AldotheApache.ttf diff --git a/nginx/vue/public/fonts/CreatoDisplay-Bold.otf b/vue/public/fonts/CreatoDisplay-Bold.otf similarity index 100% rename from nginx/vue/public/fonts/CreatoDisplay-Bold.otf rename to vue/public/fonts/CreatoDisplay-Bold.otf diff --git a/nginx/vue/public/fonts/CreatoDisplay-Regular.otf b/vue/public/fonts/CreatoDisplay-Regular.otf similarity index 100% rename from nginx/vue/public/fonts/CreatoDisplay-Regular.otf rename to vue/public/fonts/CreatoDisplay-Regular.otf diff --git a/nginx/vue/public/fonts/Robot_Font.otf b/vue/public/fonts/Robot_Font.otf similarity index 100% rename from nginx/vue/public/fonts/Robot_Font.otf rename to vue/public/fonts/Robot_Font.otf diff --git a/nginx/vue/public/fonts/big_noodle_titling.ttf b/vue/public/fonts/big_noodle_titling.ttf similarity index 100% rename from nginx/vue/public/fonts/big_noodle_titling.ttf rename to vue/public/fonts/big_noodle_titling.ttf diff --git a/nginx/vue/public/fonts/m12.ttf b/vue/public/fonts/m12.ttf similarity index 100% rename from nginx/vue/public/fonts/m12.ttf rename to vue/public/fonts/m12.ttf diff --git a/nginx/vue/public/img/Untitled.png b/vue/public/img/Untitled.png similarity index 100% rename from nginx/vue/public/img/Untitled.png rename to vue/public/img/Untitled.png diff --git a/nginx/vue/public/img/background.png b/vue/public/img/background.png similarity index 100% rename from nginx/vue/public/img/background.png rename to vue/public/img/background.png diff --git a/nginx/vue/public/img/bedroom/img1.JPEG b/vue/public/img/bedroom/img1.JPEG similarity index 100% rename from nginx/vue/public/img/bedroom/img1.JPEG rename to vue/public/img/bedroom/img1.JPEG diff --git a/nginx/vue/public/img/bedroom/img1.png b/vue/public/img/bedroom/img1.png similarity index 100% rename from nginx/vue/public/img/bedroom/img1.png rename to vue/public/img/bedroom/img1.png diff --git a/nginx/vue/public/img/bedroom/img2.JPEG b/vue/public/img/bedroom/img2.JPEG similarity index 100% rename from nginx/vue/public/img/bedroom/img2.JPEG rename to vue/public/img/bedroom/img2.JPEG diff --git a/nginx/vue/public/img/bedroom/img2.png b/vue/public/img/bedroom/img2.png similarity index 100% rename from nginx/vue/public/img/bedroom/img2.png rename to vue/public/img/bedroom/img2.png diff --git a/nginx/vue/public/img/borders/border1.gif b/vue/public/img/borders/border1.gif similarity index 100% rename from nginx/vue/public/img/borders/border1.gif rename to vue/public/img/borders/border1.gif diff --git a/nginx/vue/public/img/borders/border1inv.gif b/vue/public/img/borders/border1inv.gif similarity index 100% rename from nginx/vue/public/img/borders/border1inv.gif rename to vue/public/img/borders/border1inv.gif diff --git a/nginx/vue/public/img/borders/border2.png b/vue/public/img/borders/border2.png similarity index 100% rename from nginx/vue/public/img/borders/border2.png rename to vue/public/img/borders/border2.png diff --git a/nginx/vue/public/img/borders/border3.png b/vue/public/img/borders/border3.png similarity index 100% rename from nginx/vue/public/img/borders/border3.png rename to vue/public/img/borders/border3.png diff --git a/nginx/vue/public/img/borders/border4.gif b/vue/public/img/borders/border4.gif similarity index 100% rename from nginx/vue/public/img/borders/border4.gif rename to vue/public/img/borders/border4.gif diff --git a/nginx/vue/public/img/borders/borderCV.gif b/vue/public/img/borders/borderCV.gif similarity index 100% rename from nginx/vue/public/img/borders/borderCV.gif rename to vue/public/img/borders/borderCV.gif diff --git a/nginx/vue/public/img/borders/bordercv.gif b/vue/public/img/borders/bordercv.gif similarity index 100% rename from nginx/vue/public/img/borders/bordercv.gif rename to vue/public/img/borders/bordercv.gif diff --git a/nginx/vue/public/img/borders/bordercv.png b/vue/public/img/borders/bordercv.png similarity index 100% rename from nginx/vue/public/img/borders/bordercv.png rename to vue/public/img/borders/bordercv.png diff --git a/nginx/vue/public/img/borders/utena.png b/vue/public/img/borders/utena.png similarity index 100% rename from nginx/vue/public/img/borders/utena.png rename to vue/public/img/borders/utena.png diff --git a/nginx/vue/public/img/borders/utena_frame.png b/vue/public/img/borders/utena_frame.png similarity index 100% rename from nginx/vue/public/img/borders/utena_frame.png rename to vue/public/img/borders/utena_frame.png diff --git a/nginx/vue/public/img/demoman/1760582395316219.webm b/vue/public/img/demoman/1760582395316219.webm similarity index 100% rename from nginx/vue/public/img/demoman/1760582395316219.webm rename to vue/public/img/demoman/1760582395316219.webm diff --git a/nginx/vue/public/img/demoman/1761052136609718.webm b/vue/public/img/demoman/1761052136609718.webm similarity index 100% rename from nginx/vue/public/img/demoman/1761052136609718.webm rename to vue/public/img/demoman/1761052136609718.webm diff --git a/nginx/vue/public/img/demoman/1761088452011210.mp4 b/vue/public/img/demoman/1761088452011210.mp4 similarity index 100% rename from nginx/vue/public/img/demoman/1761088452011210.mp4 rename to vue/public/img/demoman/1761088452011210.mp4 diff --git a/nginx/vue/public/img/demoman/1761570214170465.webm b/vue/public/img/demoman/1761570214170465.webm similarity index 100% rename from nginx/vue/public/img/demoman/1761570214170465.webm rename to vue/public/img/demoman/1761570214170465.webm diff --git a/nginx/vue/public/img/demoman/1761828457509465.webm b/vue/public/img/demoman/1761828457509465.webm similarity index 100% rename from nginx/vue/public/img/demoman/1761828457509465.webm rename to vue/public/img/demoman/1761828457509465.webm diff --git a/nginx/vue/public/img/demoman/m2-res_720p.mp4 b/vue/public/img/demoman/m2-res_720p.mp4 similarity index 100% rename from nginx/vue/public/img/demoman/m2-res_720p.mp4 rename to vue/public/img/demoman/m2-res_720p.mp4 diff --git a/nginx/vue/public/img/epic.jpeg b/vue/public/img/epic.jpeg similarity index 100% rename from nginx/vue/public/img/epic.jpeg rename to vue/public/img/epic.jpeg diff --git a/nginx/vue/public/img/evangelion/1751722658545025.webm b/vue/public/img/evangelion/1751722658545025.webm similarity index 100% rename from nginx/vue/public/img/evangelion/1751722658545025.webm rename to vue/public/img/evangelion/1751722658545025.webm diff --git a/nginx/vue/public/img/evangelion/1752167296446761.webm b/vue/public/img/evangelion/1752167296446761.webm similarity index 100% rename from nginx/vue/public/img/evangelion/1752167296446761.webm rename to vue/public/img/evangelion/1752167296446761.webm diff --git a/nginx/vue/public/img/evangelion/1752573650791232.webm b/vue/public/img/evangelion/1752573650791232.webm similarity index 100% rename from nginx/vue/public/img/evangelion/1752573650791232.webm rename to vue/public/img/evangelion/1752573650791232.webm diff --git a/nginx/vue/public/img/evangelion/1754090738900322.webm b/vue/public/img/evangelion/1754090738900322.webm similarity index 100% rename from nginx/vue/public/img/evangelion/1754090738900322.webm rename to vue/public/img/evangelion/1754090738900322.webm diff --git a/nginx/vue/public/img/evangelion/1754315171900320.mp4 b/vue/public/img/evangelion/1754315171900320.mp4 similarity index 100% rename from nginx/vue/public/img/evangelion/1754315171900320.mp4 rename to vue/public/img/evangelion/1754315171900320.mp4 diff --git a/nginx/vue/public/img/evangelion/1754416300987968.webm b/vue/public/img/evangelion/1754416300987968.webm similarity index 100% rename from nginx/vue/public/img/evangelion/1754416300987968.webm rename to vue/public/img/evangelion/1754416300987968.webm diff --git a/nginx/vue/public/img/evangelion/1755791134999098.mp4 b/vue/public/img/evangelion/1755791134999098.mp4 similarity index 100% rename from nginx/vue/public/img/evangelion/1755791134999098.mp4 rename to vue/public/img/evangelion/1755791134999098.mp4 diff --git a/nginx/vue/public/img/evangelion/1755791932803463.mp4 b/vue/public/img/evangelion/1755791932803463.mp4 similarity index 100% rename from nginx/vue/public/img/evangelion/1755791932803463.mp4 rename to vue/public/img/evangelion/1755791932803463.mp4 diff --git a/nginx/vue/public/img/evangelion/1756950404768114.webm b/vue/public/img/evangelion/1756950404768114.webm similarity index 100% rename from nginx/vue/public/img/evangelion/1756950404768114.webm rename to vue/public/img/evangelion/1756950404768114.webm diff --git a/nginx/vue/public/img/evangelion/1759271450919264.webm b/vue/public/img/evangelion/1759271450919264.webm similarity index 100% rename from nginx/vue/public/img/evangelion/1759271450919264.webm rename to vue/public/img/evangelion/1759271450919264.webm diff --git a/nginx/vue/public/img/evangelion/1760157883887673.webm b/vue/public/img/evangelion/1760157883887673.webm similarity index 100% rename from nginx/vue/public/img/evangelion/1760157883887673.webm rename to vue/public/img/evangelion/1760157883887673.webm diff --git a/nginx/vue/public/img/evangelion/1760765839977417.webm b/vue/public/img/evangelion/1760765839977417.webm similarity index 100% rename from nginx/vue/public/img/evangelion/1760765839977417.webm rename to vue/public/img/evangelion/1760765839977417.webm diff --git a/nginx/vue/public/img/evangelion/1760766316027911.mp4 b/vue/public/img/evangelion/1760766316027911.mp4 similarity index 100% rename from nginx/vue/public/img/evangelion/1760766316027911.mp4 rename to vue/public/img/evangelion/1760766316027911.mp4 diff --git a/nginx/vue/public/img/evangelion/1760865119827753.mp4 b/vue/public/img/evangelion/1760865119827753.mp4 similarity index 100% rename from nginx/vue/public/img/evangelion/1760865119827753.mp4 rename to vue/public/img/evangelion/1760865119827753.mp4 diff --git a/nginx/vue/public/img/evangelion/1761433469781419.webm b/vue/public/img/evangelion/1761433469781419.webm similarity index 100% rename from nginx/vue/public/img/evangelion/1761433469781419.webm rename to vue/public/img/evangelion/1761433469781419.webm diff --git a/nginx/vue/public/img/favicon.ico b/vue/public/img/favicon.ico similarity index 100% rename from nginx/vue/public/img/favicon.ico rename to vue/public/img/favicon.ico diff --git a/nginx/vue/public/img/img.png b/vue/public/img/img.png similarity index 100% rename from nginx/vue/public/img/img.png rename to vue/public/img/img.png diff --git a/nginx/vue/public/img/memes/1755430627827545.webm b/vue/public/img/memes/1755430627827545.webm similarity index 100% rename from nginx/vue/public/img/memes/1755430627827545.webm rename to vue/public/img/memes/1755430627827545.webm diff --git a/nginx/vue/public/img/memes/1761047246286262.webm b/vue/public/img/memes/1761047246286262.webm similarity index 100% rename from nginx/vue/public/img/memes/1761047246286262.webm rename to vue/public/img/memes/1761047246286262.webm diff --git a/nginx/vue/public/img/memes/1761201115308614.webm b/vue/public/img/memes/1761201115308614.webm similarity index 100% rename from nginx/vue/public/img/memes/1761201115308614.webm rename to vue/public/img/memes/1761201115308614.webm diff --git a/nginx/vue/public/img/memes/1761540684738196.webm b/vue/public/img/memes/1761540684738196.webm similarity index 100% rename from nginx/vue/public/img/memes/1761540684738196.webm rename to vue/public/img/memes/1761540684738196.webm diff --git a/nginx/vue/public/img/memes/1761830320173621.webm b/vue/public/img/memes/1761830320173621.webm similarity index 100% rename from nginx/vue/public/img/memes/1761830320173621.webm rename to vue/public/img/memes/1761830320173621.webm diff --git a/nginx/vue/public/img/memes/beer.png b/vue/public/img/memes/beer.png similarity index 100% rename from nginx/vue/public/img/memes/beer.png rename to vue/public/img/memes/beer.png diff --git a/nginx/vue/public/img/memes/epic.jpeg b/vue/public/img/memes/epic.jpeg similarity index 100% rename from nginx/vue/public/img/memes/epic.jpeg rename to vue/public/img/memes/epic.jpeg diff --git a/nginx/vue/public/img/memes/fire-woman.gif b/vue/public/img/memes/fire-woman.gif similarity index 100% rename from nginx/vue/public/img/memes/fire-woman.gif rename to vue/public/img/memes/fire-woman.gif diff --git a/nginx/vue/public/img/memes/lol.jpg b/vue/public/img/memes/lol.jpg similarity index 100% rename from nginx/vue/public/img/memes/lol.jpg rename to vue/public/img/memes/lol.jpg diff --git a/nginx/vue/public/img/memes/mix.gif b/vue/public/img/memes/mix.gif similarity index 100% rename from nginx/vue/public/img/memes/mix.gif rename to vue/public/img/memes/mix.gif diff --git a/nginx/vue/public/img/memes/no_slip.png b/vue/public/img/memes/no_slip.png similarity index 100% rename from nginx/vue/public/img/memes/no_slip.png rename to vue/public/img/memes/no_slip.png diff --git a/nginx/vue/public/img/memes/pidgeon.gif b/vue/public/img/memes/pidgeon.gif similarity index 100% rename from nginx/vue/public/img/memes/pidgeon.gif rename to vue/public/img/memes/pidgeon.gif diff --git a/nginx/vue/public/img/memes/simplescreenrecorder-2023-10-24_16.39.33.gif b/vue/public/img/memes/simplescreenrecorder-2023-10-24_16.39.33.gif similarity index 100% rename from nginx/vue/public/img/memes/simplescreenrecorder-2023-10-24_16.39.33.gif rename to vue/public/img/memes/simplescreenrecorder-2023-10-24_16.39.33.gif diff --git a/nginx/vue/public/img/memes/star.gif b/vue/public/img/memes/star.gif similarity index 100% rename from nginx/vue/public/img/memes/star.gif rename to vue/public/img/memes/star.gif diff --git a/nginx/vue/public/img/memes/welcome2.png b/vue/public/img/memes/welcome2.png similarity index 100% rename from nginx/vue/public/img/memes/welcome2.png rename to vue/public/img/memes/welcome2.png diff --git a/nginx/vue/public/img/miku/miku1.gif b/vue/public/img/miku/miku1.gif similarity index 100% rename from nginx/vue/public/img/miku/miku1.gif rename to vue/public/img/miku/miku1.gif diff --git a/nginx/vue/public/img/miku/miku2.gif b/vue/public/img/miku/miku2.gif similarity index 100% rename from nginx/vue/public/img/miku/miku2.gif rename to vue/public/img/miku/miku2.gif diff --git a/nginx/vue/public/img/miku/miku2.png b/vue/public/img/miku/miku2.png similarity index 100% rename from nginx/vue/public/img/miku/miku2.png rename to vue/public/img/miku/miku2.png diff --git a/nginx/vue/public/img/rune.png b/vue/public/img/rune.png similarity index 100% rename from nginx/vue/public/img/rune.png rename to vue/public/img/rune.png diff --git a/nginx/vue/public/img/screenshot.png b/vue/public/img/screenshot.png similarity index 100% rename from nginx/vue/public/img/screenshot.png rename to vue/public/img/screenshot.png diff --git a/nginx/vue/public/img/stamps/3ds.jpg b/vue/public/img/stamps/3ds.jpg similarity index 100% rename from nginx/vue/public/img/stamps/3ds.jpg rename to vue/public/img/stamps/3ds.jpg diff --git a/nginx/vue/public/img/stamps/ai.png b/vue/public/img/stamps/ai.png similarity index 100% rename from nginx/vue/public/img/stamps/ai.png rename to vue/public/img/stamps/ai.png diff --git a/nginx/vue/public/img/stamps/azudio.gif b/vue/public/img/stamps/azudio.gif similarity index 100% rename from nginx/vue/public/img/stamps/azudio.gif rename to vue/public/img/stamps/azudio.gif diff --git a/nginx/vue/public/img/stamps/demo.gif b/vue/public/img/stamps/demo.gif similarity index 100% rename from nginx/vue/public/img/stamps/demo.gif rename to vue/public/img/stamps/demo.gif diff --git a/nginx/vue/public/img/stamps/fry.png b/vue/public/img/stamps/fry.png similarity index 100% rename from nginx/vue/public/img/stamps/fry.png rename to vue/public/img/stamps/fry.png diff --git a/nginx/vue/public/img/stamps/haha.gif b/vue/public/img/stamps/haha.gif similarity index 100% rename from nginx/vue/public/img/stamps/haha.gif rename to vue/public/img/stamps/haha.gif diff --git a/nginx/vue/public/img/stamps/lain.gif b/vue/public/img/stamps/lain.gif similarity index 100% rename from nginx/vue/public/img/stamps/lain.gif rename to vue/public/img/stamps/lain.gif diff --git a/nginx/vue/public/img/stamps/miku.gif b/vue/public/img/stamps/miku.gif similarity index 100% rename from nginx/vue/public/img/stamps/miku.gif rename to vue/public/img/stamps/miku.gif diff --git a/nginx/vue/public/img/stamps/mine.gif b/vue/public/img/stamps/mine.gif similarity index 100% rename from nginx/vue/public/img/stamps/mine.gif rename to vue/public/img/stamps/mine.gif diff --git a/nginx/vue/public/img/stamps/mine2.gif b/vue/public/img/stamps/mine2.gif similarity index 100% rename from nginx/vue/public/img/stamps/mine2.gif rename to vue/public/img/stamps/mine2.gif diff --git a/nginx/vue/public/img/stamps/portal.gif b/vue/public/img/stamps/portal.gif similarity index 100% rename from nginx/vue/public/img/stamps/portal.gif rename to vue/public/img/stamps/portal.gif diff --git a/nginx/vue/public/img/stamps/rei.png b/vue/public/img/stamps/rei.png similarity index 100% rename from nginx/vue/public/img/stamps/rei.png rename to vue/public/img/stamps/rei.png diff --git a/nginx/vue/public/img/stamps/teto.webp b/vue/public/img/stamps/teto.webp similarity index 100% rename from nginx/vue/public/img/stamps/teto.webp rename to vue/public/img/stamps/teto.webp diff --git a/nginx/vue/public/img/stamps/tetris.gif b/vue/public/img/stamps/tetris.gif similarity index 100% rename from nginx/vue/public/img/stamps/tetris.gif rename to vue/public/img/stamps/tetris.gif diff --git a/nginx/vue/public/img/stamps/tf2.gif b/vue/public/img/stamps/tf2.gif similarity index 100% rename from nginx/vue/public/img/stamps/tf2.gif rename to vue/public/img/stamps/tf2.gif diff --git a/nginx/vue/public/img/stamps/utau.gif b/vue/public/img/stamps/utau.gif similarity index 100% rename from nginx/vue/public/img/stamps/utau.gif rename to vue/public/img/stamps/utau.gif diff --git a/nginx/vue/public/img/tmpen31z3pe.PNG b/vue/public/img/tmpen31z3pe.PNG similarity index 100% rename from nginx/vue/public/img/tmpen31z3pe.PNG rename to vue/public/img/tmpen31z3pe.PNG diff --git a/nginx/vue/public/img/uh.png b/vue/public/img/uh.png similarity index 100% rename from nginx/vue/public/img/uh.png rename to vue/public/img/uh.png diff --git a/nginx/vue/public/pdf/transcript.pdf b/vue/public/pdf/transcript.pdf similarity index 100% rename from nginx/vue/public/pdf/transcript.pdf rename to vue/public/pdf/transcript.pdf diff --git a/nginx/robots.txt b/vue/public/robots.txt similarity index 100% rename from nginx/robots.txt rename to vue/public/robots.txt diff --git a/nginx/vue/public/sound/auughhh.mp3 b/vue/public/sound/auughhh.mp3 similarity index 100% rename from nginx/vue/public/sound/auughhh.mp3 rename to vue/public/sound/auughhh.mp3 diff --git a/nginx/vue/src/App.vue b/vue/src/App.vue similarity index 100% rename from nginx/vue/src/App.vue rename to vue/src/App.vue diff --git a/nginx/vue/src/assets/styles.css b/vue/src/assets/styles.css similarity index 100% rename from nginx/vue/src/assets/styles.css rename to vue/src/assets/styles.css diff --git a/nginx/vue/src/components/Footer.vue b/vue/src/components/Footer.vue similarity index 100% rename from nginx/vue/src/components/Footer.vue rename to vue/src/components/Footer.vue diff --git a/nginx/vue/src/components/Navbar.vue b/vue/src/components/Navbar.vue similarity index 100% rename from nginx/vue/src/components/Navbar.vue rename to vue/src/components/Navbar.vue diff --git a/nginx/vue/src/components/borders/UtenaFrame.vue b/vue/src/components/borders/UtenaFrame.vue similarity index 100% rename from nginx/vue/src/components/borders/UtenaFrame.vue rename to vue/src/components/borders/UtenaFrame.vue diff --git a/nginx/vue/src/components/elle/Elle.vue b/vue/src/components/elle/Elle.vue similarity index 100% rename from nginx/vue/src/components/elle/Elle.vue rename to vue/src/components/elle/Elle.vue diff --git a/nginx/vue/src/components/input/Button.vue b/vue/src/components/input/Button.vue similarity index 100% rename from nginx/vue/src/components/input/Button.vue rename to vue/src/components/input/Button.vue diff --git a/nginx/vue/src/components/input/ToggleButton.vue b/vue/src/components/input/ToggleButton.vue similarity index 100% rename from nginx/vue/src/components/input/ToggleButton.vue rename to vue/src/components/input/ToggleButton.vue diff --git a/nginx/vue/src/components/text/Header.vue b/vue/src/components/text/Header.vue similarity index 100% rename from nginx/vue/src/components/text/Header.vue rename to vue/src/components/text/Header.vue diff --git a/nginx/vue/src/components/text/Headline.vue b/vue/src/components/text/Headline.vue similarity index 100% rename from nginx/vue/src/components/text/Headline.vue rename to vue/src/components/text/Headline.vue diff --git a/nginx/vue/src/components/text/InlineLink.vue b/vue/src/components/text/InlineLink.vue similarity index 100% rename from nginx/vue/src/components/text/InlineLink.vue rename to vue/src/components/text/InlineLink.vue diff --git a/nginx/vue/src/components/text/Link.vue b/vue/src/components/text/Link.vue similarity index 100% rename from nginx/vue/src/components/text/Link.vue rename to vue/src/components/text/Link.vue diff --git a/nginx/vue/src/components/text/Paragraph.vue b/vue/src/components/text/Paragraph.vue similarity index 100% rename from nginx/vue/src/components/text/Paragraph.vue rename to vue/src/components/text/Paragraph.vue diff --git a/nginx/vue/src/components/text/ToggleHeader.vue b/vue/src/components/text/ToggleHeader.vue similarity index 100% rename from nginx/vue/src/components/text/ToggleHeader.vue rename to vue/src/components/text/ToggleHeader.vue diff --git a/nginx/vue/src/components/util/AutoScroll.vue b/vue/src/components/util/AutoScroll.vue similarity index 100% rename from nginx/vue/src/components/util/AutoScroll.vue rename to vue/src/components/util/AutoScroll.vue diff --git a/nginx/vue/src/components/util/Chat.vue b/vue/src/components/util/Chat.vue similarity index 100% rename from nginx/vue/src/components/util/Chat.vue rename to vue/src/components/util/Chat.vue diff --git a/nginx/vue/src/components/util/CommitHistory.vue b/vue/src/components/util/CommitHistory.vue similarity index 100% rename from nginx/vue/src/components/util/CommitHistory.vue rename to vue/src/components/util/CommitHistory.vue diff --git a/nginx/vue/src/components/util/LinkTable.vue b/vue/src/components/util/LinkTable.vue similarity index 100% rename from nginx/vue/src/components/util/LinkTable.vue rename to vue/src/components/util/LinkTable.vue diff --git a/nginx/vue/src/components/util/Markdown.vue b/vue/src/components/util/Markdown.vue similarity index 100% rename from nginx/vue/src/components/util/Markdown.vue rename to vue/src/components/util/Markdown.vue diff --git a/nginx/vue/src/components/util/MusicPlayer.vue b/vue/src/components/util/MusicPlayer.vue similarity index 100% rename from nginx/vue/src/components/util/MusicPlayer.vue rename to vue/src/components/util/MusicPlayer.vue diff --git a/nginx/vue/src/components/util/ObjectTable.vue b/vue/src/components/util/ObjectTable.vue similarity index 100% rename from nginx/vue/src/components/util/ObjectTable.vue rename to vue/src/components/util/ObjectTable.vue diff --git a/nginx/vue/src/components/util/Radio.vue b/vue/src/components/util/Radio.vue similarity index 100% rename from nginx/vue/src/components/util/Radio.vue rename to vue/src/components/util/Radio.vue diff --git a/nginx/vue/src/components/util/RouterTable.vue b/vue/src/components/util/RouterTable.vue similarity index 100% rename from nginx/vue/src/components/util/RouterTable.vue rename to vue/src/components/util/RouterTable.vue diff --git a/nginx/vue/src/components/util/Slideshow.vue b/vue/src/components/util/Slideshow.vue similarity index 100% rename from nginx/vue/src/components/util/Slideshow.vue rename to vue/src/components/util/Slideshow.vue diff --git a/nginx/vue/src/components/util/Time.vue b/vue/src/components/util/Time.vue similarity index 100% rename from nginx/vue/src/components/util/Time.vue rename to vue/src/components/util/Time.vue diff --git a/nginx/vue/src/components/util/Timer.vue b/vue/src/components/util/Timer.vue similarity index 100% rename from nginx/vue/src/components/util/Timer.vue rename to vue/src/components/util/Timer.vue diff --git a/nginx/vue/src/components/util/Touchscreen.vue b/vue/src/components/util/Touchscreen.vue similarity index 100% rename from nginx/vue/src/components/util/Touchscreen.vue rename to vue/src/components/util/Touchscreen.vue diff --git a/nginx/vue/src/components/util/VideoTable.vue b/vue/src/components/util/VideoTable.vue similarity index 100% rename from nginx/vue/src/components/util/VideoTable.vue rename to vue/src/components/util/VideoTable.vue diff --git a/nginx/vue/src/components/util/Wip.vue b/vue/src/components/util/Wip.vue similarity index 100% rename from nginx/vue/src/components/util/Wip.vue rename to vue/src/components/util/Wip.vue diff --git a/nginx/vue/src/graphql.js b/vue/src/graphql.js similarity index 100% rename from nginx/vue/src/graphql.js rename to vue/src/graphql.js diff --git a/nginx/vue/src/js/mobile-automata.mjs b/vue/src/js/mobile-automata.mjs similarity index 100% rename from nginx/vue/src/js/mobile-automata.mjs rename to vue/src/js/mobile-automata.mjs diff --git a/nginx/vue/src/js/utils.js b/vue/src/js/utils.js similarity index 100% rename from nginx/vue/src/js/utils.js rename to vue/src/js/utils.js diff --git a/nginx/vue/src/main.js b/vue/src/main.js similarity index 100% rename from nginx/vue/src/main.js rename to vue/src/main.js diff --git a/nginx/vue/src/router/index.js b/vue/src/router/index.js similarity index 100% rename from nginx/vue/src/router/index.js rename to vue/src/router/index.js diff --git a/nginx/vue/src/stores/activity.js b/vue/src/stores/activity.js similarity index 100% rename from nginx/vue/src/stores/activity.js rename to vue/src/stores/activity.js diff --git a/nginx/vue/src/stores/auth.js b/vue/src/stores/auth.js similarity index 100% rename from nginx/vue/src/stores/auth.js rename to vue/src/stores/auth.js diff --git a/nginx/vue/src/stores/favorites.js b/vue/src/stores/favorites.js similarity index 100% rename from nginx/vue/src/stores/favorites.js rename to vue/src/stores/favorites.js diff --git a/nginx/vue/src/stores/homeData.js b/vue/src/stores/homeData.js similarity index 100% rename from nginx/vue/src/stores/homeData.js rename to vue/src/stores/homeData.js diff --git a/nginx/vue/src/stores/messages.js b/vue/src/stores/messages.js similarity index 100% rename from nginx/vue/src/stores/messages.js rename to vue/src/stores/messages.js diff --git a/nginx/vue/src/stores/models.js b/vue/src/stores/models.js similarity index 100% rename from nginx/vue/src/stores/models.js rename to vue/src/stores/models.js diff --git a/nginx/vue/src/stores/posts.js b/vue/src/stores/posts.js similarity index 100% rename from nginx/vue/src/stores/posts.js rename to vue/src/stores/posts.js diff --git a/nginx/vue/src/stores/songs.js b/vue/src/stores/songs.js similarity index 100% rename from nginx/vue/src/stores/songs.js rename to vue/src/stores/songs.js diff --git a/nginx/vue/src/views/404.vue b/vue/src/views/404.vue similarity index 100% rename from nginx/vue/src/views/404.vue rename to vue/src/views/404.vue diff --git a/nginx/vue/src/views/Bookmarks.vue b/vue/src/views/Bookmarks.vue similarity index 100% rename from nginx/vue/src/views/Bookmarks.vue rename to vue/src/views/Bookmarks.vue diff --git a/nginx/vue/src/views/CV/CV.vue b/vue/src/views/CV/CV.vue similarity index 100% rename from nginx/vue/src/views/CV/CV.vue rename to vue/src/views/CV/CV.vue diff --git a/nginx/vue/src/views/CV/Project.vue b/vue/src/views/CV/Project.vue similarity index 100% rename from nginx/vue/src/views/CV/Project.vue rename to vue/src/views/CV/Project.vue diff --git a/nginx/vue/src/views/Landing.vue b/vue/src/views/Landing.vue similarity index 100% rename from nginx/vue/src/views/Landing.vue rename to vue/src/views/Landing.vue diff --git a/nginx/vue/src/views/Notes.vue b/vue/src/views/Notes.vue similarity index 100% rename from nginx/vue/src/views/Notes.vue rename to vue/src/views/Notes.vue diff --git a/nginx/vue/src/views/Shrines.vue b/vue/src/views/Shrines.vue similarity index 100% rename from nginx/vue/src/views/Shrines.vue rename to vue/src/views/Shrines.vue diff --git a/nginx/vue/src/views/admin/Admin.vue b/vue/src/views/admin/Admin.vue similarity index 100% rename from nginx/vue/src/views/admin/Admin.vue rename to vue/src/views/admin/Admin.vue diff --git a/nginx/vue/src/views/admin/CreateActivity.vue b/vue/src/views/admin/CreateActivity.vue similarity index 100% rename from nginx/vue/src/views/admin/CreateActivity.vue rename to vue/src/views/admin/CreateActivity.vue diff --git a/nginx/vue/src/views/admin/CreateFavorite.vue b/vue/src/views/admin/CreateFavorite.vue similarity index 100% rename from nginx/vue/src/views/admin/CreateFavorite.vue rename to vue/src/views/admin/CreateFavorite.vue diff --git a/nginx/vue/src/views/admin/CreatePost.vue b/vue/src/views/admin/CreatePost.vue similarity index 100% rename from nginx/vue/src/views/admin/CreatePost.vue rename to vue/src/views/admin/CreatePost.vue diff --git a/nginx/vue/src/views/admin/CreateRowing.vue b/vue/src/views/admin/CreateRowing.vue similarity index 100% rename from nginx/vue/src/views/admin/CreateRowing.vue rename to vue/src/views/admin/CreateRowing.vue diff --git a/nginx/vue/src/views/admin/CreateUser.vue b/vue/src/views/admin/CreateUser.vue similarity index 100% rename from nginx/vue/src/views/admin/CreateUser.vue rename to vue/src/views/admin/CreateUser.vue diff --git a/nginx/vue/src/views/admin/Login.vue b/vue/src/views/admin/Login.vue similarity index 100% rename from nginx/vue/src/views/admin/Login.vue rename to vue/src/views/admin/Login.vue diff --git a/nginx/vue/src/views/admin/ManageUsers.vue b/vue/src/views/admin/ManageUsers.vue similarity index 100% rename from nginx/vue/src/views/admin/ManageUsers.vue rename to vue/src/views/admin/ManageUsers.vue diff --git a/nginx/vue/src/views/home/BadApple.vue b/vue/src/views/home/BadApple.vue similarity index 100% rename from nginx/vue/src/views/home/BadApple.vue rename to vue/src/views/home/BadApple.vue diff --git a/nginx/vue/src/views/home/Collage.vue b/vue/src/views/home/Collage.vue similarity index 100% rename from nginx/vue/src/views/home/Collage.vue rename to vue/src/views/home/Collage.vue diff --git a/nginx/vue/src/views/home/Consumption.vue b/vue/src/views/home/Consumption.vue similarity index 100% rename from nginx/vue/src/views/home/Consumption.vue rename to vue/src/views/home/Consumption.vue diff --git a/nginx/vue/src/views/home/Favorites.vue b/vue/src/views/home/Favorites.vue similarity index 100% rename from nginx/vue/src/views/home/Favorites.vue rename to vue/src/views/home/Favorites.vue diff --git a/nginx/vue/src/views/home/Feed.vue b/vue/src/views/home/Feed.vue similarity index 100% rename from nginx/vue/src/views/home/Feed.vue rename to vue/src/views/home/Feed.vue diff --git a/nginx/vue/src/views/home/Gym.vue b/vue/src/views/home/Gym.vue similarity index 100% rename from nginx/vue/src/views/home/Gym.vue rename to vue/src/views/home/Gym.vue diff --git a/nginx/vue/src/views/home/Gym2.vue b/vue/src/views/home/Gym2.vue similarity index 100% rename from nginx/vue/src/views/home/Gym2.vue rename to vue/src/views/home/Gym2.vue diff --git a/nginx/vue/src/views/home/Home.vue b/vue/src/views/home/Home.vue similarity index 100% rename from nginx/vue/src/views/home/Home.vue rename to vue/src/views/home/Home.vue diff --git a/nginx/vue/src/views/home/Intro.vue b/vue/src/views/home/Intro.vue similarity index 100% rename from nginx/vue/src/views/home/Intro.vue rename to vue/src/views/home/Intro.vue diff --git a/nginx/vue/src/views/home/Intro2.vue b/vue/src/views/home/Intro2.vue similarity index 100% rename from nginx/vue/src/views/home/Intro2.vue rename to vue/src/views/home/Intro2.vue diff --git a/nginx/vue/src/views/home/Links.vue b/vue/src/views/home/Links.vue similarity index 100% rename from nginx/vue/src/views/home/Links.vue rename to vue/src/views/home/Links.vue diff --git a/nginx/vue/src/views/home/Listening.vue b/vue/src/views/home/Listening.vue similarity index 100% rename from nginx/vue/src/views/home/Listening.vue rename to vue/src/views/home/Listening.vue diff --git a/nginx/vue/src/views/home/Miku.vue b/vue/src/views/home/Miku.vue similarity index 100% rename from nginx/vue/src/views/home/Miku.vue rename to vue/src/views/home/Miku.vue diff --git a/nginx/vue/src/views/home/Stamps.vue b/vue/src/views/home/Stamps.vue similarity index 100% rename from nginx/vue/src/views/home/Stamps.vue rename to vue/src/views/home/Stamps.vue diff --git a/nginx/vue/src/views/shrines/Demoman.vue b/vue/src/views/shrines/Demoman.vue similarity index 100% rename from nginx/vue/src/views/shrines/Demoman.vue rename to vue/src/views/shrines/Demoman.vue diff --git a/nginx/vue/src/views/shrines/Evangelion.vue b/vue/src/views/shrines/Evangelion.vue similarity index 100% rename from nginx/vue/src/views/shrines/Evangelion.vue rename to vue/src/views/shrines/Evangelion.vue diff --git a/nginx/vue/src/views/shrines/GTO.vue b/vue/src/views/shrines/GTO.vue similarity index 100% rename from nginx/vue/src/views/shrines/GTO.vue rename to vue/src/views/shrines/GTO.vue diff --git a/nginx/vue/src/views/shrines/Skipskipbenben.vue b/vue/src/views/shrines/Skipskipbenben.vue similarity index 100% rename from nginx/vue/src/views/shrines/Skipskipbenben.vue rename to vue/src/views/shrines/Skipskipbenben.vue diff --git a/nginx/vue/src/views/unused/CoverLetters.vue b/vue/src/views/unused/CoverLetters.vue similarity index 100% rename from nginx/vue/src/views/unused/CoverLetters.vue rename to vue/src/views/unused/CoverLetters.vue diff --git a/nginx/vue/vite.config.js b/vue/vite.config.js similarity index 96% rename from nginx/vue/vite.config.js rename to vue/vite.config.js index a7c5b26..b1fcd5f 100644 --- a/nginx/vue/vite.config.js +++ b/vue/vite.config.js @@ -18,6 +18,7 @@ export default defineConfig({ }, }, server: { + host: "0.0.0.0", proxy: { "/api": "http://localhost:8080", "/gitea": "http://localhost:3000",