GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - plamorg/voltproxy: ⚡ Reverse proxy with effortless Docker integration and easy configuration

BranchesTags
Open more actions menu

Latest commit

 

History

85 Commits
85 Commits

Folders and files

NameName
Last commit message
Last commit date
.github/workflows
.github/workflows
 
 
config
config
 
 
dockerapi
dockerapi
 
 
integration
integration
 
 
logging
logging
 
 
middlewares
middlewares
 
 
services
services
 
 
.gitignore
.gitignore
 
 
.golangci.yml
.golangci.yml
 
 
Dockerfile
Dockerfile
 
 
LICENSE
LICENSE
 
 
Makefile
Makefile
 
 
README.md
README.md
 
 
go.mod
go.mod
 
 
go.sum
go.sum
 
 
main.go
main.go
 
 
voltproxy.png
voltproxy.png
 
 

Repository files navigation

voltproxy Logo

Website | Documentation

⚡ voltproxy

voltproxy is a reverse proxy designed to simplify the process of proxying Docker containers and other services. With voltproxy, you can easily manage and redirect traffic to different services using a single YAML configuration file.

Features:

  • Single configuration for all your services with YAML.
  • Streamlined Docker integration.
    • Simply provide a Docker container's name and network and voltproxy will do the rest.
    • No need to define per-container labels.
  • Automatic HTTPS with support for ACME-based certificates.
  • Load Balancing to enhance service scalability.
    • Customize service selection strategy.
    • Optionally persist client sessions through cookies.
  • Health Checking functionality to facilitate failover schemes.
  • Middlewares to attach additional functionality to existing services.
  • Customized structured logging options to provide detailed logs for monitoring.

🔧 Configuration

Here is a simple configuration to get started:

# config.yml
services:
  foo:
    host: foo.plam.dev
    redirect: "http://192.168.0.1:3000"
  bar:
    host: bar.plam.dev
    tls: true
    container:
      name: "/bar"
      network: "bar_default"
      port: 8080

This configuration instructs voltproxy to proxy incoming requests with the URL http://foo.plam.dev to http://192.168.0.1:3000 and proxy incoming requests with the URL https://bar.plam.dev to the specified Docker container.

See the documentation for more details.

Examples

These examples can be found in integration/examples.

  • 🔧 Basic Configuration
  • ⚖️ Load Balancing
  • 🏥 Health Checking
  • 🔗 Multiple Middlewares
  • ➕ Additional Configuration

Middleware Configuration

  • 🔑 Auth Forward
  • 🔒 IP Allow

📝 Usage

You can either run voltproxy locally or deploy with Docker.

Local Installation

Ensure you have Go 1.21 or newer.

  1. Clone the repository:
$ git clone "https://github.com/plamorg/voltproxy.git"
  1. Build voltproxy:
$ cd voltproxy/
$ go build

Deploying with Docker

  1. Create voltproxy configuration config.yml.

  2. Create Docker Compose file docker-compose.yml. Example:

# docker-compose.yml
version: "3.3"

services:
  voltproxy:
    container_name: voltproxy
    image: claby2/voltproxy:latest
    restart: unless-stopped
    ports:
      - 80:80
      - 443:443
    volumes:
      - "./_certs:/usr/src/voltproxy/_certs"
      - "./config.yml:/usr/src/voltproxy/config.yml"
      - "/var/run/docker.sock:/var/run/docker.sock:ro"
    networks:
      # If proxying a Docker container, ensure the containers are connected to the same network.
      - service_net
networks:
  service_net:
    external: true
  1. Run container with Docker Compose:
$ docker compose up -d --force-recreate

🌟 Future Improvements

  • Additional load balancing selection strategies.
  • More middlewares.

About

⚡ Reverse proxy with effortless Docker integration and easy configuration

voltproxy.plam.dev

Topics

automatic-httpsdockergogolangreverse-proxyself-hostedvoltproxyyaml

Resources

Readme
AGPL-3.0 license
Activity
Custom properties

Stars

6 stars

Watchers

1 watching

Forks

0 forks
Report repository

Releases

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.