Pulumi code for my server setup
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Move servers

+46 -23
+30 -14
haring.json
··· 97 97 "traefik.http.routers.bazarr.rule": "Host(`bazarr.bas.sh`)", 98 98 "traefik.http.routers.bazarr.tls.certresolver": "cloudflare", 99 99 "traefik.http.services.bazarr.loadbalancer.server.port": 6767 100 - }, 101 - "replicas": 0 100 + } 102 101 }, 103 102 "environment": { 104 103 "GUID": "${GID}", ··· 222 221 "traefik.http.routers.speedtest.rule": "Host(`speedtest.bas.sh`)", 223 222 "traefik.http.routers.speedtest.tls.certresolver": "cloudflare", 224 223 "traefik.http.services.speedtest.loadbalancer.server.port": 80 225 - }, 226 - "replicas": 0 224 + } 227 225 }, 228 226 "environment": { 229 227 "EMAIL": "hi@bas.sh", ··· 243 241 "${ROOT}/docker/librespeed:/config" 244 242 ] 245 243 }, 244 + "maintainerr": { 245 + "deploy": { 246 + "labels": { 247 + "traefik.docker.network": "traefik", 248 + "traefik.enable": "true", 249 + "traefik.http.routers.maintainerr.entrypoints": "https", 250 + "traefik.http.routers.maintainerr.rule": "Host(`maintainerr.bas.sh`)", 251 + "traefik.http.routers.maintainerr.tls.certresolver": "cloudflare", 252 + "traefik.http.services.maintainerr.loadbalancer.server.port": 80 253 + }, 254 + "replicas": 0 255 + }, 256 + "environment": { 257 + "GUID": "${GID}", 258 + "PUID": "${UID}", 259 + "TZ": "${TZ}" 260 + }, 261 + "hostname": "Haring", 262 + "image": "jorenn92/maintainerr", 263 + "volumes": [ 264 + "${ROOT}/docker/maintainerr:/opt/data" 265 + ] 266 + }, 246 267 "mkvtoolnix": { 247 268 "deploy": { 248 269 "labels": { ··· 252 273 "traefik.http.routers.mkvtoolnix.rule": "Host(`mkvtoolnix.bas.sh`)", 253 274 "traefik.http.routers.mkvtoolnix.tls.certresolver": "cloudflare", 254 275 "traefik.http.services.mkvtoolnix.loadbalancer.server.port": 5800 255 - }, 256 - "replicas": 0 276 + } 257 277 }, 258 278 "environment": { 259 279 "APP_NICENESS": "10", ··· 359 379 "traefik.http.routers.plex.rule": "Host(`plex.bas.sh`)", 360 380 "traefik.http.routers.plex.tls.certresolver": "cloudflare", 361 381 "traefik.http.services.plex.loadbalancer.server.port": 32400 362 - }, 363 - "replicas": 0 382 + } 364 383 }, 365 384 "environment": { 366 385 "GUID": "${GID}", ··· 397 416 "traefik.http.routers.radarr.rule": "Host(`radarr.bas.sh`)", 398 417 "traefik.http.routers.radarr.tls.certresolver": "cloudflare", 399 418 "traefik.http.services.radarr.loadbalancer.server.port": 7878 400 - }, 401 - "replicas": 0 419 + } 402 420 }, 403 421 "environment": { 404 422 "GUID": "${GID}", ··· 449 467 "traefik.http.routers.sabnzbd.rule": "Host(`sabnzbd.bas.sh`)", 450 468 "traefik.http.routers.sabnzbd.tls.certresolver": "cloudflare", 451 469 "traefik.http.services.sabnzbd.loadbalancer.server.port": 8080 452 - }, 453 - "replicas": 0 470 + } 454 471 }, 455 472 "environment": { 456 473 "GUID": "${GID}", ··· 473 490 "traefik.http.routers.sonarr.rule": "Host(`sonarr.bas.sh`)", 474 491 "traefik.http.routers.sonarr.tls.certresolver": "cloudflare", 475 492 "traefik.http.services.sonarr.loadbalancer.server.port": 8989 476 - }, 477 - "replicas": 0 493 + } 478 494 }, 479 495 "environment": { 480 496 "GUID": "${GID}",
+16 -9
haring.jsonnet
··· 14 14 volumes: [], 15 15 }, 16 16 17 - plex: Service('plex', 32400, replicas=0) { 17 + plex: Service('plex', 32400) { 18 18 volumes+: [data, git], 19 19 environment+: { 20 20 VERSION: 'latest', ··· 35 35 36 36 jackett: Service('jackett', 9117), 37 37 38 - sonarr: Service('sonarr', 8989, replicas=0) { 38 + sonarr: Service('sonarr', 8989) { 39 39 volumes+: [data], 40 40 }, 41 41 42 - radarr: Service('radarr', 7878, replicas=0) { 42 + radarr: Service('radarr', 7878) { 43 43 volumes+: [data], 44 44 }, 45 45 46 - bazarr: Service('bazarr', 6767, replicas=0) { 46 + bazarr: Service('bazarr', 6767) { 47 47 volumes+: [data], 48 48 }, 49 49 ··· 60 60 volumes+: [data, git], 61 61 environment+: { 62 62 DOCKER_MODS: 'linuxserver/mods:universal-package-install', 63 - INSTALL_PACKAGES: 'openssh-client-default' 64 - } 63 + INSTALL_PACKAGES: 'openssh-client-default', 64 + }, 65 65 }, 66 66 67 - sabnzbd: Service('sabnzbd', 8080, replicas=0) { 67 + sabnzbd: Service('sabnzbd', 8080) { 68 68 volumes+: [data], 69 69 }, 70 70 ··· 132 132 133 133 overseerr: Service('overseerr', 5055, domain='request'), 134 134 135 + maintainerr: Service('maintainerr', 80, replicas=0) { 136 + image: 'jorenn92/maintainerr', 137 + volumes: [ 138 + '${ROOT}/docker/maintainerr:/opt/data', 139 + ], 140 + }, 141 + 135 142 monero: Service('monero', 28081, replicas=0) { 136 143 image: 'rinocommunity/monero', 137 144 volumes: [ ··· 150 157 ], 151 158 }, 152 159 153 - mkvtoolnix: Service('mkvtoolnix', 5800, replicas=0) { 160 + mkvtoolnix: Service('mkvtoolnix', 5800) { 154 161 image: 'jlesage/mkvtoolnix', 155 162 volumes+: [data], 156 163 environment+: { ··· 173 180 }, 174 181 }, 175 182 176 - librespeed: Service('librespeed', 80, domain='speedtest', replicas=0) { 183 + librespeed: Service('librespeed', 80, domain='speedtest') { 177 184 environment+: { 178 185 TITLE: 'Speedtest | Bas', 179 186 TELEMETRY: 'true',