From e477245786b3e6f581edc821aecc28cf295fd5ac Mon Sep 17 00:00:00 2001 From: Colin Date: Tue, 19 Mar 2024 14:27:58 -0400 Subject: [PATCH] Redeploy Uptime-Kuma via CI --- README.md | 3 +- docker-compose.production.yml | 6 +- docker-compose.staging.yml | 6 +- docker/redis/.gitkeep | 1 - docker/send/Dockerfile | 1 - docker/send/Dockerfile.production | 1 - docker/uptime/Dockerfile | 1 + docker/uptime/Dockerfile.production | 1 + stack.production.yml | 87 ++++++++++------------------- stack.staging.yml | 78 +++++++++----------------- 10 files changed, 66 insertions(+), 119 deletions(-) delete mode 100644 docker/redis/.gitkeep delete mode 100644 docker/send/Dockerfile delete mode 100644 docker/send/Dockerfile.production create mode 100644 docker/uptime/Dockerfile create mode 100644 docker/uptime/Dockerfile.production diff --git a/README.md b/README.md index 0b4e41b..1c788b7 100644 --- a/README.md +++ b/README.md @@ -1,2 +1 @@ - -Theres lots of settings for making it look nice but I just got the basics laid out and the uploads directory needs to be looked at and its file perms. \ No newline at end of file + \ No newline at end of file diff --git a/docker-compose.production.yml b/docker-compose.production.yml index fb85897..ba398a7 100644 --- a/docker-compose.production.yml +++ b/docker-compose.production.yml @@ -1,7 +1,7 @@ version: "3.9" services: - send: + uptime: build: - context: docker/send + context: docker/uptime dockerfile: Dockerfile.production - image: git.nixc.us/nixius/send:production-web + image: git.nixc.us/nixius/uptime:production diff --git a/docker-compose.staging.yml b/docker-compose.staging.yml index fe6e036..5a9749d 100644 --- a/docker-compose.staging.yml +++ b/docker-compose.staging.yml @@ -1,6 +1,6 @@ version: "3.9" services: - send: + uptime: build: - context: docker/send - image: git.nixc.us/nixius/send:staging-web + context: docker/uptime + image: git.nixc.us/nixius/uptime:staging diff --git a/docker/redis/.gitkeep b/docker/redis/.gitkeep deleted file mode 100644 index 076fde5..0000000 --- a/docker/redis/.gitkeep +++ /dev/null @@ -1 +0,0 @@ -# TODO: Deploy a static version of redis maybe for what its worth. \ No newline at end of file diff --git a/docker/send/Dockerfile b/docker/send/Dockerfile deleted file mode 100644 index 2d9721e..0000000 --- a/docker/send/Dockerfile +++ /dev/null @@ -1 +0,0 @@ -FROM registry.gitlab.com/timvisee/send:latest \ No newline at end of file diff --git a/docker/send/Dockerfile.production b/docker/send/Dockerfile.production deleted file mode 100644 index c8e87f6..0000000 --- a/docker/send/Dockerfile.production +++ /dev/null @@ -1 +0,0 @@ -FROM git.nixc.us/nixius/send:staging-web \ No newline at end of file diff --git a/docker/uptime/Dockerfile b/docker/uptime/Dockerfile new file mode 100644 index 0000000..b5eb091 --- /dev/null +++ b/docker/uptime/Dockerfile @@ -0,0 +1 @@ +FROM louislam/uptime-kuma:latest \ No newline at end of file diff --git a/docker/uptime/Dockerfile.production b/docker/uptime/Dockerfile.production new file mode 100644 index 0000000..8fa0664 --- /dev/null +++ b/docker/uptime/Dockerfile.production @@ -0,0 +1 @@ +FROM git.nixc.us/nixius/uptime:staging \ No newline at end of file diff --git a/stack.production.yml b/stack.production.yml index 078ccc2..c84669f 100644 --- a/stack.production.yml +++ b/stack.production.yml @@ -1,61 +1,34 @@ version: "3.7" +services: + uptime: + image: git.nixc.us/nixius/uptime:production + volumes: + - "/root/tank/persist/nixc.us/uptime-kuma/production/data:/app/data" + # - "/var/run/docker.sock:/var/run/docker.sock:ro" + deploy: + replicas: 1 + placement: + constraints: + - node.hostname == ingress.nixc.us + labels: + - "us.nixc.autodeploy=true" + - "traefik.enable=true" + - "traefik.http.routers.production_uptime-kuma_uptime.tls=true" + - "traefik.http.services.production_uptime-kuma_uptime.loadbalancer.server.port=3001" + - "traefik.http.routers.production_uptime-kuma_uptime.rule=Host(`uptime.nixc.us`)" + - "traefik.http.routers.production_uptime-kuma_uptime.entrypoints=websecure" + - "traefik.http.routers.production_uptime-kuma_uptime.tls.certresolver=letsencryptresolver" + - "traefik.http.routers.production_uptime-kuma_uptime.service=production_uptime-kuma_uptime" + - "traefik.docker.network=traefik" +# - 'traefik.http.routers.production_uptime-kuma_uptime.middlewares=authelia@docker' + networks: + - traefik + - socketproxy + dns: + - 8.8.8.8 + - 4.4.4.4 networks: traefik: external: true - default: -services: - web: - image: git.nixc.us/nixius/send:production-web - depends_on: - - redis - environment: - REDIS_HOST: send_redis - FILE_DIR: /uploads - DETECT_BASE_URL: "true" - MAX_FILE_SIZE: 4294967296 # 2147483648 #4,294,967,296 - MAX_FILES_PER_ARCHIVE: 64 - MAX_DOWNLOADS: 5 - DOWNLOAD_COUNTS: "2,1,2,5"#,10,15,25,50,100,1000" - EXPIRE_TIMES_SECONDS: "3600,86400,604800,2592000,31536000" - DEFAULT_DOWNLOADS: "1" - DEFAULT_EXPIRE_SECONDS: "86400" - volumes: - - /mnt/tank/persist/nixc.us/send/production/uploads:/uploads - networks: - - default - - traefik - deploy: - replicas: 1 - placement: - constraints: - - node.hostname == macmini8 - labels: - - "traefik.enable=true" - - "traefik.http.routers.production_send_web.tls=true" - - "traefik.http.services.production_send_web.loadbalancer.server.port=1443" - - "traefik.http.routers.production_send_web.rule=Host(`send.nixc.us`)" - - "traefik.http.routers.production_send_web.entrypoints=websecure" - - "traefik.http.routers.production_send_web.tls.certresolver=letsencryptresolver" - - "traefik.http.routers.production_send_web.service=production_send_web" - - "traefik.docker.network=traefik" - networks: - - traefik - - default - redis: - image: redis:alpine - networks: - - default - redis: - image: redis - deploy: - replicas: 1 - placement: - constraints: - - node.hostname == macmini8 - labels: - - traefik.enable=false - volumes: - - /mnt/tank/persist/nixc.us/send/production/db:/data - networks: - - default - entrypoint: redis-server \ No newline at end of file + socketproxy: + external: true \ No newline at end of file diff --git a/stack.staging.yml b/stack.staging.yml index 7ae6869..6d93684 100644 --- a/stack.staging.yml +++ b/stack.staging.yml @@ -1,55 +1,31 @@ version: "3.7" +services: + uptime: + image: git.nixc.us/nixius/uptime:staging + deploy: + replicas: 1 + placement: + constraints: + - node.hostname == ingress.nixc.us + labels: + - "us.nixc.autodeploy=true" + - "traefik.enable=true" + - "traefik.http.routers.staging_uptime-kuma_uptime.tls=true" + - "traefik.http.services.staging_uptime-kuma_uptime.loadbalancer.server.port=3001" + - "traefik.http.routers.staging_uptime-kuma_uptime.rule=Host(`staging.uptime.nixc.us`)" + - "traefik.http.routers.staging_uptime-kuma_uptime.entrypoints=websecure" + - "traefik.http.routers.staging_uptime-kuma_uptime.tls.certresolver=letsencryptresolver" + - "traefik.http.routers.staging_uptime-kuma_uptime.service=staging_uptime-kuma_uptime" + - "traefik.docker.network=traefik" +# - 'traefik.http.routers.uptime-kuma_uptime.middlewares=authelia@docker' + networks: + - traefik + - socketproxy + dns: + - 8.8.8.8 + - 4.4.4.4 networks: traefik: external: true - default: -services: - web: - image: git.nixc.us/nixius/send:staging-web - depends_on: - - redis - environment: - REDIS_HOST: send_redis - FILE_DIR: /uploads - DETECT_BASE_URL: "true" - MAX_FILE_SIZE: 4294967296 # 2147483648 #4,294,967,296 - MAX_FILES_PER_ARCHIVE: 64 - MAX_DOWNLOADS: 20 - DOWNLOAD_COUNTS: "2,1,2,5,10,15,25,50,100,1000" - EXPIRE_TIMES_SECONDS: "3600,86400,604800,2592000,31536000" - DEFAULT_DOWNLOADS: "1" - DEFAULT_EXPIRE_SECONDS: "86400" - # volumes: - # - /mnt/tank/persist/aenow.com/send/staging/uploads:/uploads - networks: - - default - - traefik - deploy: - replicas: 1 - labels: - - "traefik.enable=true" - - "traefik.http.routers.staging_send_web.tls=true" - - "traefik.http.services.staging_send_web.loadbalancer.server.port=1443" - - "traefik.http.routers.staging_send_web.rule=Host(`staging.send.aenow.com`)" - - "traefik.http.routers.staging_send_web.entrypoints=websecure" - - "traefik.http.routers.staging_send_web.tls.certresolver=letsencryptresolver" - - "traefik.http.routers.staging_send_web.service=staging_send_web" - - "traefik.docker.network=traefik" - networks: - - traefik - - default - redis: - image: redis:alpine - networks: - - default - redis: - image: redis - deploy: - replicas: 1 - labels: - - traefik.enable=false - # volumes: - # - /mnt/tank/persist/nixc.us/send/staging/db:/data - networks: - - default - entrypoint: redis-server \ No newline at end of file + socketproxy: + external: true \ No newline at end of file