services: frontend: container_name: ca-lose-frontend hostname: lose-verkaufen build: ./frontend networks: ca-lose-internal: ipv4_address: 172.25.0.2 restart: unless-stopped backend: container_name: ca-lose-backend hostname: backend build: ./backend environment: NODE_ENV: production DB_HOST: ca-lose-mysql DB_USER: root DB_PASSWORD: ${DB_PASSWORD} DB_NAME: ca_lose depends_on: - database networks: ca-lose-internal: ipv4_address: 172.25.0.3 restart: unless-stopped database: container_name: ca-lose-mysql hostname: database image: mysql:8.0 restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: ${DB_PASSWORD} MYSQL_DATABASE: ca_lose TZ: Europe/Berlin volumes: - ca-lose_mysql:/var/lib/mysql - ./mysql-timezone.cnf:/etc/mysql/conf.d/timezone.cnf:ro networks: ca-lose-internal: ipv4_address: 172.25.0.4 # DNS Server für Hostname-Auflösung innerhalb des VPN dnsmasq: container_name: ca-lose-dns image: andyshinn/dnsmasq:latest restart: unless-stopped cap_add: - NET_ADMIN command: > --no-daemon --log-queries --address=/lose-verkaufen/172.25.0.2 --address=/frontend/172.25.0.2 --address=/backend/172.25.0.3 --address=/database/172.25.0.4 --address=/wg-admin/172.25.0.10 networks: ca-lose-internal: ipv4_address: 172.25.0.53 wireguard: image: ghcr.io/wg-easy/wg-easy:latest container_name: ca-lose-wireguard hostname: wireguard cap_add: - NET_ADMIN - SYS_MODULE environment: LANG: de WG_HOST: dus3.the1s.de WG_PORT: "51830" PORT: "51821" PASSWORD_HASH: $2a$12$NcTLIp6gMnPoJ9rxSLf1pOEvxtoEfofOsGFUBxIAGoQJ0SbAVxK82 WG_DEFAULT_ADDRESS: 10.14.14.x WG_DEFAULT_DNS: "172.25.0.53" WG_ALLOWED_IPS: 172.25.0.0/24 WG_PERSISTENT_KEEPALIVE: "25" WG_POST_UP: "iptables -t nat -A POSTROUTING -s 10.14.14.0/24 -o eth0 -j MASQUERADE; iptables -A FORWARD -i wg0 -o eth0 -j ACCEPT; iptables -A FORWARD -i eth0 -o wg0 -m state --state RELATED,ESTABLISHED -j ACCEPT; iptables -A FORWARD -i wg0 -d 172.25.0.2 -j ACCEPT; iptables -A FORWARD -i wg0 -d 172.25.0.53 -j ACCEPT; iptables -A FORWARD -i wg0 -j DROP" WG_POST_DOWN: "iptables -t nat -D POSTROUTING -s 10.14.14.0/24 -o eth0 -j MASQUERADE; iptables -D FORWARD -i wg0 -o eth0 -j ACCEPT; iptables -D FORWARD -i eth0 -o wg0 -m state --state RELATED,ESTABLISHED -j ACCEPT; iptables -D FORWARD -i wg0 -d 172.25.0.2 -j ACCEPT; iptables -D FORWARD -i wg0 -d 172.25.0.53 -j ACCEPT; iptables -D FORWARD -i wg0 -j DROP" volumes: - wireguard-data:/etc/wireguard - /lib/modules:/lib/modules:ro ports: - "51830:51830/udp" sysctls: - net.ipv4.ip_forward=1 - net.ipv4.conf.all.src_valid_mark=1 restart: unless-stopped depends_on: - dnsmasq - frontend networks: ca-lose-internal: ipv4_address: 172.25.0.10 proxynet: ipv4_address: 172.20.0.50