feat: add pluton volumes
This commit is contained in:
parent
4ea10fc156
commit
769a9edd34
5 changed files with 92 additions and 53 deletions
|
|
@ -1,4 +1 @@
|
|||
# fukuops
|
||||
|
||||
[](https://git.roboces.dev/catalin/fukuops/actions)
|
||||
[](https://git.roboces.dev/catalin/fukuops/actions)
|
||||
|
|
|
|||
|
|
@ -1,50 +0,0 @@
|
|||
---
|
||||
services:
|
||||
pluton:
|
||||
image: plutonhq/pluton:latest
|
||||
container_name: pluton-backup
|
||||
#restart: unless-stopped
|
||||
|
||||
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/<user>/pihanepi/config/nginx:/mnt/nginxconf:ro #linux
|
||||
- /home/<user>/pihanepi/data/pluton/backupdir:/mnt/backupdir
|
||||
|
||||
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 =====
|
||||
APP_TITLE: ${APP_TITLE:-Pluton}
|
||||
#APP_URL: ${APP_URL:-http://localhost:5173}
|
||||
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 =====
|
||||
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"
|
||||
|
||||
25
docker/pluton/docker-compose.yml
Normal file
25
docker/pluton/docker-compose.yml
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
---
|
||||
services:
|
||||
pluton:
|
||||
image: plutonhq/pluton:latest
|
||||
container_name: pluton-backup
|
||||
restart: always
|
||||
ports:
|
||||
- "${SERVER_PORT:-5173}:${SERVER_PORT:-5173}"
|
||||
volumes:
|
||||
- ${PLUTON_DATA:-/mnt/nas1/shared/pluton/data}:/data
|
||||
- ${PLUTON_BACKUP_VOLUME_SHARED:-/mnt/nas1/shared}:/backups/shared
|
||||
environment:
|
||||
ENCRYPTION_KEY: ${ENCRYPTION_KEY}
|
||||
USER_NAME: ${USER_NAME}
|
||||
USER_PASSWORD: ${USER_PASSWORD}
|
||||
APP_TITLE: ${APP_TITLE:-Pluton}
|
||||
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}
|
||||
ALLOW_CUSTOM_RESTORE_PATH: ${ALLOW_CUSTOM_RESTORE_PATH:-true}
|
||||
ALLOW_FILE_BROWSER: ${ALLOW_FILE_BROWSER:-true}
|
||||
DISABLE_EVENT_SCRIPTS: ${DISABLE_EVENT_SCRIPTS:-false}
|
||||
NODE_ENV: production
|
||||
IS_DOCKER: "true"
|
||||
66
k8s/argo-apps/technitium.yaml
Normal file
66
k8s/argo-apps/technitium.yaml
Normal file
|
|
@ -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
|
||||
|
|
@ -34,3 +34,4 @@ spec:
|
|||
- https://rcourtman.github.io/Pulse
|
||||
- ghcr.io/antoniolago/charts
|
||||
- https://helm.elastic.co
|
||||
- https://charts.obeone.cloud
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue