diff --git a/docker-compose.production.yml b/docker-compose.production.yml index 2095583..1215a86 100644 --- a/docker-compose.production.yml +++ b/docker-compose.production.yml @@ -1,7 +1,12 @@ version: "3.9" services: - pairdrop: + loki: build: - context: docker/pairdrop + context: docker/loki dockerfile: Dockerfile.production - image: git.nixc.us/nixius/pairdrop:production + image: git.nixc.us/nixius/loki:production-loki + grafana: + build: + context: docker/grafana + dockerfile: Dockerfile.production + image: git.nixc.us/nixius/grafana:production-grafana \ No newline at end of file diff --git a/docker-compose.staging.yml b/docker-compose.staging.yml index 91ea557..a7c9cad 100644 --- a/docker-compose.staging.yml +++ b/docker-compose.staging.yml @@ -1,6 +1,12 @@ version: "3.9" services: - pairdrop: + loki: build: - context: docker/pairdrop - image: git.nixc.us/nixius/pairdrop:staging + context: docker/loki + dockerfile: Dockerfile + image: git.nixc.us/nixius/loki:staging-loki + grafana: + build: + context: docker/grafana + dockerfile: Dockerfile + image: git.nixc.us/nixius/grafana:staging-grafana \ No newline at end of file diff --git a/docker/grafana/Dockerfile b/docker/grafana/Dockerfile new file mode 100644 index 0000000..afe18dc --- /dev/null +++ b/docker/grafana/Dockerfile @@ -0,0 +1 @@ +FROM grafana/grafana:latest \ No newline at end of file diff --git a/docker/grafana/Dockerfile.production b/docker/grafana/Dockerfile.production new file mode 100644 index 0000000..c8b27e4 --- /dev/null +++ b/docker/grafana/Dockerfile.production @@ -0,0 +1 @@ +FROM git.nixc.us/nixius/loki:staging-grafana \ No newline at end of file diff --git a/docker/loki/Dockerfile b/docker/loki/Dockerfile new file mode 100644 index 0000000..0b3f581 --- /dev/null +++ b/docker/loki/Dockerfile @@ -0,0 +1 @@ +FROM grafana/loki:latest \ No newline at end of file diff --git a/docker/loki/Dockerfile.production b/docker/loki/Dockerfile.production new file mode 100644 index 0000000..2245ab1 --- /dev/null +++ b/docker/loki/Dockerfile.production @@ -0,0 +1 @@ +FROM git.nixc.us/nixius/loki:staging-loki \ No newline at end of file diff --git a/docker/pairdrop/Dockerfile b/docker/pairdrop/Dockerfile deleted file mode 100644 index d5f6d90..0000000 --- a/docker/pairdrop/Dockerfile +++ /dev/null @@ -1 +0,0 @@ -FROM lscr.io/linuxserver/pairdrop:latest \ No newline at end of file diff --git a/docker/pairdrop/Dockerfile.production b/docker/pairdrop/Dockerfile.production deleted file mode 100644 index fad9e3f..0000000 --- a/docker/pairdrop/Dockerfile.production +++ /dev/null @@ -1 +0,0 @@ -FROM git.nixc.us/nixius/pairdrop:staging \ No newline at end of file diff --git a/stack.production.yml b/stack.production.yml index abdaed8..b737a2d 100644 --- a/stack.production.yml +++ b/stack.production.yml @@ -1,7 +1,7 @@ version: "3.7" services: - pairdrop: - image: git.nixc.us/nixius/pairdrop:production + loki: + image: git.nixc.us/nixius/loki:production-loki environment: - PUID=1000 # UID to run the application as - PGID=1000 # GID to run the application as @@ -17,22 +17,55 @@ services: # - node.hostname == ingress.nixc.us labels: homepage.group: apps - homepage.name: pairdrop - homepage.href: https://pairdrop.nixc.us/ + homepage.name: loki + homepage.href: https://loki.nixc.us/ homepage.description: us.nixc.autodeploy: "true" traefik.enable: "true" - traefik.http.routers.production_pairdrop_pairdrop.tls: "true" - traefik.http.services.production_pairdrop_pairdrop.loadbalancer.server.port: 3000 - traefik.http.routers.production_pairdrop_pairdrop.rule: Host(`pairdrop.nixc.us`) - traefik.http.routers.production_pairdrop_pairdrop.entrypoints: websecure - traefik.http.routers.production_pairdrop_pairdrop.tls.certresolver: letsencryptresolver - traefik.http.routers.production_pairdrop_pairdrop.service: production_pairdrop_pairdrop + traefik.http.routers.production_loki_loki.tls: "true" + traefik.http.services.production_loki_loki.loadbalancer.server.port: 3100 + traefik.http.routers.production_loki_loki.rule: Host(`loki.nixc.us`) + traefik.http.routers.production_loki_loki.entrypoints: websecure + traefik.http.routers.production_loki_loki.tls.certresolver: letsencryptresolver + traefik.http.routers.production_loki_loki.service: production_loki_loki traefik.docker.network: traefik # - 'traefik.http.routers.production_uptime_uptime.middlewares=authelia@docker' networks: - traefik + + grafana: + image: git.nixc.us/nixius/loki:production-grafana + environment: + - PUID=1000 # UID to run the application as + - PGID=1000 # GID to run the application as + - WS_FALLBACK=false # Set to true to enable websocket fallback if the peer to peer WebRTC connection is not available to the client. + - RATE_LIMIT=false # Set to true to limit clients to 1000 requests per 5 min. + - RTC_CONFIG=false # Set to the path of a file that specifies the STUN/TURN servers. + - DEBUG_MODE=false # Set to true to debug container and peer connections. + - TZ=Etc/UTC # Time Zone + deploy: + replicas: 1 + # placement: + # constraints: + # - node.hostname == ingress.nixc.us + labels: + homepage.group: apps + homepage.name: grafana + homepage.href: https://grafana.nixc.us/ + homepage.description: + us.nixc.autodeploy: "true" + traefik.enable: "true" + traefik.http.routers.production_grafana_grafana.tls: "true" + traefik.http.services.production_grafana_grafana.loadbalancer.server.port: 3000 + traefik.http.routers.production_grafana_grafana.rule: Host(`grafana.nixc.us`) + traefik.http.routers.production_grafana_grafana.entrypoints: websecure + traefik.http.routers.production_grafana_grafana.tls.certresolver: letsencryptresolver + traefik.http.routers.production_grafana_grafana.service: production_grafana_grafana + traefik.docker.network: traefik +# - 'traefik.http.routers.production_uptime_uptime.middlewares=authelia@docker' + networks: + - traefik networks: traefik: external: true \ No newline at end of file diff --git a/stack.staging.yml b/stack.staging.yml index ea7afcf..28d430a 100644 --- a/stack.staging.yml +++ b/stack.staging.yml @@ -1,33 +1,45 @@ version: "3.7" services: - pairdrop: - image: git.nixc.us/nixius/pairdrop:staging - environment: - - PUID=1000 # UID to run the application as - - PGID=1000 # GID to run the application as - - WS_FALLBACK=false # Set to true to enable websocket fallback if the peer to peer WebRTC connection is not available to the client. - - RATE_LIMIT=false # Set to true to limit clients to 1000 requests per 5 min. - - RTC_CONFIG=false # Set to the path of a file that specifies the STUN/TURN servers. - - DEBUG_MODE=false # Set to true to debug container and peer connections. - - TZ=Etc/UTC # Time Zone + loki: + image: git.nixc.us/nixius/loki:staging-loki deploy: replicas: 1 - # placement: - # constraints: - # - node.hostname == ingress.nixc.us labels: homepage.group: apps - homepage.name: pairdrop - homepage.href: https://staging.pairdrop.nixc.us/ + homepage.name: loki + homepage.href: https://loki.nixc.us/ homepage.description: us.nixc.autodeploy: "true" traefik.enable: "true" - traefik.http.routers.staging_pairdrop_pairdrop.tls: "true" - traefik.http.services.staging_pairdrop_pairdrop.loadbalancer.server.port: 3000 - traefik.http.routers.staging_pairdrop_pairdrop.rule: Host(`staging.pairdrop.nixc.us`) - traefik.http.routers.staging_pairdrop_pairdrop.entrypoints: websecure - traefik.http.routers.staging_pairdrop_pairdrop.tls.certresolver: letsencryptresolver - traefik.http.routers.staging_pairdrop_pairdrop.service: staging_pairdrop_pairdrop + traefik.http.routers.staging_loki_loki.tls: "true" + traefik.http.services.staging_loki_loki.loadbalancer.server.port: 3100 + traefik.http.routers.staging_loki_loki.rule: Host(`loki.nixc.us`) + traefik.http.routers.staging_loki_loki.entrypoints: websecure + traefik.http.routers.staging_loki_loki.tls.certresolver: letsencryptresolver + traefik.http.routers.staging_loki_loki.service: staging_loki_loki + traefik.docker.network: traefik +# - 'traefik.http.routers.staging_uptime_uptime.middlewares=authelia@docker' + networks: + - traefik + + + grafana: + image: git.nixc.us/nixius/loki:staging-grafana + deploy: + replicas: 1 + labels: + homepage.group: apps + homepage.name: grafana + homepage.href: https://grafana.nixc.us/ + homepage.description: + us.nixc.autodeploy: "true" + traefik.enable: "true" + traefik.http.routers.staging_grafana_grafana.tls: "true" + traefik.http.services.staging_grafana_grafana.loadbalancer.server.port: 3000 + traefik.http.routers.staging_grafana_grafana.rule: Host(`grafana.nixc.us`) + traefik.http.routers.staging_grafana_grafana.entrypoints: websecure + traefik.http.routers.staging_grafana_grafana.tls.certresolver: letsencryptresolver + traefik.http.routers.staging_grafana_grafana.service: staging_grafana_grafana traefik.docker.network: traefik # - 'traefik.http.routers.staging_uptime_uptime.middlewares=authelia@docker' networks: