Sign inSign up

emon5122/cableops

By emon5122

Updated 7 months ago

Network topology designer & cable management tool.

Image
0

2.5K

emon5122/cableops repository overview

CableOps

Network topology designer & cable management tool.

Design, visualize, and document your physical network infrastructure with an interactive drag-and-drop canvas.


Docker Image

Official image:

docker pull emon5122/cableops:latest

Quick Start (Docker Compose)

Create a docker-compose.yml:

services:
  cableops:
    image: emon5122/cableops:latest
    container_name: cableops
    restart: unless-stopped
    ports:
      - "3000:3000"
    depends_on:
      db:
        condition: service_healthy
    environment:
      DATABASE_URL: postgres://cableops:changeme@db:5432/cableops
      BETTER_AUTH_URL: http://localhost:3000
      BETTER_AUTH_SECRET: change-this-secret

  db:
    image: postgres:17-alpine
    container_name: cableops-db
    restart: unless-stopped
    environment:
      POSTGRES_DB: cableops
      POSTGRES_USER: cableops
      POSTGRES_PASSWORD: changeme
    volumes:
      - postgres_data:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U cableops -d cableops"]
      interval: 5s
      timeout: 5s
      retries: 5

volumes:
  postgres_data:

Start the stack:

docker compose up -d

Access the app:

http://localhost:3000

Database migrations run automatically on container startup.


Using an Existing PostgreSQL Server

If you already have PostgreSQL running:

docker run -d \
  --name cableops \
  -p 3000:3000 \
  -e DATABASE_URL=postgres://user:pass@your-db-host:5432/cableops \
  -e BETTER_AUTH_URL=http://localhost:3000 \
  -e BETTER_AUTH_SECRET=$(openssl rand -hex 32) \
  --restart unless-stopped \
  emon5122/cableops:latest

Required Environment Variables

VariableRequiredDescription
DATABASE_URLYesPostgreSQL connection string
BETTER_AUTH_SECRETYesRandom secret for session signing (openssl rand -hex 32)
BETTER_AUTH_URLYesPublic base URL of your CableOps instance

Reverse Proxy

When running behind Nginx, Caddy, or Traefik:

BETTER_AUTH_URL=https://cableops.example.com

Ensure your reverse proxy forwards:

  • X-Forwarded-Proto
  • X-Forwarded-Host

Updating

docker compose pull
docker compose up -d

Migrations run automatically on startup.


License

MIT License

Tag summary

Content type

Image

Digest

sha256:bf3ab3916

Size

139.7 MB

Last updated

7 months ago

docker pull emon5122/cableops