GithubHelp home page GithubHelp logo

litanid / docker-tinc Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tiredofit/docker-tinc

0.0 1.0 0.0 17 KB

Docker Tinc VPN Mesh server w/S6 Overlay Init, Zabbix Monitoring, and distributed configuration updating based on Alpine

License: MIT License

Dockerfile 100.00%

docker-tinc's Introduction

hub.docker.com/tiredofit/tinc

Introduction

Dockerfile to build a tinc container image.

  • Latest Release automatically downloaded and compiled (1.1 test series)
  • Automatically downloads peer configuration files from git server based on network name.
  • Configurable Options for resyncing information from git server
  • Configurable Options to enable various types of compression or enable debugging for troubleshooting.
  • Logrotate Installed and will rotate logs daily and hold for 7 days.

** Do NOT use a public git server to host your repository, as it will reveal personal details of your network! You have been warned **

This Container uses Alpine:Edge as a base.

Changelog

Authors

Table of Contents

Prerequisites

This image relies on a private Git Repository to store configuration data. Create a private repo and user account in git before proceeding.

Installation

Automated builds of the image are available on Docker Hub and is the recommended method of installation.

docker pull tiredofit/tinc

Quick Start

Configuration

Data-Volumes

The following directories are used for configuration and can be mapped for persistent storage.

Directory Description
/etc/tinc/ Root tinc Directory

Environment Variables

Along with the Environment Variables from the Base image, below is the complete list of available options that can be used to customize your installation.

Parameter Description
GIT_URL GIT Repository URL (ie https://github.com/username/repo)
GIT_USER Username to Authenticate to git server (e.g. username)
GIT_PASS Password for above user (e.g. password)
CRON_PERIOD Adjustable time to check GIT Server for any updates (Default: 5)
DEBUG Adjustable Debug level as per tinc documentation (e.g 5 Deault: 0)
NETWORK The VPN name - (e.g. securenetwork)
NODE The unique hostname of the machine joining the VPN (e.g. hostname)
PUBLIC_IP The public IP you wish to listen on (e.g. 137.233.212.121)
PRIVATE_IP The private IP that is assigned to this machine on the VPN (e.g. 172.16.23.13)
INTERFACE Which Interface to use (relies on /dev/tun) (e.g. tun0)
PEERS Which server should be used to contact first to create the mesh VPN (e.g. host1.hostname.com host2.hostname.com)
COMPRESSION Level of LZO Compression (e.g. 9) (Default: 1)

Networking

The following ports are exposed.

Port Description
655 Tinc

NOTE: You must also allow capabilities for NET_ADMIN to docker to be able to have access to the IP Stack. Also, you must create /dev/tun as a device. If you want to make the Docker Host be able to be accessible you also must add network:host as an option otherwise only the containers will be accessible. See the working docker-compose.yml example as shown above.

Maintenance

Shell Access

For debugging and maintenance purposes you may want access the containers shell.

docker exec -it (whatever your container name is e.g. tinc) bash

References

docker-tinc's People

Contributors

tiredofit avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.