diff --git a/lxc1/management/ferret/state.json b/LXC_archive/management/ferret/state.json similarity index 100% rename from lxc1/management/ferret/state.json rename to LXC_archive/management/ferret/state.json diff --git a/lxc1/management/ferret/telemetry.json b/LXC_archive/management/ferret/telemetry.json similarity index 100% rename from lxc1/management/ferret/telemetry.json rename to LXC_archive/management/ferret/telemetry.json diff --git a/lxc1/management/gitea.yml b/LXC_archive/management/gitea.yml similarity index 100% rename from lxc1/management/gitea.yml rename to LXC_archive/management/gitea.yml diff --git a/lxc1/monitoring/grafana.yml b/LXC_archive/monitoring/archived-grafana.bak0 similarity index 100% rename from lxc1/monitoring/grafana.yml rename to LXC_archive/monitoring/archived-grafana.bak0 diff --git a/lxc1/monitoring/prometheus.yml b/LXC_archive/monitoring/archived-prometheus.bak0 similarity index 100% rename from lxc1/monitoring/prometheus.yml rename to LXC_archive/monitoring/archived-prometheus.bak0 diff --git a/lxc1/p0-infrastructure/mgdb.yml b/lxc1/p0-infrastructure/mgdb.yml new file mode 100644 index 0000000..f0184d7 --- /dev/null +++ b/lxc1/p0-infrastructure/mgdb.yml @@ -0,0 +1,18 @@ +services: + mariadb: + image: mariadb:10.11 + container_name: mariadb-node + restart: always + environment: + - MARIADB_ROOT_PASSWORD=your_root_pass + - MARIADB_GALERA_CLUSTER_NAME=pve_cluster + - MARIADB_GALERA_CLUSTER_ADDRESS=gcomm://172.16.201.208,172.16.201.x + - MARIADB_NODE_NAME=lxc8-node + - MARIADB_NODE_ADDRESS=172.16.201.209 + volumes: + - /docker/backbone/mariadb:/var/lib/mysql + ports: + - "3306:3306" + - "4567:4567" + - "4568:4568" + - "4444:4444" \ No newline at end of file diff --git a/lxc1/p0-infrastructure/minio.yml b/lxc1/p0-infrastructure/minio.yml new file mode 100644 index 0000000..3347521 --- /dev/null +++ b/lxc1/p0-infrastructure/minio.yml @@ -0,0 +1,11 @@ +services: + minio: + image: quay.io/minio/minio:latest + container_name: minio-node1 + network_mode: host + volumes: + - /docker/minio/data:/data + environment: + - MINIO_ROOT_USER=${MINIO_ADMIN_USER} + - MINIO_ROOT_PASSWORD=${MINIO_ADMIN_PASS} + command: server http://172.16.201.208/data http://172.16.201.206/data --console-address ":9001" \ No newline at end of file diff --git a/lxc1/homepage/homepage.yml b/lxc1/p1-ingress/homepage.yml similarity index 100% rename from lxc1/homepage/homepage.yml rename to lxc1/p1-ingress/homepage.yml diff --git a/lxc1/homepage/config/kubernetes.yaml b/lxc1/p1-ingress/homepage/kubernetes.yaml similarity index 100% rename from lxc1/homepage/config/kubernetes.yaml rename to lxc1/p1-ingress/homepage/kubernetes.yaml diff --git a/lxc1/homepage/config/services.yaml b/lxc1/p1-ingress/homepage/services.yaml similarity index 100% rename from lxc1/homepage/config/services.yaml rename to lxc1/p1-ingress/homepage/services.yaml diff --git a/lxc1/homepage/config/settings.yaml b/lxc1/p1-ingress/homepage/settings.yaml similarity index 100% rename from lxc1/homepage/config/settings.yaml rename to lxc1/p1-ingress/homepage/settings.yaml diff --git a/lxc1/keepalived/keepalived.yml b/lxc1/p1-ingress/keepalived.yml similarity index 100% rename from lxc1/keepalived/keepalived.yml rename to lxc1/p1-ingress/keepalived.yml diff --git a/lxc1/keepalived/check_services.sh b/lxc1/p1-ingress/keepalived/check_services.sh similarity index 100% rename from lxc1/keepalived/check_services.sh rename to lxc1/p1-ingress/keepalived/check_services.sh diff --git a/lxc1/keepalived/deploy_keepalived.sh b/lxc1/p1-ingress/keepalived/deploy_keepalived.sh similarity index 100% rename from lxc1/keepalived/deploy_keepalived.sh rename to lxc1/p1-ingress/keepalived/deploy_keepalived.sh diff --git a/lxc1/keepalived/keepalived_header.tpl b/lxc1/p1-ingress/keepalived/keepalived_header.tpl similarity index 100% rename from lxc1/keepalived/keepalived_header.tpl rename to lxc1/p1-ingress/keepalived/keepalived_header.tpl diff --git a/lxc1/keepalived/keepalived_slot.tpl b/lxc1/p1-ingress/keepalived/keepalived_slot.tpl similarity index 100% rename from lxc1/keepalived/keepalived_slot.tpl rename to lxc1/p1-ingress/keepalived/keepalived_slot.tpl diff --git a/lxc1/p1-ingress/rclone.yml b/lxc1/p1-ingress/rclone.yml new file mode 100644 index 0000000..97eb6dd --- /dev/null +++ b/lxc1/p1-ingress/rclone.yml @@ -0,0 +1,20 @@ +services: + config-sync: + image: rclone/rclone:latest + container_name: config-sync + entrypoint: ["/bin/sh", "-c"] + command: > + "while true; do + rclone sync /data/core minio:backups/configs --exclude '*.stat' --exclude '*.log' --verbose; + echo 'Sync complete. Waiting 5 minutes...'; + sleep 300; + done" + environment: + - RCLONE_CONFIG_MINIO_TYPE=s3 + - RCLONE_CONFIG_MINIO_PROVIDER=minio + - RCLONE_CONFIG_MINIO_ACCESS_KEY_ID=your_key + - RCLONE_CONFIG_MINIO_SECRET_ACCESS_KEY=your_secret + - RCLONE_CONFIG_MINIO_ENDPOINT=http://172.16.201.208:9000 + volumes: + - /docker:/data:ro + restart: always \ No newline at end of file diff --git a/lxc1/core/technitium.yml b/lxc1/p1-ingress/technitium.yml similarity index 100% rename from lxc1/core/technitium.yml rename to lxc1/p1-ingress/technitium.yml diff --git a/lxc1/core/traefik.yml b/lxc1/p1-ingress/traefik.yml similarity index 100% rename from lxc1/core/traefik.yml rename to lxc1/p1-ingress/traefik.yml diff --git a/lxc1/core/traefik/dynamic/lxc2-mediaservices.yaml b/lxc1/p1-ingress/traefik/dynamic/lxc2-mediaservices.yaml similarity index 100% rename from lxc1/core/traefik/dynamic/lxc2-mediaservices.yaml rename to lxc1/p1-ingress/traefik/dynamic/lxc2-mediaservices.yaml diff --git a/lxc1/core/traefik/dynamic/lxc2-servarr.yaml b/lxc1/p1-ingress/traefik/dynamic/lxc2-servarr.yaml similarity index 100% rename from lxc1/core/traefik/dynamic/lxc2-servarr.yaml rename to lxc1/p1-ingress/traefik/dynamic/lxc2-servarr.yaml diff --git a/lxc1/core/traefik/dynamic/lxc2-smf.yaml b/lxc1/p1-ingress/traefik/dynamic/lxc2-smf.yaml similarity index 100% rename from lxc1/core/traefik/dynamic/lxc2-smf.yaml rename to lxc1/p1-ingress/traefik/dynamic/lxc2-smf.yaml diff --git a/lxc1/core/ddns.yml b/lxc1/p2-apps/ddns.yml similarity index 100% rename from lxc1/core/ddns.yml rename to lxc1/p2-apps/ddns.yml diff --git a/lxc1/p2-apps/forge.yml b/lxc1/p2-apps/forge.yml new file mode 100644 index 0000000..0c75177 --- /dev/null +++ b/lxc1/p2-apps/forge.yml @@ -0,0 +1,22 @@ +services: + forgejo: + image: codeberg.org/forgejo/forgejo:latest + container_name: forgejo + restart: always + environment: + - FORGEJO__database__DB_TYPE=mysql + - FORGEJO__database__HOST=172.16.201.208:3306 + - FORGEJO__database__NAME=forgejo + - FORGEJO__database__USER=forgejo + - FORGEJO__database__PASSWD=your_password + - FORGEJO__storage__TYPE=minio + - FORGEJO__storage__MINIO_ENDPOINT=172.16.201.208:9000 + - FORGEJO__storage__MINIO_ACCESS_KEY_ID=your_key + - FORGEJO__storage__MINIO_SECRET_ACCESS_KEY=your_secret + - FORGEJO__storage__MINIO_BUCKET=forgejo + - FORGEJO__storage__MINIO_USE_SSL=false + volumes: + - /docker/core/forgejo/data:/data + ports: + - "3000:3000" + - "222:22" \ No newline at end of file diff --git a/lxc1/p2-apps/guacamole.yml b/lxc1/p2-apps/guacamole.yml new file mode 100644 index 0000000..21d6086 --- /dev/null +++ b/lxc1/p2-apps/guacamole.yml @@ -0,0 +1,20 @@ +services: + guacd: + image: guacamole/guacd:latest + container_name: guacd + restart: always + + guacamole: + image: guacamole/guacamole:latest + container_name: guacamole + restart: always + environment: + - GUACD_HOSTNAME=guacd + - MYSQL_HOSTNAME=172.16.201.208 + - MYSQL_DATABASE=guacamole + - MYSQL_USER=guacamole + - MYSQL_PASSWORD=your_password + ports: + - "8080:8080" + depends_on: + - guacd \ No newline at end of file diff --git a/lxc1/guacamole/guacamole.yml b/lxc1/p2-apps/guacamole/archived-guacamole.bak0 similarity index 100% rename from lxc1/guacamole/guacamole.yml rename to lxc1/p2-apps/guacamole/archived-guacamole.bak0 diff --git a/lxc1/guacamole/init/initdb.sql b/lxc1/p2-apps/guacamole/init/initdb.sql similarity index 100% rename from lxc1/guacamole/init/initdb.sql rename to lxc1/p2-apps/guacamole/init/initdb.sql diff --git a/lxc1/management/komodo.yml b/lxc1/p2-apps/komodo.yml similarity index 100% rename from lxc1/management/komodo.yml rename to lxc1/p2-apps/komodo.yml diff --git a/lxc1/management/komodo/config/stacks.yaml b/lxc1/p2-apps/komodo/config/stacks.yaml similarity index 100% rename from lxc1/management/komodo/config/stacks.yaml rename to lxc1/p2-apps/komodo/config/stacks.yaml diff --git a/lxc1/smtp-relay/smtp-relay.yml b/lxc1/p2-apps/smtp-relay.yml similarity index 100% rename from lxc1/smtp-relay/smtp-relay.yml rename to lxc1/p2-apps/smtp-relay.yml diff --git a/lxc1/management/wud.yml b/lxc1/p2-apps/wud.yml similarity index 100% rename from lxc1/management/wud.yml rename to lxc1/p2-apps/wud.yml diff --git a/lxc1/monitoring/alertmanager.yml b/lxc1/p3-monitor/alertmanager.yml similarity index 100% rename from lxc1/monitoring/alertmanager.yml rename to lxc1/p3-monitor/alertmanager.yml diff --git a/lxc1/monitoring/alertmanager/alertmanager.yml b/lxc1/p3-monitor/alertmanager/alertmanager.yml similarity index 100% rename from lxc1/monitoring/alertmanager/alertmanager.yml rename to lxc1/p3-monitor/alertmanager/alertmanager.yml diff --git a/lxc1/monitoring/cadvisor.yml b/lxc1/p3-monitor/cadvisor.yml similarity index 100% rename from lxc1/monitoring/cadvisor.yml rename to lxc1/p3-monitor/cadvisor.yml diff --git a/lxc1/p3-monitor/grafana.yml b/lxc1/p3-monitor/grafana.yml new file mode 100644 index 0000000..64594fd --- /dev/null +++ b/lxc1/p3-monitor/grafana.yml @@ -0,0 +1,15 @@ +services: + grafana: + image: grafana/grafana-oss:latest + container_name: grafana + restart: always + environment: + - GF_DATABASE_TYPE=mysql + - GF_DATABASE_HOST=172.16.201.208:3306 + - GF_DATABASE_NAME=grafana + - GF_DATABASE_USER=grafana + - GF_DATABASE_PASSWORD=your_password + volumes: + - /docker/monitoring/grafana/data:/var/lib/grafana + ports: + - "3001:3000" \ No newline at end of file diff --git a/lxc1/monitoring/grafana/docker_host_dashboard.json b/lxc1/p3-monitor/grafana/docker_host_dashboard.json similarity index 100% rename from lxc1/monitoring/grafana/docker_host_dashboard.json rename to lxc1/p3-monitor/grafana/docker_host_dashboard.json diff --git a/lxc1/monitoring/grafana/grafana.ini b/lxc1/p3-monitor/grafana/grafana.ini similarity index 100% rename from lxc1/monitoring/grafana/grafana.ini rename to lxc1/p3-monitor/grafana/grafana.ini diff --git a/lxc1/monitoring/node-exporter.yml b/lxc1/p3-monitor/node-exporter.yml similarity index 100% rename from lxc1/monitoring/node-exporter.yml rename to lxc1/p3-monitor/node-exporter.yml diff --git a/lxc1/p3-monitor/prometheus.yml b/lxc1/p3-monitor/prometheus.yml new file mode 100644 index 0000000..6eaec47 --- /dev/null +++ b/lxc1/p3-monitor/prometheus.yml @@ -0,0 +1,33 @@ +services: + prometheus: + image: prom/prometheus:latest + container_name: prometheus + user: "1000:1000" + command: + - '--config.file=/etc/prometheus/prometheus.yml' + - '--storage.tsdb.path=/prometheus' + - '--storage.tsdb.retention.time=2h' + - '--storage.tsdb.min-block-duration=2h' + - '--storage.tsdb.max-block-duration=2h' + - '--web.enable-lifecycle' + volumes: + - /docker/monitoring/prometheus/config:/etc/prometheus + - /docker/monitoring/prometheus/data:/prometheus + ports: + - "9090:9090" + + thanos-sidecar: + image: thanosio/thanos:v0.34.0 + container_name: thanos-sidecar + user: "1000:1000" + environment: + - OBJSTORE_CONFIG={"type":"S3","config":{"bucket":"prometheus","endpoint":"172.16.201.208:9000","access_key":"your_key","secret_key":"your_secret","insecure":true}} + command: + - 'sidecar' + - '--tsdb.path=/prometheus' + - '--prometheus.url=http://prometheus:9090' + - '--objstore.config=$$(OBJSTORE_CONFIG)' + volumes: + - /docker/monitoring/prometheus/data:/prometheus + ports: + - "10901:10901" \ No newline at end of file diff --git a/lxc1/monitoring/prometheus/alert_rules.yml b/lxc1/p3-monitor/prometheus/alert_rules.yml similarity index 100% rename from lxc1/monitoring/prometheus/alert_rules.yml rename to lxc1/p3-monitor/prometheus/alert_rules.yml diff --git a/lxc1/monitoring/prometheus/prometheus.yml b/lxc1/p3-monitor/prometheus/prometheus.yml similarity index 100% rename from lxc1/monitoring/prometheus/prometheus.yml rename to lxc1/p3-monitor/prometheus/prometheus.yml