Initial Commit of initial state

At least better then the usual "initial commit!"-Commit!
main
dark 2 years ago
commit c238a3406e

@ -0,0 +1,75 @@
---
netbox:
conf:
metrics: "false"
secretkey: "r8OwDznj!!dci#P9ghmRfdu1Ysxm0AiPeDCQhKE+N_rClfWNj"
mail:
from: "netbox@bar.com"
password: ""
port: "25"
host: "localhost"
user: "netbox"
tls: "false"
timeout: 10 # seconds
ssl:
enabled: "false"
certfile: ""
keyfile: ""
user:
superuser:
name: "admin"
api_token: "0123456789abcdef0123456789abcdef01234567"
mail: "admin@example.com"
password: "admin"
hostnames:
main: "netbox"
worker: "netbox-worker"
housekeeper: "netbox-housekeeper"
napalm:
user: ""
password: ""
timeout: 10
base_dir: "/srv/netbox"
media_root: "/opt/netbox/netbox/media"
volumes:
main:
startup_scripts: "startup_scripts"
initializers: "initializers"
configuration: "configuration"
reports: "reports"
scripts: "scripts"
media_files: "netbox-media-files"
data:
postgres: "netbox-postgres-data"
redis: "netbox-redis-data"
envs:
netbox: "env/netbox.env"
postgres: "env/postgres.env"
redis: "env/redis.env"
redis_cache: "env/redis-cache.env"
services:
redis:
main:
password: "H733Kdjndks82"
hostname: "redis"
cache:
password: "T4Ph722qJ5QHeQ1qfu36"
hostname: "redis-cache"
postgres:
db: "netbox"
user: "netbox"
password: "J5brHrAXFLQSif0K"
hostname: "postgres"

@ -0,0 +1,13 @@
---
- name: install required packages
ansible.builtin.package:
name:
- docker
- docker-compose
state: present
- name: restart netbox
docker_compose:
project_src: "{{ netbox.conf.base_dir }}"
restarted: true

@ -0,0 +1,22 @@
---
- name: create netbox directory
file:
path: "{{ netbox.conf.base_dir }}/env"
state: directory
recurse: true
notify: install required packages
- name: update environment files
template:
src: "{{ item }}.j2"
dest: "{{ netbox.conf.base_dir }}/{{ item }}"
loop:
- env/netbox.env
- env/postgres.env
- env/redis.env
- env/redis-cache.env
- docker-compose.yml
- docker-compose.override.yml
notify: restart netbox

@ -0,0 +1,5 @@
version: '3.4'
services:
netbox:
ports:
- "8080:8080"

@ -0,0 +1,77 @@
version: '3.4'
services:
netbox: &netbox
image: netboxcommunity/netbox:${VERSION-v3.1-1.5.1}
hostname: {{ netbox.conf.hostnames.main }}
depends_on:
- postgres
- redis
- redis-cache
- netbox-worker
env_file: {{ netbox.envs.netbox }}
user: 'unit:root'
volumes:
- {{ netbox.volumes.main.startup_scripts }}:/opt/netbox/startup_scripts:z,ro
- {{ netbox.volumes.main.initializers }}:/opt/netbox/initializers:z,ro
- {{ netbox.volumes.main.configuration }}:/etc/netbox/config:z,ro
- {{ netbox.volumes.main.reports }}:/etc/netbox/reports:z,ro
- {{ netbox.volumes.main.scripts }}:/etc/netbox/scripts:z,ro
- {{ netbox.volumes.main.media_files }}:/opt/netbox/netbox/media:z
netbox-worker:
<<: *netbox
hostname: {{ netbox.conf.hostnames.worker }}
depends_on:
- redis
- postgres
command:
- /opt/netbox/venv/bin/python
- /opt/netbox/netbox/manage.py
- rqworker
netbox-housekeeping:
<<: *netbox
hostname: {{ netbox.conf.hostnames.housekeeper }}
depends_on:
- redis
- postgres
command:
- /opt/netbox/housekeeping.sh
# postgres
postgres:
image: postgres:14-alpine
hostname: {{ netbox.services.postgres.hostname }}
env_file: {{ netbox.envs.postgres }}
volumes:
- {{ netbox.volumes.data.postgres }}:/var/lib/postgresql/data
# {{ spam_login }}
# redis
redis:
image: redis:6-alpine
hostname: {{ netbox.services.redis.main.hostname }}
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: {{ netbox.envs.redis }}
volumes:
- {{ netbox.volumes.data.redis }}:/data
redis-cache:
image: redis:6-alpine
hostname: {{ netbox.services.redis.cache.hostname }}
command:
- sh
- -c # this is to evaluate the $REDIS_PASSWORD from the env
- redis-server --requirepass $$REDIS_PASSWORD ## $$ because of docker-compose
env_file: {{ netbox.envs.redis_cache }}
volumes:
{% for key, volume in netbox.volumes.main.items() -%}
{{ volume }}:
driver: local
{% endfor -%}
{% for key, volume in netbox.volumes.data.items() -%}
{{ volume }}:
driver: local
{% endfor %}

