Skip to content

Latest commit

 

History

History
136 lines (87 loc) · 9.64 KB

README.md

File metadata and controls

136 lines (87 loc) · 9.64 KB

🐳🖧 OpenNetAdmin (ONA) Docker

docker automated maintained licence

🐋Dockerhub docker stars docker pulls

Dockerfile microbadger commit

The image is automatically rebuilt when the base image php is pushed.

📑️ Table of Contents

ℹ️ ONA Description

🌐 http://opennetadmin.com

OpenNetAdmin provides a database managed inventory of your IP network. Each subnet, host, and IP can be tracked via a centralized AJAX enabled web interface that can help reduce tracking errors. A full CLI interface is available as well to use for scripting and bulk work. We hope to provide a useful Network Management application for managing your IP subnets, hosts and much more. Stop using spreadsheets to manage your network! Start doing proper IP address management!

  • Full CLI interface for batch and scripting
  • Plugin system to extend functionality
  • Audit managed subnets and discover new IPs
  • Manage DNS and DHCP server configs, archive host configs
  • And much more …

Display Host Screenshot

🏷 Supported tags

🖧ONA 🏷docker-tag 🕸️php 🏷docker-tag 📀image info 📋Notes
v17.12.22 v17.12.22 v17.12.22-php5 microbadger
v18.1.1 v18.1.1 v18.1.1-php5 microbadger Current latest-tag
v18.1.1-php7.0 microbadger
git-master master-php5 microbadger current master seems to be incompatible with php5
master master-php7.0 microbadger Current testing-tag
master-php7.1 microbadger
master-php7.2 microbadger
git-develop develop-php5 microbadger current develop seems to be incompatible with php5
develop-php7.0 microbadger
develop develop-php7.1 microbadger
develop-php7.2 microbadger

🛠 Installation

📀 Get Image

Pull the image or build it manually.

⬇️ Pull from Dockerhub

Pull from Dockerhub. The tag latest can be replaced by any of the „Supported tags“ section:

docker pull raabf/ona:latest

🔨 Manual Building

Checkout or download the repository and run in the subdirectory ona/:

docker build --tag=myona --build-arg PHP_VERSION='7.1' --build-arg ONA_VERSION="master" .
  • PHP_VERSION='7.1' can be any version available at php (all *-apache tags are valid; examples: 5, 7, 5.6, 7.1.22, 7.3.0RC1)
  • ONA_VERSION="master" can be any branch, git-tag, or commit-hash from ONA

🎽 Create Container

Execute the following

docker run --detach --publish 0.0.0.0:8666:80 -v /etc/ona/local/:/opt/ona/www/local -v /etc/timezone:/etc/timezone:ro -v /etc/localtime:/etc/localtime:ro raabf/ona:latest
  • --publish 0.0.0.0:8666:80 ONA is reachable at the interface 0.0.0.0 (=any) and the port 8666. Adapt to your needs.
  • -v /etc/ona/local/:/opt/ona/www/local (Optional) /etc/ona/local/ is the configuration directory of your ONA instance and the path must already exist. It must be a permanent storage. If omitted docker will create an own directory (use docker inspect to find out this directory).
  • -v /etc/timezone:/etc/timezone:ro -v /etc/localtime:/etc/localtime:ro timezone information required by PHP
  • raabf/ona:latest The image pulled earlier.

🚢 Setup ONA

Then you have to find out the container name and copy it:

docker ps

Moreover we have to initialize the config directory and timezone of your server. This has to be done only once after creating a new container. Execute the following (existing files in the config directory will not be overwritten):

docker exec --interactive --tty PASTE_CONTAINER_NAME_HERE ./init_conf.sh

Now restart your container to apply changes:

docker restart PASTE_CONTAINER_NAME_HERE

ONA is now reachable at http://localhost:8666/ona

Note that this image is shipped without a database. Use either an MySQL/MariaDB instance running at your host or use an MariaDB Docker image.

Now follow the normal ONA Web Installation guide to complete your setup.

🔀 HTTP-Proxy

If you plan to proxy your container trough another webserver such at your host, please note that the same base-subdirectory has to be used. This docker image is configured to use ona/ as subdirectory. To modify this default, edit ona/apache2.conf and build the image on your own.

A suitable proxy directive for your host-apache2 instance could look like this:

<Location /ona>
    RequestHeader unset Accept-Encoding
    ProxyPreserveHost on

    AddOutputFilterByType SUBSTITUTE text/html
    Substitute "s|http://example.org/ona|https://example.org/ona|ni"

    ProxyPassReverse /
</Location>

ProxyPass /ona http://127.0.0.1:8666/ona
ProxyPassReverse /ona http://127.0.0.1:8666/ona
ProxyRequests Off

It assumes that your host webserver is accessible via example.org and that you have the required modules loaded: mod_proxy, mod_filter, mod_substitude.

It is also possible to omit --publish 0.0.0.0:8666:80 when the container is created and then directly point to the container IP with port 80 (for example http://172.17.0.1:80 instead of http://localhost:8666/). But remember to assign a static IP address to the container.

💡 Contributing

If something is missing or not working, then I’m happy for any contribution. You can find the repository and issues board at GitLab.