noxway

command module
v0.0.0-...-ce32d93 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 19, 2024 License: MIT Imports: 25 Imported by: 0

README

noxway

Super-fast, efficient API gateway written in Go & React/TS

Attention: Currently not stable

Todo

  • Translation
  • Endpoint Basic Auth
  • Endpoint JWT Auth
  • Gateway Let's Encrypt Automatic Retrieve
  • Lets Encrypt Renewal
  • Code Cleanup
  • Tests
  • Deployment

Test Deployment

  1. Create docker-compose.yaml
  2. Change MySql ROOT Password: MYSQL_ROOT_PASSWORD: "changeme"
  3. Change JWT Secret Key: JWTSECRET: "changeme"
  4. NOXWAY_DB_PASSWORD="change_me_please" docker-compose up -d
  5. Set Admin Password and Whitelist:
curl -X POST -H "Content-Type: application/json" -d '{
    "password": "admin",
    "newpassword": "changeme",
    "whitelist": ["whitelist_admin_ip"],
    "dnswhitelist": ["whitelist_admin_dns"]
    }' http://127.0.0.1:8080/setAdmin
  1. Open http://hosturl:8080/web
  2. Configure gateway SSL

Docker-Compose

version: '3.8'

services:
  app:
    image: 'noxway/noxway:0.0.3'
    ports:
      - "8080:8080"
      - "443:443"
      - "80:80"
    volumes:
      - ./noxway/certs:/app/certs
      - ./noxway/config:/app/config
      - ./noxway/log:/app/log
    environment:
      JWTSECRET: "changeme"
      DATABASE: "noxway:${NOXWAY_DB_PASSWORD}@tcp(db:3306)/noxway?charset=utf8&parseTime=True&loc=Local"
    restart: unless-stopped
    depends_on:
      - db
   

  db:
    image: mariadb:latest
    environment:
      MYSQL_ROOT_PASSWORD: "changeme"
      MYSQL_DATABASE: noxway
      MYSQL_USER: noxway
      MYSQL_PASSWORD: ${NOXWAY_DB_PASSWORD}
    volumes:
      - ./noxway/db_data:/var/lib/mysql
      - ./initdb:/docker-entrypoint-initdb.d
    restart: unless-stopped

volumes:
  db_data:

Screens

alt text

alt text

alt text

alt text

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL