Skip to content

Commit

Permalink
feat: initial move to python script
Browse files Browse the repository at this point in the history
  • Loading branch information
aldy505 committed Mar 30, 2024
1 parent 48dfdb1 commit b047c00
Show file tree
Hide file tree
Showing 12 changed files with 131 additions and 151 deletions.
23 changes: 0 additions & 23 deletions bagetter/Caddyfile

This file was deleted.

29 changes: 26 additions & 3 deletions bagetter/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,33 @@ services:
Mirror__PackageSource: "https://api.nuget.org/v3/index.json"
ApiKey:
PackageDeletionBehavior: "HardDelete"
ports:
- 127.0.0.1:5000:5000
network_mode: host
command: --urls http://127.0.0.1:5000
command: --urls http://0.0.0.0:5000
volumes:
- bagetter-storage:/data
labels:
- "com.centurylinklabs.watchtower.enable=true"
- "traefik.enable=true"
- "traefik.docker.network=public-web"
- "traefik.http.routers.bagetter.entrypoints=web,websecure"
- "traefik.http.routers.bagetter.rule=Host(`nuget.teknologiumum.com`)"
- "traefik.http.routers.bagetter.tls.certresolver=tlsresolver"
- "traefik.http.routers.bagetter.middlewares=bagetter-header,bagetter-redirectscheme"
- "traefik.http.services.bagetter.loadbalancer.server.port=5000"
- "traefik.http.services.bagetter.loadbalancer.server.scheme=http"
- "traefik.http.services.bagetter.loadbalancer.healthcheck.interval=30s"
- "traefik.http.middlewares.bagetter-header.headers.addvaryheader=true"
- "traefik.http.middlewares.bagetter-header.headers.frameDeny=true"
- "traefik.http.middlewares.bagetter-header.headers.browserxssfilter=true"
- "traefik.http.middlewares.bagetter-header.headers.stsSeconds=604800"
- "traefik.http.middlewares.bagetter-header.headers.stsIncludeSubdomains=true"
- "traefik.http.middlewares.bagetter-header.headers.browserXssFilter=true"
- "traefik.http.middlewares.bagetter-header.headers.contentTypeNosniff=true"
- "traefik.http.middlewares.bagetter-header.headers.customResponseHeaders.server=Teknologi Umum"
- "traefik.http.middlewares.bagetter-redirectscheme.redirectscheme.scheme=https"
- "traefik.http.middlewares.bagetter-redirectscheme.redirectscheme.permanent=true"
networks:
- public-web
deploy:
mode: replicated
replicas: 1
Expand All @@ -30,3 +49,7 @@ services:
volumes:
bagetter-storage:
external: true

networks:
public-web:
external: true
36 changes: 0 additions & 36 deletions goproxy/Caddyfile

This file was deleted.

27 changes: 25 additions & 2 deletions goproxy/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,31 @@ services:
environment:
GOPROXY: "https://proxy.golang.org,https://goproxy.io,direct"
GOMAXPROCS: 1
ports:
- 127.0.0.1:8081:8080
volumes:
- goproxy-storage:/go
labels:
- "com.centurylinklabs.watchtower.enable=true"
- "traefik.enable=true"
- "traefik.docker.network=public-web"
- "traefik.http.routers.goproxy.entrypoints=web,websecure"
- "traefik.http.routers.goproxy.rule=Host(`goproxy.teknologiumum.com`)"
- "traefik.http.routers.goproxy.tls.certresolver=tlsresolver"
- "traefik.http.routers.goproxy.middlewares=goproxy-header,goproxy-redirectscheme"
- "traefik.http.services.goproxy.loadbalancer.server.port=8080"
- "traefik.http.services.goproxy.loadbalancer.server.scheme=http"
- "traefik.http.services.goproxy.loadbalancer.healthcheck.interval=30s"
- "traefik.http.middlewares.goproxy-header.headers.addvaryheader=true"
- "traefik.http.middlewares.goproxy-header.headers.frameDeny=true"
- "traefik.http.middlewares.goproxy-header.headers.browserxssfilter=true"
- "traefik.http.middlewares.goproxy-header.headers.stsSeconds=604800"
- "traefik.http.middlewares.goproxy-header.headers.stsIncludeSubdomains=true"
- "traefik.http.middlewares.goproxy-header.headers.browserXssFilter=true"
- "traefik.http.middlewares.goproxy-header.headers.contentTypeNosniff=true"
- "traefik.http.middlewares.goproxy-header.headers.customResponseHeaders.server=Teknologi Umum"
- "traefik.http.middlewares.goproxy-redirectscheme.redirectscheme.scheme=https"
- "traefik.http.middlewares.goproxy-redirectscheme.redirectscheme.permanent=true"
networks:
- public-web
deploy:
mode: replicated
replicas: 1
Expand All @@ -27,3 +46,7 @@ services:
volumes:
goproxy-storage:
external: true

networks:
public-web:
external: true
32 changes: 1 addition & 31 deletions libreddit/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
services:
libreddit:
image: libreddit/libreddit:latest
image: quay.io/redlib/redlib:latest
environment:
BLUR_NSFW: on
labels:
Expand Down Expand Up @@ -50,36 +50,6 @@ services:
networks:
- public-web

