I have a netbox 3 instance on a docker server this is working well, but I need to migrate it to a new host.

How would I even begin that process?

  • Egroeggnik@rammy.siteOP
    link
    fedilink
    arrow-up
    0
    ·
    1 year ago

    It starts with a docker-compose file. There’s lots of persistent data and it’s in volume mounts. I don’t know if I’m making a lot of sense, I’m new to Docker and don’t know all the right words to use yet.

    If you have more than a few machines and are starting to lose track of which cables go where, and which IPs you’re using, netbox is a good resource.

    https://github.com/netbox-community/netbox

    • Djokkum@rammy.siteM
      link
      fedilink
      arrow-up
      0
      ·
      1 year ago

      If you are comfortable with it you could share the contents of your docker-compose, that would make it a bit easier for us to give some pointers. Just be sure to redact any sensitive information (usernames, passwords, IP adresses etc.)

      • Egroeggnik@rammy.siteOP
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago
        version: '3.4'
        services:
          netbox: &netbox
            image: netboxcommunity/netbox:${VERSION-v3.3-2.2.0}
            depends_on:
            - postgres
            - redis
            - redis-cache
            - netbox-worker
            env_file: env/netbox.env
            user: 'unit:root'
            volumes:
            - ./configuration:/etc/netbox/config:z,ro
            - ./reports:/etc/netbox/reports:z,ro
            - ./scripts:/etc/netbox/scripts:z,ro
            - netbox-media-files:/opt/netbox/netbox/media:z
          netbox-worker:
            <<: *netbox
            depends_on:
            - redis
            - postgres
            command:
            - /opt/netbox/venv/bin/python
            - /opt/netbox/netbox/manage.py
            - rqworker
          netbox-housekeeping:
            <<: *netbox
            depends_on:
            - redis
            - postgres
            command:
            - /opt/netbox/housekeeping.sh
        
          # postgres
          postgres:
            image: postgres:14-alpine
            env_file: env/postgres.env
            volumes:
            - netbox-postgres-data:/var/lib/postgresql/data
        
          # redis
          redis:
            image: redis:7-alpine
            command:
            - sh
            - -c # this is to evaluate the $REDIS_PASSWORD from the env
            - redis-server --appendonly yes --requirepass $$REDIS_PASSWORD ## $$ because of docker-compose
            env_file: env/redis.env
            volumes:
            - netbox-redis-data:/data
          redis-cache:
            image: redis:7-alpine
            command:
            - sh
            - -c # this is to evaluate the $REDIS_PASSWORD from the env
            - redis-server --requirepass $$REDIS_PASSWORD ## $$ because of docker-compose
            env_file: env/redis-cache.env
        
        volumes:
          netbox-media-files:
            driver: local
          netbox-postgres-data:
            driver: local
          netbox-redis-data:
            driver: local
        

        The volumes that start with ./ I can deal with. It’s those 3 at the end I don’t know about.