A Vue app compiles to static files - on Rock8Cloud they’re served from your own nginx container. Connect your GitHub repo, hit deploy, and you get a live URL in about two minutes.
Deploy your app#
One step: select GitHub repository deployment, connect your repo, and hit Deploy. Rock8Cloud builds the container image and serves your app at a live URL, with build and runtime logs in your browser.
No Dockerfile in the repo? Copy the example below.
Pro tip: Set EXPOSE in your Dockerfile and Rock8Cloud infers the container port automatically - nothing else to configure.
Example Dockerfile
# Build
FROM node:22-alpine AS build
WORKDIR /app
RUN npm install -g bun
COPY package.json bun.lock ./
RUN bun install --frozen-lockfile
COPY . .
RUN bun run build
# Serve
FROM nginx:alpine
COPY nginx.conf /etc/nginx/conf.d/default.conf
COPY --from=build /app/dist /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]EXPOSE 80 is what Rock8Cloud reads to route traffic to your container - no manual port setting needed.
Don’t have an app?#
One-click start from our open-source template - based on the official Vue getting started (Vue 3 + Vite with Pinia and Router). It’s cloned to your GitHub, built, and put live on our domain. Or just browse it on GitHub and borrow what you need.
Pro tip: You can assign your own domain to the app later.
What you get#
- A live URL on our domain - share it the moment the first build lands.
- Deploy on push - every push to your configured default branch rebuilds and ships automatically.
- A preview URL per pull request - review real builds, not screenshots.
- Instant rollback - one click back to any known-good build.
Need an API?#
A Vue SPA calls your backend over HTTP. Deploy the API as a separate Rock8Cloud service (Go, Java, Kotlin) and point the frontend at it with a build-time variable like VITE_API_URL. Databases live with the backend - PostgreSQL, Dragonfly, and S3 are one click each.