Skip to content

Commit dd3bf2f

Browse files
committed
feat: add rackula rack visualizer service
- Service YAML with Traefik, Joyride DNS, and Watchtower labels - Scaffold with env.template for RACKULA_WEB_PORT configuration - Resource-constrained (128m memory) stateless web app
1 parent 61507f5 commit dd3bf2f

2 files changed

Lines changed: 51 additions & 0 deletions

File tree

services-available/rackula.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
networks:
2+
traefik:
3+
external: true
4+
5+
# description: Drag and drop rack visualizer for homelabs
6+
# https://github.com/RackulaLives/Rackula
7+
8+
services:
9+
rackula:
10+
image: ghcr.io/rackulalives/rackula:${RACKULA_DOCKER_TAG:-latest}
11+
env_file:
12+
- ./services-enabled/rackula.env
13+
container_name: ${RACKULA_CONTAINER_NAME:-rackula}
14+
restart: ${RACKULA_RESTART:-unless-stopped}
15+
mem_limit: ${RACKULA_MEM_LIMIT:-128m}
16+
networks:
17+
- traefik
18+
volumes:
19+
- /etc/localtime:/etc/localtime:ro
20+
environment:
21+
- TZ=${TZ}
22+
labels:
23+
- joyride.host.name=${RACKULA_HOST_NAME:-rackula}.${HOST_DOMAIN}
24+
- traefik.enable=${RACKULA_TRAEFIK_ENABLED:-true}
25+
- traefik.http.routers.rackula.entrypoints=websecure
26+
- traefik.http.routers.rackula.rule=Host(`${RACKULA_HOST_NAME:-rackula}.${HOST_DOMAIN}`)
27+
- traefik.http.services.rackula.loadbalancer.server.port=80
28+
- com.centurylinklabs.watchtower.enable=${RACKULA_WATCHTOWER_ENABLED:-true}
29+
- autoheal=${RACKULA_AUTOHEAL_ENABLED:-true}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
###############################################
2+
# Rackula Configuration
3+
#
4+
# Drag and drop rack visualizer for homelabs
5+
# https://github.com/RackulaLives/Rackula
6+
###############################################
7+
8+
# Docker image tag
9+
RACKULA_DOCKER_TAG=${RACKULA_DOCKER_TAG:-latest}
10+
11+
# Container settings
12+
RACKULA_CONTAINER_NAME=${RACKULA_CONTAINER_NAME:-rackula}
13+
RACKULA_RESTART=${RACKULA_RESTART:-unless-stopped}
14+
RACKULA_MEM_LIMIT=${RACKULA_MEM_LIMIT:-128m}
15+
16+
# Traefik settings
17+
RACKULA_HOST_NAME=${RACKULA_HOST_NAME:-rackula}
18+
RACKULA_TRAEFIK_ENABLED=${RACKULA_TRAEFIK_ENABLED:-true}
19+
20+
# Maintenance
21+
RACKULA_WATCHTOWER_ENABLED=${RACKULA_WATCHTOWER_ENABLED:-true}
22+
RACKULA_AUTOHEAL_ENABLED=${RACKULA_AUTOHEAL_ENABLED:-true}

0 commit comments

Comments
 (0)