Compare commits
5 Commits
update-0.1
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 3ae0a2c1a4 | |||
| f2d10d0b26 | |||
| a5ecf6c828 | |||
| 8f6da872bb | |||
| ff5cf566b7 |
28
BEHEER.md
28
BEHEER.md
@@ -51,6 +51,24 @@ docker compose pull && docker compose up -d
|
|||||||
docker compose down -v && docker compose up -d
|
docker compose down -v && docker compose up -d
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### PostgreSQL versie-upgrade
|
||||||
|
|
||||||
|
Bij een upgrade van PostgreSQL (bijv. 16 → 18) is de bestaande data niet compatibel. Stappen:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 1. Backup maken
|
||||||
|
docker exec vibefinance_postgres pg_dump -U vibefinance vibefinance > backup-$(date +%F).sql
|
||||||
|
|
||||||
|
# 2. Oude containers en volumes verwijderen
|
||||||
|
docker compose down -v
|
||||||
|
|
||||||
|
# 3. Nieuwe versie starten
|
||||||
|
docker compose up -d
|
||||||
|
|
||||||
|
# 4. Backup terugzetten
|
||||||
|
docker exec -i vibefinance_postgres psql -U vibefinance -d vibefinance < backup-YYYY-MM-DD.sql
|
||||||
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Logs en diagnose
|
## Logs en diagnose
|
||||||
@@ -133,8 +151,8 @@ Rollen:
|
|||||||
## Registry
|
## Registry
|
||||||
|
|
||||||
```
|
```
|
||||||
10.0.3.108:3000/vibe/vibefinance-backend
|
vibehoogie.duckdns.org:3000/vibe/vibefinance-backend
|
||||||
10.0.3.108:3000/vibe/vibefinance-frontend
|
vibehoogie.duckdns.org:3000/vibe/vibefinance-frontend
|
||||||
|
|
||||||
Tags:
|
Tags:
|
||||||
latest productie — meest recente release
|
latest productie — meest recente release
|
||||||
@@ -145,7 +163,7 @@ Tags:
|
|||||||
|
|
||||||
Inloggen op registry:
|
Inloggen op registry:
|
||||||
```bash
|
```bash
|
||||||
docker login 10.0.3.108:3000
|
docker login vibehoogie.duckdns.org:3000
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -155,8 +173,8 @@ docker login 10.0.3.108:3000
|
|||||||
De app vergelijkt de draaiende versie met de laatste release op Gitea. Configuratie staat in `package.json`:
|
De app vergelijkt de draaiende versie met de laatste release op Gitea. Configuratie staat in `package.json`:
|
||||||
|
|
||||||
```json
|
```json
|
||||||
"repository": "https://10.0.3.108:3000/vibe/VibeFinance",
|
"repository": "https://vibehoogie.duckdns.org:3000/vibe/VibeFinance",
|
||||||
"updateCheckUrl": "https://10.0.3.108:3000/api/v1/repos/vibe/VibeFinance/releases/latest"
|
"updateCheckUrl": "https://vibehoogie.duckdns.org:3000/api/v1/repos/vibe/VibeFinance/releases/latest"
|
||||||
```
|
```
|
||||||
|
|
||||||
Vite en de build-scripts lezen deze velden automatisch uit — geen handmatige build-args nodig.
|
Vite en de build-scripts lezen deze velden automatisch uit — geen handmatige build-args nodig.
|
||||||
|
|||||||
12
Changelog.md
12
Changelog.md
@@ -1,5 +1,17 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## [0.1.3] - 2026-04-16
|
||||||
|
|
||||||
|
### Toegevoegd
|
||||||
|
- Versienummer met logo zichtbaar boven de logout-knop in de sidebar
|
||||||
|
|
||||||
|
### Gewijzigd
|
||||||
|
- Registry verplaatst van intern IP (`10.0.3.108:3000`) naar publieke DuckDNS-hostnaam (`vibehoogie.duckdns.org`) — toegankelijk via Nginx Proxy Manager
|
||||||
|
- PostgreSQL productie geüpgraded van versie 16 naar 18 (volume mount aangepast naar `/var/lib/postgresql`)
|
||||||
|
- Witte rand rondom de app verwijderd (globale CSS reset toegevoegd, `App.css` gekoppeld aan `App.jsx`)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## [0.0.4] - 2026-04-08
|
## [0.0.4] - 2026-04-08
|
||||||
|
|
||||||
### Toegevoegd
|
### Toegevoegd
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ Eigen vermogen · Schulden · Voortgang · Gebruikersbeheer
|
|||||||

