Compare commits

...

11 Commits

Author SHA1 Message Date
6f26b9bbc3 e 2026-01-20 20:22:59 +01:00
a34a70572f edited 2026-01-20 20:19:12 +01:00
4b3c8a2424 edited compose file 2026-01-20 20:17:53 +01:00
568b3bf495 edited 2026-01-20 20:08:14 +01:00
5653d32857 fix: update WireGuard PASSWORD_HASH to a static value 2026-01-20 20:06:44 +01:00
7cf5b8df48 Merge branch 'dev' into prod 2026-01-20 20:03:51 +01:00
65c5fc0f8f Merge branch 'dev' into prod 2026-01-20 19:59:27 +01:00
b626a67907 Merge branch 'dev' into prod 2026-01-20 19:46:56 +01:00
6643a176a6 Merge branch 'dev' into prod 2026-01-20 19:43:53 +01:00
89803754a7 Merge branch 'dev' into prod 2026-01-20 19:38:27 +01:00
5052b3e83a changed fetch urls 2026-01-20 19:23:53 +01:00
5 changed files with 55 additions and 22 deletions

15
dnsmasq.conf Normal file
View File

@@ -0,0 +1,15 @@
# DNS-Server für ca-lose VPN-Clients
# Upstream DNS für externe Anfragen
server=1.1.1.1
server=8.8.8.8
# Kein DHCP, nur DNS
no-dhcp-interface=
# Logging
log-queries
# Interne Hostnamen
address=/lose-verkaufen/172.25.0.10
address=/ca-lose-frontend/172.25.0.10
address=/ca-lose-backend/172.25.0.11

View File

@@ -4,7 +4,8 @@ services:
hostname: lose-verkaufen
build: ./frontend
networks:
- ca-lose-internal
ca-lose-internal:
ipv4_address: 172.25.0.10
restart: unless-stopped
backend:
@@ -19,7 +20,8 @@ services:
depends_on:
- database
networks:
- ca-lose-internal
ca-lose-internal:
ipv4_address: 172.25.0.11
restart: unless-stopped
database:
@@ -36,31 +38,47 @@ services:
networks:
- ca-lose-internal
wireguard:
container_name: ca-lose-wireguard
image: ghcr.io/wg-easy/wg-easy
environment:
- WG_HOST=${WG_HOST}
- WG_DEFAULT_ADDRESS=10.10.0.x
- WG_DEFAULT_DNS=1.1.1.1
- WG_ALLOWED_IPS=172.25.0.0/24
- WG_PORT=51830
- PASSWORD_HASH=${WG_PASSWORD_HASH}
dns:
container_name: ca-lose-dns
image: jpillora/dnsmasq
restart: unless-stopped
volumes:
- ./wireguard-data:/etc/wireguard
ports:
- "51830:51820/udp" # WireGuard extern erreichbar auf Port 51830
- "127.0.0.1:51821:51821/tcp" # Web-UI nur lokal erreichbar
- ./dnsmasq.conf:/etc/dnsmasq.conf:ro
networks:
ca-lose-internal:
ipv4_address: 172.25.0.5
wireguard:
image: lscr.io/linuxserver/wireguard:latest
container_name: ca-lose-wireguard
cap_add:
- NET_ADMIN
- SYS_MODULE
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Berlin
- SERVERURL=dus3.the1s.de
- SERVERPORT=51830
- PEERS=2
- PEERDNS=172.25.0.5
- INTERNAL_SUBNET=10.13.13.0
- ALLOWEDIPS=172.25.0.0/24
- PERSISTENTKEEPALIVE_PEERS=25
- LOG_CONFS=true
- POST_UP=iptables -t nat -A POSTROUTING -s 10.13.13.0/24 -o eth0 -j MASQUERADE
- POST_DOWN=iptables -t nat -D POSTROUTING -s 10.13.13.0/24 -o eth0 -j MASQUERADE
volumes:
- ./wireguard-config:/config
- /lib/modules:/lib/modules
ports:
- 51830:51830/udp
sysctls:
- net.ipv4.ip_forward=1
- net.ipv4.conf.all.src_valid_mark=1
restart: unless-stopped
networks:
- ca-lose-internal
- proxynet
restart: unless-stopped
volumes:
ca-lose_mysql:

View File

@@ -121,7 +121,7 @@ export const MainForm = () => {
: null,
};
const response = await fetch("http://localhost:8004/default/frontend", {
const response = await fetch("/backend/default/frontend", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(payload),

View File

@@ -49,7 +49,7 @@ export const MainForm = () => {
// Fetch user data or any other data needed for the form
try {
const fetchUsers = async () => {
const response = await fetch("http://localhost:8004/default/users");
const response = await fetch("/backend/default/users");
const data = await response.json();
setUsers(data.users);
};
@@ -78,7 +78,7 @@ export const MainForm = () => {
const confirmUser = async (selectedUser: string) => {
try {
const response = await fetch(
`http://localhost:8004/default/confirm-user?username=${selectedUser}`
`/backend/default/confirm-user?username=${selectedUser}`
);
const data = await response.json();
setNextID(data.nextID);

View File

@@ -16,7 +16,7 @@ interface FormData {
export const submitFormData = async (data: FormData, username: string) => {
try {
const response = await fetch(`http://localhost:8004/default/new-entry?username=${username}`, {
const response = await fetch(`/backend/default/new-entry?username=${username}`, {
method: "POST",
headers: {
"Content-Type": "application/json",