diff --git a/README.md b/README.md index 4706caa..1b287dc 100644 --- a/README.md +++ b/README.md @@ -1,4 +1 @@ # fukuops - -[![Last build status](https://git.roboces.dev/catalin/fukuops/badges/workflows/ci.yaml/badge.svg)](https://git.roboces.dev/catalin/fukuops/actions) -[![Tofu deployments](https://git.roboces.dev/catalin/fukuops/badges/workflows/deploy-tofu.yaml/badge.svg)](https://git.roboces.dev/catalin/fukuops/actions) diff --git a/docker/pluton/docker-compose.yaml b/docker/pluton/docker-compose.yaml index b4ff97d..fc75f4e 100644 --- a/docker/pluton/docker-compose.yaml +++ b/docker/pluton/docker-compose.yaml @@ -3,48 +3,23 @@ services: pluton: image: plutonhq/pluton:latest container_name: pluton-backup - #restart: unless-stopped - + restart: always ports: - "${SERVER_PORT:-5173}:${SERVER_PORT:-5173}" - volumes: - # Main data volume - contains database, config, logs - - pluton-data:/data - - # Optional: Mount host directories to backup - - # Example: Make user's documents folders Accessible to Pluton - - /home//pihanepi/config/nginx:/mnt/nginxconf:ro #linux - - /home//pihanepi/data/pluton/backupdir:/mnt/backupdir - + - ${PLUTON_DATA:-/mnt/nas1/shared/pluton/data}:/data + - ${PLUTON_BACKUP_VOLUME_SHARED:-/mnt/nas1/shared}:/backups/shared environment: - # ===== REQUIRED: Security & Authentication ===== - # Generate secure random strings (min 12 characters each) - ENCRYPTION_KEY: ${ENCRYPTION_KEY} # Encryption key for restic/rclone Snapshot encryption - USER_NAME: ${USER_NAME} # Admin username for login - USER_PASSWORD: ${USER_PASSWORD} # Admin password for login - - # ===== Application Settings ===== + ENCRYPTION_KEY: ${ENCRYPTION_KEY} + USER_NAME: ${USER_NAME} + USER_PASSWORD: ${USER_PASSWORD} APP_TITLE: ${APP_TITLE:-Pluton} - #APP_URL: ${APP_URL:-http://localhost:5173} + APP_URL: ${APP_URL:-https://backups.fukurokuju.dev} SERVER_PORT: ${SERVER_PORT:-5173} MAX_CONCURRENT_BACKUPS: ${MAX_CONCURRENT_BACKUPS:-2} - SESSION_DURATION: ${SESSION_DURATION:-7} # How long frontend login Session lasts in Days - - # ===== User Interface Security Settings ===== + SESSION_DURATION: ${SESSION_DURATION:-7} ALLOW_CUSTOM_RESTORE_PATH: ${ALLOW_CUSTOM_RESTORE_PATH:-true} ALLOW_FILE_BROWSER: ${ALLOW_FILE_BROWSER:-true} DISABLE_EVENT_SCRIPTS: ${DISABLE_EVENT_SCRIPTS:-false} - - # ===== Docker-specific (do not change) ===== NODE_ENV: production - IS_DOCKER: "true" - -volumes: - pluton-data: - name: "pluton-volume" - driver_opts: - type: "volume" - external: "false" - \ No newline at end of file + IS_DOCKER: "true" diff --git a/k8s/argo-apps/technitium.yaml b/k8s/argo-apps/technitium.yaml new file mode 100644 index 0000000..76378ba --- /dev/null +++ b/k8s/argo-apps/technitium.yaml @@ -0,0 +1,66 @@ +--- +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: technitium + namespace: argocd +spec: + destination: + name: '' + namespace: apps-fuku + server: https://kubernetes.default.svc + project: fuku + syncPolicy: + automated: {} + sources: + - repoURL: https://charts.obeone.cloud + chart: technitium-dnsserver + targetRevision: 1.10.* + helm: + valuesObject: + controller: + type: daemonset + hostNetwork: true + dnsPolicy: ClusterFirstWithHostNet + service: + main: + type: ClusterIP + ports: + http: + enabled: false + https: + enabled: false + dns-udp: + enabled: true + port: 53 + protocol: UDP + nodePort: "" + dns-tcp: + enabled: true + port: 53 + protocol: TCP + nodePort: "" + webui: + enabled: true + type: LoadBalancer + ports: + http: + enabled: true + port: 80 + targetPort: 5380 + nodePort: "" + ingress: + main: + enabled: true + ingressClassName: traefik + hosts: + - host: dns.fuku + paths: + - path: / + pathType: Prefix + tls: [] + persistence: + config: + enabled: true + type: emptyDir + mountPath: /etc/dns diff --git a/k8s/services/argo/project-fuku.yaml b/k8s/services/argo/project-fuku.yaml index 46076fd..1a0023b 100644 --- a/k8s/services/argo/project-fuku.yaml +++ b/k8s/services/argo/project-fuku.yaml @@ -34,3 +34,4 @@ spec: - https://rcourtman.github.io/Pulse - ghcr.io/antoniolago/charts - https://helm.elastic.co + - https://charts.obeone.cloud