redlib:
image: quay.io/redlib/redlib:latest
environment:
BLUR_NSFW: on
labels:
- "traefik.enable=true"
- "traefik.docker.network=public-web"
- "traefik.http.services.libreddit.loadbalancer.server.port=8080"
- "traefik.http.services.libreddit.loadbalancer.server.scheme=http"
- "traefik.http.services.libreddit.loadbalancer.healthcheck.interval=120s"
- "traefik.http.services.libreddit.loadbalancer.healthcheck.path=/settings"
- "com.centurylinklabs.watchtower.enable=true"
platform: linux/amd64
deploy:
mode: replicated
replicas: 1
restart_policy:
condition: unless-stopped
delay: 30s
window: 120s
resources:
limits:
memory: 750MB
cpus: '1'
reservations:
memory: 25MB
cpus: '0.10'
networks:
- public-web

networks:
public-web:
external: true
2 changes: 1 addition & 1 deletion monitoring/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -87,4 +87,4 @@ volumes:

networks:
monitoring:
external: false
external: true
39 changes: 39 additions & 0 deletions setup.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
SERVICE_MAPPING = {
"tanzanite.gems.teknologiumum.com": [
"traefik",
"bot",
"captcha",
"gitgram",
"gold",
"graphene",
"libreddit",
"monitoring",
"pesto",
"polarite",
"pph21",
"projects",
"tgif",
"watchtower",
],
"painite.gems.teknologiumum.com": [
"traefik",
"git",
"umami",
"uptime-kuma",
"watchtower",
],
"hibonite.gems.teknologiumum.com": [
"traefik",
"bagetter",
"goproxy",
"verdaccio",
"watchtower",
],
}

if __name__ == "__main__":
for server, containers in SERVICE_MAPPING.items():
# SSH to server
# Copy directory with rsync


1 change: 1 addition & 0 deletions traefik/setup.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
#!/usr/bin/env bash

docker network create public-web -d bridge --subnet 172.31.0.0/22
docker network craete monitoring
17 changes: 0 additions & 17 deletions umami/Caddyfile

This file was deleted.

36 changes: 34 additions & 2 deletions umami/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,32 @@ services:
image: ghcr.io/umami-software/umami:postgresql-latest
labels:
- "com.centurylinklabs.watchtower.enable=true"
ports:
- "23120:3000"
- "traefik.enable=true"
- "traefik.docker.network=public-web"
- "traefik.http.routers.umami.entrypoints=web,websecure"
- "traefik.http.routers.umami.rule=Host(`analytics.teknologiumum.com`)"
- "traefik.http.routers.umami.tls.certresolver=tlsresolver"
- "traefik.http.routers.umami.middlewares=umami-header,umami-rate,umami-redirectscheme"
- "traefik.http.services.umami.loadbalancer.server.port=3000"
- "traefik.http.services.umami.loadbalancer.server.scheme=http"
- "traefik.http.services.umami.loadbalancer.healthcheck.interval=30s"
- "traefik.http.services.umami.loadbalancer.healthcheck.path=/api/heartbeat"
- "traefik.http.middlewares.umami-rate.ratelimit.average=200"
- "traefik.http.middlewares.umami-rate.ratelimit.burst=100"
- "traefik.http.middlewares.umami-rate.ratelimit.period=1s"
- "traefik.http.middlewares.umami-header.headers.addvaryheader=true"
- "traefik.http.middlewares.umami-header.headers.frameDeny=true"
- "traefik.http.middlewares.umami-header.headers.browserxssfilter=true"
- "traefik.http.middlewares.umami-header.headers.stsSeconds=604800"
- "traefik.http.middlewares.umami-header.headers.stsIncludeSubdomains=true"
- "traefik.http.middlewares.umami-header.headers.browserXssFilter=true"
- "traefik.http.middlewares.umami-header.headers.contentTypeNosniff=true"
- "traefik.http.middlewares.umami-header.headers.customResponseHeaders.server=Teknologi Umum"
- "traefik.http.middlewares.umami-redirectscheme.redirectscheme.scheme=https"
- "traefik.http.middlewares.umami-redirectscheme.redirectscheme.permanent=true"
networks:
- public-web
- umami-internal
environment:
DATABASE_URL:
DATABASE_TYPE: postgresql
Expand All @@ -31,6 +55,7 @@ services:
options:
max-size: 10M
max-file: 3

db:
image: postgres:16-alpine
environment:
Expand All @@ -39,6 +64,8 @@ services:
POSTGRES_PASSWORD:
volumes:
- umami-db-data:/var/lib/postgresql/data
networks:
- umami-internal
deploy:
restart_policy:
condition: unless-stopped
Expand All @@ -58,3 +85,8 @@ services:
volumes:
umami-db-data:
external: true

networks:
umami-internal:
public-web:
external: true
34 changes: 0 additions & 34 deletions uptime-kuma/Caddyfile

This file was deleted.

6 changes: 4 additions & 2 deletions uptime-kuma/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
services:
uptime-kuma:
image: louislam/uptime-kuma:1
ports:
- 127.0.0.1:43241:3001
labels:
- "traefik.enable=true"
- "traefik.http.routers.uptime-kuma.entrypoints=web,websecure"
Expand Down Expand Up @@ -42,3 +40,7 @@ services:

volumes:
uptime-data:

networks:
public-web:
external: true

0 comments on commit b047c00

Please sign in to comment.