@ -0,0 +1,46 @@
CORS_ORIGIN_ALLOW_ALL=True
DB_HOST={{ netbox.services.postgres.hostname }}
DB_NAME={{ netbox.services.postgres.db }}
DB_PASSWORD={{ netbox.services.postgres.password }}
DB_USER={{ netbox.services.postgres.user }}
EMAIL_FROM={{ netbox.conf.mail.from }}
EMAIL_PASSWORD={{ netbox.conf.mail.password }}
EMAIL_PORT={{ netbox.conf.mail.port }}
EMAIL_SERVER={{ netbox.conf.mail.host }}
EMAIL_SSL_CERTFILE={{ netbox.conf.mail.ssl.certfile }}
EMAIL_SSL_KEYFILE={{ netbox.conf.mail.ssl.keyfile }}
EMAIL_TIMEOUT={{ netbox.conf.mail.timeout }}
EMAIL_USERNAME={{ netbox.conf.mail.user }}
# EMAIL_USE_SSL and EMAIL_USE_TLS are mutually exclusive, i.e. they can't both be `true`!
EMAIL_USE_SSL={{ netbox.conf.mail.ssl.enabled }}
EMAIL_USE_TLS={{ netbox.conf.mail.tls }}
HOUSEKEEPING_INTERVAL=86400
MAX_PAGE_SIZE=1000
MEDIA_ROOT={{ netbox.conf.media_root }}
METRICS_ENABLED={{ netbox.conf.metrics }}
NAPALM_PASSWORD={{ netbox.conf.napalm.password }}
NAPALM_TIMEOUT={{ netbox.conf.napalm.timeout }}
NAPALM_USERNAME={{ netbox.conf.napalm.user }}
REDIS_CACHE_DATABASE=1
REDIS_CACHE_HOST={{ netbox.services.redis.cache.hostname }}
REDIS_CACHE_INSECURE_SKIP_TLS_VERIFY=false
REDIS_CACHE_PASSWORD={{ netbox.services.redis.cache.password }}
REDIS_CACHE_SSL=false
REDIS_DATABASE=0
REDIS_HOST={{ netbox.services.redis.main.hostname }}
REDIS_INSECURE_SKIP_TLS_VERIFY=false
REDIS_PASSWORD={{ netbox.services.redis.main.password }}
REDIS_SSL=false
RELEASE_CHECK_URL=https://api.github.com/repos/netbox-community/netbox/releases
SECRET_KEY={{ netbox.conf.secretkey }}
SKIP_STARTUP_SCRIPTS=false
SKIP_SUPERUSER=false
SUPERUSER_API_TOKEN={{ netbox.conf.user.superuser.api_token }}
SUPERUSER_EMAIL={{ netbox.conf.user.superuser.mail }}
SUPERUSER_NAME={{ netbox.conf.user.superuser.name }}
SUPERUSER_PASSWORD={{ netbox.conf.user.superuser.password }}
WEBHOOKS_ENABLED=true
DEBUG=true
INTERNAL_IPS=*
ALLOWED_HOSTS=*

@ -0,0 +1,3 @@
POSTGRES_DB={{ netbox.services.postgres.db }}
POSTGRES_PASSWORD={{ netbox.services.postgres.password }}
POSTGRES_USER={{ netbox.services.postgres.user }}

@ -0,0 +1 @@
REDIS_PASSWORD={{ netbox.services.redis.cache.password }}

@ -0,0 +1 @@
REDIS_PASSWORD={{ netbox.services.redis.main.password }}
Loading…
Cancel
Save