Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
docker-compose.yml 2.78 KiB
version: '3.4'
services:
  netbox: &netbox
    image: docker.io/netboxcommunity/netbox:v3.7.8
    depends_on:
      - postgres
      - redis
      - redis-cache
      - netbox-worker
    environment:
      CORS_ORIGIN_ALLOW_ALL: "true"
      DB_HOST: postgres
      DB_NAME: netbox
      DB_PASSWORD: Oquoo9ohwohpahy5
      DB_USER: netbox
      DEVELOPER: "true"
      DEBUG: "true"
      EMAIL_FROM: netbox@bar.com
      EMAIL_PASSWORD: ""
      EMAIL_PORT: "25"
      EMAIL_SERVER: localhost
      EMAIL_SSL_CERTFILE: ""
      EMAIL_SSL_KEYFILE: ""
      EMAIL_TIMEOUT: "5"
      EMAIL_USERNAME: netbox
      EMAIL_USE_SSL: "false"
      EMAIL_USE_TLS: "false"
      MAX_PAGE_SIZE: "1000"
      MEDIA_ROOT: /opt/netbox/netbox/media
      METRICS_ENABLED: "false"
      NAPALM_PASSWORD: ""
      NAPALM_TIMEOUT: "10"
      NAPALM_USERNAME: ""
      REDIS_CACHE_DATABASE: "1"
      REDIS_CACHE_HOST: redis-cache
      REDIS_CACHE_PASSWORD: eeCae8ai0hua4koK
      REDIS_CACHE_SSL: "false"
      REDIS_DATABASE: "0"
      REDIS_HOST: redis
      REDIS_PASSWORD: Choopike2aeBee1f
      REDIS_SSL: "false"
      RELEASE_CHECK_URL: https://api.github.com/repos/netbox-community/netbox/releases
      SECRET_KEY: ohL4EipaHaeng1ohrieh7xeeghoun7Qualaesoor4ahr2Daup4
      SKIP_STARTUP_SCRIPTS: "false"
      SKIP_SUPERUSER: "false"
      SUPERUSER_API_TOKEN: 0123456789abcdef0123456789abcdef01234567
      SUPERUSER_EMAIL: admin@example.com
      SUPERUSER_NAME: admin
      SUPERUSER_PASSWORD: admin
      WEBHOOKS_ENABLED: "true"
    user: '101'
    ports:
      - 8080:8080
    volumes:
      - ./configuration:/etc/netbox/config:z,ro
      - ../netbox_awx_plugin:/opt/netbox/venv/lib/python3.11/site-packages/netbox_awx_plugin

  netbox-worker:
    <<: *netbox
    ports: []
    depends_on:
      - redis
    entrypoint:
      - /opt/netbox/venv/bin/python
      - /opt/netbox/netbox/manage.py
    command:
      - rqworker

  postgres:
    image: postgres:13-alpine
    environment:
      POSTGRES_DB: netbox
      POSTGRES_PASSWORD: Oquoo9ohwohpahy5
      POSTGRES_USER: netbox
    volumes:
      - netbox_database:/var/lib/postgresql/data

  redis:
    image: redis:6-alpine
    command:
      - sh
      - -c
      - redis-server --appendonly yes --requirepass $$REDIS_PASSWORD
    environment:
      REDIS_PASSWORD: Choopike2aeBee1f

  redis-cache:
    image: redis:6-alpine
    command:
      - sh
      - -c # this is to evaluate the $REDIS_PASSWORD from the env
      - redis-server --requirepass $$REDIS_PASSWORD
    environment:
      REDIS_PASSWORD: eeCae8ai0hua4koK

  # New test service for running unit tests
  test:
    <<: *netbox
    depends_on:
      - postgres
      - redis
    entrypoint:
      - /opt/netbox/venv/bin/python
      - /opt/netbox/netbox/manage.py
    command: test netbox_awx_plugin

volumes:
  netbox_database: