YoFi.V3 frontend application, a modern Vue.js/Nuxt web interface for personal finance management.
1.7K
Docker container image for the YoFi.V3 frontend application, a modern Vue.js/Nuxt web interface for personal finance management.
YoFi.V3 is a web-based personal finance application that helps you track and manage your financial transactions. The frontend provides:
This container provides the frontend web application. It connects to a separate backend API service for data and business logic.
Technology Stack:
Pull and run the frontend container:
docker run -p 5000:80 yofi-v3-frontend
The application will be available at http://localhost:5000
⚠️ Note: The frontend requires a running backend API. Configure the API URL using build arguments (see Configuration section).
A static site generated by Nuxt and served by Nginx.
Features:
Base Image: nginx:alpine
Exposed Ports:
80 - HTTP web serverFrom the frontend directory (src/FrontEnd.Nuxt):
docker build -f docker/Dockerfile \
--build-arg NUXT_PUBLIC_API_BASE_URL=http://localhost:5001 \
-t yofi-v3-frontend .
Or use the convenience script from repository root:
.\scripts\Build-Container.ps1
Configure the application at build time using these arguments:
| Argument | Description | Required | Example |
|---|---|---|---|
NUXT_PUBLIC_API_BASE_URL | Backend API base URL | Yes | http://localhost:5001 |
NUXT_PUBLIC_SOLUTION_VERSION | Version tag for the build | No | 1.0.0 |
NUXT_PUBLIC_APPLICATION_INSIGHTS_CONNECTION_STRING | Azure Application Insights | No | InstrumentationKey=... |
⚠️ Important: The API base URL is baked into the static site at build time. You must rebuild the image if the backend URL changes.
Example with all arguments:
docker build -f docker/Dockerfile \
--build-arg NUXT_PUBLIC_API_BASE_URL=https://api.example.com \
--build-arg NUXT_PUBLIC_SOLUTION_VERSION=1.0.0 \
--build-arg NUXT_PUBLIC_APPLICATION_INSIGHTS_CONNECTION_STRING="InstrumentationKey=abc123" \
-t yofi-v3-frontend:1.0.0 .
Since this is a static site, all configuration is set at build time via build arguments. Runtime environment variables have no effect on the application behavior.
The frontend connects to the backend API using the URL specified in NUXT_PUBLIC_API_BASE_URL. This URL must be:
Common configurations:
Local development:
--build-arg NUXT_PUBLIC_API_BASE_URL=http://localhost:5001
Production with backend on Azure:
--build-arg NUXT_PUBLIC_API_BASE_URL=https://your-backend.azurewebsites.net
Docker Compose (both containers):
--build-arg NUXT_PUBLIC_API_BASE_URL=http://localhost:5001
The image includes a custom Nginx configuration at docker/nginx.conf. Modify this file to customize:
Start in foreground with logs:
docker run -p 5000:80 yofi-v3-frontend
Start in background (detached):
docker run -d -p 5000:80 --name yofi-frontend yofi-v3-frontend
Run on a different port:
docker run -p 8080:80 yofi-v3-frontend
# Access at http://localhost:8080
docker logs -f yofi-frontend
docker stop yofi-frontend
docker rm yofi-frontend
Once running, access these pages:
The frontend expects the backend API to be available at the URL specified during build.
Start the backend container:
docker run -p 5001:8080 \
-e APPLICATION__ALLOWEDCORSORIGINS__0=http://localhost:5000 \
--env-file .env \
yofi-v3-backend
Build frontend with backend URL:
docker build -f docker/Dockerfile \
--build-arg NUXT_PUBLIC_API_BASE_URL=http://localhost:5001 \
-t yofi-v3-frontend .
Start the frontend:
docker run -p 5000:80 yofi-v3-frontend
The repository includes a docker-compose-ci.yml that orchestrates both frontend and backend:
docker compose -f docker/docker-compose-ci.yml up
Symptom: Network errors or "Cannot connect to API" messages
Solutions:
curl http://localhost:5001/healthSymptom: Direct navigation to routes (other than /) returns 404
Solution: This is handled by the Nginx configuration. Verify nginx.conf includes:
try_files $uri $uri/ /index.html;
Symptom: Login succeeds but redirects fail or session is lost
Solutions:
Symptom: Changes don't appear after rebuilding
Solutions:
docker rm -f yofi-frontend
docker rmi yofi-v3-frontend
--no-cache:
docker build --no-cache -f docker/Dockerfile ...
Build Times:
Resource Usage:
Optimization: The image uses multi-stage builds to minimize final image size. Only the compiled static files and Nginx are included in the production image.
This container is designed for production-like deployments. For local development:
Recommended for development:
cd src/FrontEnd.Nuxt
npm install
npm run dev
Use containers for:
Run functional tests against the containerized application:
.\scripts\Run-FunctionalTestsVsContainer.ps1
This script:
For issues, questions, or contributions:
This project is open source. See the LICENSE file in the repository for details.
Content type
Image
Digest
sha256:06e4d031a…
Size
22.2 MB
Last updated
9 months ago
docker pull jcoliz/yofi-v3-frontend