All Projects → schenkd → Nginx Ui

schenkd / Nginx Ui

Licence: mit
Nginx UI allows you to access and modify the nginx configurations files without cli.

Programming Languages

python
139335 projects - #7 most used programming language
HTML
75241 projects
javascript
184084 projects - #8 most used programming language
CSS
56736 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to Nginx Ui

Docker Nginx Gunicorn Flask Letsencrypt
Boilerplate code for setting up Nginx + Gunicorn + Flask + automated LetsEncrypt certificates (https) using docker-compose.
Stars: ✭ 117 (-97.12%)
Mutual labels:  flask, docker-compose, nginx
Pyblog
Pyblog 是一个简单易用的在线 Markdown 博客系统,它使用 Python 的 flask 架构,理论上支持所有 flask-sqlalchemy 所能支持的数据库。 编辑器使用的是 editor.md。当前版本(v2.0)支持且仅支持 python3! Python 的 Markdown to HTML 编译器使用的是 Mistune! Just so!
Stars: ✭ 113 (-97.22%)
Mutual labels:  flask, nginx
Dfile
[Python + Flask] DFile: A fancy S3-based file sharing mode
Stars: ✭ 79 (-98.06%)
Mutual labels:  flask, nginx
Docker Flask Gunicorn Nginx
Bootstrap example of a Flask app served via Gunicorn and Nginx using Docker conteiners
Stars: ✭ 138 (-96.61%)
Mutual labels:  flask, nginx
Flask Restful Authentication
An example for RESTful authentication using nginx, uWSGI, Flask, MongoDB and JSON Web Token(JWT).
Stars: ✭ 63 (-98.45%)
Mutual labels:  flask, nginx
Docker Tutorial
Code for a creating a docker app with Flask and MySQL tutorial
Stars: ✭ 73 (-98.21%)
Mutual labels:  flask, docker-compose
Dockerized Flask
Dockerized web app using NGINX, Flask and PostgreSQL
Stars: ✭ 119 (-97.07%)
Mutual labels:  flask, nginx
Enferno
A Python framework based on Flask microframework, with batteries included, and best practices in mind.
Stars: ✭ 385 (-90.53%)
Mutual labels:  flask, docker-compose
Docker Web Framework Examples
Example apps that demonstate how to use Docker with your favorite web frameworks.
Stars: ✭ 204 (-94.98%)
Mutual labels:  flask, docker-compose
Uwsgi Nginx Flask Docker
Docker image with uWSGI and Nginx for Flask applications in Python running in a single container. Optionally with Alpine Linux.
Stars: ✭ 2,607 (-35.9%)
Mutual labels:  flask, nginx
Bgp Dashboard
BGP Dashboard and Monitoring Web Application
Stars: ✭ 268 (-93.41%)
Mutual labels:  flask, docker-compose
Docker Flask Mongodb Example
Uses docker compose with a python flask microservice and MongoDB instance to make a sample application
Stars: ✭ 49 (-98.8%)
Mutual labels:  flask, docker-compose
Big Album Art
[RETIRED] A Flask app to display almost-fullscreen album art for your currently playing Spotify songs. Enjoy the visuals!
Stars: ✭ 38 (-99.07%)
Mutual labels:  flask, docker-compose
Shorty
🔗 A URL shortening service built using Flask and MySQL
Stars: ✭ 78 (-98.08%)
Mutual labels:  flask, nginx
Flask Restful Example
flask后端开发接口示例,利用Flask开发后端API接口。包含基本的项目配置、统一响应、MySQL和Redis数据库操作、定时任务、图片生成、项目部署、用户权限认证、报表输出、无限层级生成目录树、阿里云手机验证码验证、微信授权、Celery、单元测试、Drone等模块。
Stars: ✭ 429 (-89.45%)
Mutual labels:  flask, docker-compose
Devilbox
A modern Docker LAMP stack and MEAN stack for local development
Stars: ✭ 3,598 (-11.53%)
Mutual labels:  docker-compose, nginx
Kickoff Docker Php
🐳 🐘 🚀 Easily setup a PHP project with Docker
Stars: ✭ 213 (-94.76%)
Mutual labels:  docker-compose, nginx
Docker Lnmp
🐋Docker-compose(Linux,Nginx,MySQL,PHP7,Redis)
Stars: ✭ 244 (-94%)
Mutual labels:  docker-compose, nginx
Docker Flask Celery Redis
Docker-Compose template for orchestrating a Flask app with a Celery queue using Redis
Stars: ✭ 165 (-95.94%)
Mutual labels:  flask, docker-compose
Gather Deployment
Gathers scalable tensorflow and infrastructure deployment
Stars: ✭ 326 (-91.98%)
Mutual labels:  flask, nginx

nginx ui

Docker Image CI

Image of Nginx UI

Table of Contents

Introduction

We use nginx in our company lab environment. It often happens that my colleagues have developed an application that is now deployed in our Stage or Prod environment. To make this application accessible nginx has to be adapted. Most of the time my colleagues don't have the permission to access the server and change the configuration files and since I don't feel like doing this for everyone anymore I thought a UI could help us all. If you feel the same way I wish you a lot of fun with the application and I am looking forward to your feedback, change requests or even a star.

Setup

Containerization is now state of the art and therefore the application is delivered in a container.

Example

  • -d run as deamon in background
  • --restart=always restart on crash or server reboot
  • --name nginxui give the container a name
  • -v /etc/nginx:/etc/nginx map the hosts nginx directory into the container
  • -p 8080:8080 map host port 8080 to docker container port 8080
docker run -d --restart=always --name nginxui -v /etc/nginx:/etc/nginx -p 8080:8080 schenkd/nginx-ui:latest

Docker

Repository @ DockerHub

Docker Compose excerpt

# Docker Compose excerpt
services:
  nginx-ui:
    image: schenkd/nginx-ui:latest
    ports:
      - 8080:8080
    volumes:
      - nginx:/etc/nginx

UI

Image of Nginx UI

With the menu item Main Config the Nginx specific configuration files can be extracted and updated. These are dynamically read from the Nginx directory. If a file has been added manually, it is immediately integrated into the Nginx UI Main Config menu item.

Image of Nginx UI

Adding a domain opens an exclusive editing window for the configuration file. This can be applied, deleted and enabled/disabled.

Authentication

BasicAuth with nginx

In general, this app does not come with authentication. However, it is easy to setup basic auth to restrict unwanted access. Here is how this can be done when using nginx.

Configure the auth file

  1. Verify that apache2-utils (Debian, Ubuntu) or httpd-tools (RHEL/CentOS/Oracle Linux) is installed
  2. Run the htpasswd utility to create a new user and set a passwort.
    • Make sure, that the directory exists
    • Remove the -c flag, if you have created a user before, since it creates the inital user/passwort file
    • sudo htpasswd -c /etc/apache2/.htpasswd user1

Configure nginx

The following example adds basic auth to our nginxui app running in a docker container with a mapped port 8080. In this case, it will be accessible via nginx.mydomain.com

server {
    server_name nginx.mydomain.com;

    location / {
        proxy_pass http://127.0.0.1:8080/;
    }

    auth_basic "nginxui secured";
    auth_basic_user_file /etc/apache2/.htpasswd;

    # [...] ommited ssl configuration
}
  1. Add above nginx conf to your /etc/nginx/my.conf file
  2. Run nginx -t to make sure, that your config is valid
  3. Run systemctl restart nginx (or equivalent) to restart your nginx and apply the new settings
  4. Your nginx ui is now accessible at nginx.mydomain.com and will correctly prompt for basic auth
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].