mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-08-06 13:57:14 +02:00
testing/netbox: new aport
IP address management (IPAM) and data center infrastructure management (DCIM) tool
This commit is contained in:
parent
86152549db
commit
cd5dd02c13
77
testing/netbox/APKBUILD
Normal file
77
testing/netbox/APKBUILD
Normal file
@ -0,0 +1,77 @@
|
||||
# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
|
||||
# Maintainer:
|
||||
pkgname=netbox
|
||||
pkgver=2.2.8
|
||||
pkgrel=0
|
||||
pkgdesc="IP address management and data center infrastructure management tool"
|
||||
url="https://netbox.io"
|
||||
arch="noarch"
|
||||
license="Apache-2.0"
|
||||
depends="py3-django py3-django-cors-headers py3-django-debug-toolbar
|
||||
py3-django-filter py3-django-mptt py3-django-rest-swagger py3-django-tables2
|
||||
py3-django-rest-framework py3-napalm py3-graphviz py3-markdown py3-natsort
|
||||
py3-ncclient py3-netaddr py3-paramiko py3-pillow py3-psycopg2 py3-pygfm
|
||||
py3-pycryptodome py3-xmltodict py3-gunicorn"
|
||||
install="$pkgname.pre-install $pkgname.post-upgrade"
|
||||
subpackages="$pkgname-doc"
|
||||
options="!check" # no testsuite
|
||||
pkgusers="netbox"
|
||||
pkggroups="netbox"
|
||||
source="$pkgname-$pkgver.tar.gz::https://github.com/digitalocean/netbox/archive/v$pkgver.tar.gz
|
||||
gunicorn_config.py
|
||||
netbox.nginx-sample
|
||||
$pkgname.initd
|
||||
$pkgname.logrotated
|
||||
set-config-defaults.patch
|
||||
"
|
||||
builddir="$srcdir"/$pkgname-$pkgver
|
||||
|
||||
build() {
|
||||
return 0
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "$builddir"
|
||||
local destdir=usr/share/webapps
|
||||
local conffile=etc/$pkgname/configuration.py
|
||||
mkdir -p "$pkgdir"/$destdir \
|
||||
"$pkgdir"/usr/share/doc \
|
||||
"$pkgdir"/etc/$pkgname
|
||||
mv $pkgname "$pkgdir"/$destdir
|
||||
mkdir -p "$pkgdir"/$destdir/$pkgname/static
|
||||
mv docs "$pkgdir"/usr/share/doc/$pkgname
|
||||
mv "$pkgdir"/$destdir/$pkgname/$pkgname/configuration.example.py \
|
||||
"$pkgdir"/$conffile
|
||||
|
||||
# in order to install the static files we need a working config file
|
||||
# and temporarily set minimum settings in config file
|
||||
ln -s "$pkgdir"/$conffile \
|
||||
"$pkgdir"/$destdir/$pkgname/$pkgname/configuration.py
|
||||
sed -i "s/SECRET_KEY.*/SECRET_KEY = \'abcdefghk123456789\'/" \
|
||||
"$pkgdir"/$conffile
|
||||
|
||||
# install static files
|
||||
python3 "$pkgdir"/$destdir/$pkgname/manage.py collectstatic --noinput --clear --link
|
||||
# let's move instead of linking static files originating from netbox
|
||||
local dir; for dir in "$pkgdir"/$destdir/$pkgname/project-static/*; do
|
||||
rm -rf "$pkgdir"/$destdir/$pkgname/static/$(basename $dir)
|
||||
mv $dir "$pkgdir"/$destdir/$pkgname/static
|
||||
done
|
||||
|
||||
install -m644 "$srcdir"/gunicorn_config.py "$pkgdir"/$destdir/$pkgname
|
||||
install -D -m644 "$srcdir"/netbox.nginx-sample "$pkgdir"/etc/nginx/netbox.sample
|
||||
install -D -m755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
|
||||
install -D -m644 "$srcdir"/$pkgname.logrotated "$pkgdir"/etc/logrotate.d/$pkgname
|
||||
install -d -m755 -o netbox -g netbox "$pkgdir"/var/lib/$pkgname/media
|
||||
|
||||
# undo temp stuff
|
||||
ln -sf /$conffile "$pkgdir"/$destdir/$pkgname/$pkgname/configuration.py
|
||||
sed -i "s/SECRET_KEY.*/SECRET_KEY = \'\'/" "$pkgdir"/$conffile
|
||||
}
|
||||
|
||||
sha512sums="3e5014ff240404e33ac50a700f3c31dc86ff3693c1f26caa681db7b5d14e8d7237f6b2d918c519e47818efc2384ef279196943f86c256a9a8bf7aa7f8084d1a2 netbox-2.2.8.tar.gz
|
||||
09d8e40d98d113458ee602de85306ac1a24fbb0015fbc4bb77812dae05096cb7b9c50770f650fd2ac78a388f35d7752ce8021790e952234a39c8b3e73a4ea3db gunicorn_config.py
|
||||
b5c3dc0ad2ebaacf43dfa41880dc7d677a763a3fadf1ccd0a6a9ec744d1648ca72f6a55893d09fd843b399559e2411a98b0ded597669f18a34f305f5ccb57c06 netbox.nginx-sample
|
||||
d4467109d803f42f8d9b088951d6123b9088f0069a4db280c2ca5e5a57bf746d1faa70d0f542154149e60f21891876f7c15da360e07eec8c8a36f5aac65509d3 netbox.initd
|
||||
a87dd52264f5ea00dbb774e54332480615850aa0056e60e13963481e8390bee73ceb519873fa11d357a29911c4e34a30c4623f4c206f765af6e64f379314e5a8 netbox.logrotated
|
||||
6b9eb0dcf8d5a267c3c88b81468d1fd7a7971cc084370a44f1ea5b61b08a30e9339f838e97947a0c65f385ed69fc5122592eca0ee5ff6e00cf5ec0f2dbe4c59f set-config-defaults.patch"
|
5
testing/netbox/gunicorn_config.py
Normal file
5
testing/netbox/gunicorn_config.py
Normal file
@ -0,0 +1,5 @@
|
||||
command = '/usr/bin/gunicorn'
|
||||
pythonpath = '/usr/share/webapps/netbox'
|
||||
bind = '127.0.0.1:8001'
|
||||
workers = 3
|
||||
user = 'netbox'
|
21
testing/netbox/netbox.initd
Normal file
21
testing/netbox/netbox.initd
Normal file
@ -0,0 +1,21 @@
|
||||
#!/sbin/openrc-run
|
||||
|
||||
_port=8080
|
||||
_bind=0.0.0.0
|
||||
_basedir=/usr/share/webapps/netbox
|
||||
_logfile="/var/log/${RC_SVCNAME}"
|
||||
pidfile="/run/netbox/${RC_SVCNAME}.pid"
|
||||
command=/usr/bin/gunicorn
|
||||
command_args="--daemon \
|
||||
--pid $pidfile \
|
||||
--log-file $_logfile \
|
||||
--log-level info \
|
||||
-c $_basedir/gunicorn_config.py netbox.wsgi"
|
||||
command_user="netbox"
|
||||
command_group="netbox"
|
||||
|
||||
start_pre() {
|
||||
checkpath --directory /run/${RC_SVCNAME} /var/log/${RC_SVCNAME} \
|
||||
--owner $command_user:$command_group --mode 755
|
||||
}
|
||||
|
8
testing/netbox/netbox.logrotated
Normal file
8
testing/netbox/netbox.logrotated
Normal file
@ -0,0 +1,8 @@
|
||||
/var/log/netbox/*.log {
|
||||
weekly
|
||||
rotate 4
|
||||
missingok
|
||||
notifempty
|
||||
sharedscripts
|
||||
copytruncate
|
||||
}
|
20
testing/netbox/netbox.nginx-sample
Normal file
20
testing/netbox/netbox.nginx-sample
Normal file
@ -0,0 +1,20 @@
|
||||
server {
|
||||
listen 80;
|
||||
|
||||
server_name netbox.mydomain;
|
||||
|
||||
client_max_body_size 25m;
|
||||
|
||||
location /static/ {
|
||||
alias /usr/share/webapps/netbox/static/;
|
||||
}
|
||||
|
||||
location / {
|
||||
proxy_pass http://127.0.0.1:8001;
|
||||
proxy_set_header X-Forwarded-Host $server_name;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"';
|
||||
}
|
||||
}
|
||||
|
8
testing/netbox/netbox.post-upgrade
Executable file
8
testing/netbox/netbox.post-upgrade
Executable file
@ -0,0 +1,8 @@
|
||||
#!/bin/sh
|
||||
echo
|
||||
echo "* Please run:"
|
||||
echo "*"
|
||||
echo "* 'python3 /usr/share/webapps/netbox/manage.py migrate'"
|
||||
echo "*"
|
||||
echo "* in order to complete the upgrade."
|
||||
echo
|
4
testing/netbox/netbox.pre-install
Executable file
4
testing/netbox/netbox.pre-install
Executable file
@ -0,0 +1,4 @@
|
||||
#!/bin/sh
|
||||
addgroup -S netbox 2>/dev/null
|
||||
adduser -S -h /var/log/netbox -s /sbin/nologin -G netbox -D netbox 2>/dev/null
|
||||
exit 0
|
11
testing/netbox/set-config-defaults.patch
Normal file
11
testing/netbox/set-config-defaults.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- a/netbox/netbox/configuration.example.py
|
||||
+++ b/netbox/netbox/configuration.example.py
|
||||
@@ -98,7 +98,7 @@
|
||||
|
||||
# The file path where uploaded media such as image attachments are stored. A trailing slash is not needed. Note that
|
||||
# the default value of this setting is derived from the installed location.
|
||||
-# MEDIA_ROOT = '/opt/netbox/netbox/media'
|
||||
+MEDIA_ROOT = '/var/lib/netbox/media'
|
||||
|
||||
# Credentials that NetBox will uses to authenticate to devices when connecting via NAPALM.
|
||||
NAPALM_USERNAME = ''
|
Loading…
Reference in New Issue
Block a user