|

|
||||||

|

|
||||||

|

|
||||||

|

|
||||||

|

|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
2
dev.ps1
2
dev.ps1
@@ -35,7 +35,7 @@ $ErrorActionPreference = "Stop"
|
|||||||
# PROJECTCONFIGURATIE - pas alleen dit blok aan voor een nieuw project
|
# PROJECTCONFIGURATIE - pas alleen dit blok aan voor een nieuw project
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
$appName = "VibeFinance"
|
$appName = "VibeFinance"
|
||||||
$registry = "10.0.3.108:3000/vibe"
|
$registry = "vibehoogie.duckdns.org/vibe"
|
||||||
$backendImage = "vibefinance-backend"
|
$backendImage = "vibefinance-backend"
|
||||||
$frontendImage = "vibefinance-frontend"
|
$frontendImage = "vibefinance-frontend"
|
||||||
$apiUrl = "/api"
|
$apiUrl = "/api"
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
services:
|
services:
|
||||||
|
|
||||||
postgres:
|
postgres:
|
||||||
image: postgres:16-alpine
|
image: postgres:18-alpine
|
||||||
container_name: vibefinance_postgres
|
container_name: vibefinance_postgres
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
@@ -18,7 +18,7 @@ services:
|
|||||||
POSTGRES_USER: ${POSTGRES_USER:-vibefinance}
|
POSTGRES_USER: ${POSTGRES_USER:-vibefinance}
|
||||||
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
||||||
volumes:
|
volumes:
|
||||||
- vibefinance_pgdata:/var/lib/postgresql/data
|
- vibefinance_pgdata:/var/lib/postgresql
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD-SHELL", "pg_isready -U vibefinance"]
|
test: ["CMD-SHELL", "pg_isready -U vibefinance"]
|
||||||
interval: 10s
|
interval: 10s
|
||||||
@@ -28,7 +28,7 @@ services:
|
|||||||
- vibefinance_net
|
- vibefinance_net
|
||||||
|
|
||||||
backend:
|
backend:
|
||||||
image: 10.0.3.108:3000/vibe/vibefinance-backend:latest
|
image: vibehoogie.duckdns.org/vibe/vibefinance-backend:latest
|
||||||
container_name: vibefinance_backend
|
container_name: vibefinance_backend
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
env_file: .env
|
env_file: .env
|
||||||
@@ -47,11 +47,11 @@ services:
|
|||||||
- vibefinance_net
|
- vibefinance_net
|
||||||
|
|
||||||
frontend:
|
frontend:
|
||||||
image: 10.0.3.108:3000/vibe/vibefinance-frontend:latest
|
image: vibehoogie.duckdns.org/vibe/vibefinance-frontend:latest
|
||||||
container_name: vibefinance_frontend
|
container_name: vibefinance_frontend
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
ports:
|
ports:
|
||||||
- "${FRONTEND_PORT:-3300}:80"
|
- "${FRONTEND_PORT:-3400}:80"
|
||||||
depends_on:
|
depends_on:
|
||||||
backend:
|
backend:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "vibefinance-frontend",
|
"name": "vibefinance-frontend",
|
||||||
"version": "0.1.0",
|
"version": "0.1.3-dev",
|
||||||
"updateCheckUrl": "https://10.0.3.108:3000/api/v1/repos/vibe/VibeFinance/releases/latest",
|
"updateCheckUrl": "https://vibehoogie.duckdns.org/api/v1/repos/vibe/VibeFinance/releases/latest",
|
||||||
"private": true,
|
"private": true,
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@@ -1,5 +1,12 @@
|
|||||||
* {
|
*, *::before, *::after {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
html, body, #root {
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
input[type="number"]::-webkit-inner-spin-button {
|
input[type="number"]::-webkit-inner-spin-button {
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
import "./App.css";
|
||||||
import { AppProvider, useApp } from "./context/AppContext.jsx";
|
import { AppProvider, useApp } from "./context/AppContext.jsx";
|
||||||
import { useEffect, useRef, useState } from "react";
|
import { useEffect, useRef, useState } from "react";
|
||||||
import LoginPage from "./components/LoginPage.jsx";
|
import LoginPage from "./components/LoginPage.jsx";
|
||||||
|
|||||||
@@ -276,6 +276,27 @@ export default function NavBar() {
|
|||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
|
{/* App naam + versienummer */}
|
||||||
|
{!collapsed && (
|
||||||
|
<div style={{ display: "flex", alignItems: "center", gap: 8, padding: "8px 12px", marginBottom: 4 }}>
|
||||||
|
<div style={{
|
||||||
|
width: 32, height: 32, flexShrink: 0,
|
||||||
|
background: `linear-gradient(135deg, ${PURPLE}, #a855f7)`,
|
||||||
|
borderRadius: 8, display: "flex", alignItems: "center", justifyContent: "center",
|
||||||
|
boxShadow: `0 0 8px ${PURPLE}44`,
|
||||||
|
}}>
|
||||||
|
<svg width="18" height="18" viewBox="0 0 20 20" fill="none">
|
||||||
|
<polyline points="2,15 6,9 10,12 14,5 18,8" stroke="#fff" strokeWidth="2" strokeLinejoin="round" strokeLinecap="round"/>
|
||||||
|
<line x1="2" y1="17" x2="18" y2="17" stroke="rgba(255,255,255,0.35)" strokeWidth="1.2"/>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<div style={{ fontSize: 13, fontWeight: 700, color: T.text }}>VibeFinance</div>
|
||||||
|
<div style={{ fontSize: 11, color: T.muted }}>{version}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
|
||||||
{/* Uitloggen */}
|
{/* Uitloggen */}
|
||||||
<SidebarItem
|
<SidebarItem
|
||||||
onClick={logout}
|
onClick={logout}
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"name": "vibefinance",
|
"name": "vibefinance",
|
||||||
"version": "0.1.1",
|
"version": "0.1.3",
|
||||||
"description": "VibeFinance — persoonlijk vermogensbeheer",
|
"description": "VibeFinance — persoonlijk vermogensbeheer",
|
||||||
"private": true,
|
"private": true,
|
||||||
"repository": "https://10.0.3.108:3000/vibe/VibeFinance",
|
"repository": "https://vibehoogie.duckdns.org/vibe/VibeFinance",
|
||||||
"updateCheckUrl": "https://10.0.3.108:3000/api/v1/repos/vibe/VibeFinance/releases/latest"
|
"updateCheckUrl": "https://vibehoogie.duckdns.org/api/v1/repos/vibe/VibeFinance/releases/latest"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ $ErrorActionPreference = "Stop"
|
|||||||
# ── PROJECTCONFIGURATIE — pas alleen dit blok aan voor een nieuw project ──
|
# ── PROJECTCONFIGURATIE — pas alleen dit blok aan voor een nieuw project ──
|
||||||
# ════════════════════════════════════════════════════════════════════════════
|
# ════════════════════════════════════════════════════════════════════════════
|
||||||
$appName = "VibeFinance"
|
$appName = "VibeFinance"
|
||||||
$registry = "10.0.3.108:3000/vibe"
|
$registry = "vibehoogie.duckdns.org/vibe"
|
||||||
$backendImage = "vibefinance-backend"
|
$backendImage = "vibefinance-backend"
|
||||||
$frontendImage = "vibefinance-frontend"
|
$frontendImage = "vibefinance-frontend"
|
||||||
$apiUrl = "/api"
|
$apiUrl = "/api"
|
||||||
|
|||||||
Reference in New Issue
Block a user