GithubHelp home page GithubHelp logo

docker-home's Introduction

Docker Home Services

Instructions

  1. Clone the repo.
  2. Configure Cloudflare
    • DNS Challenge (for LetsEncrypt verification) is enabled by default for cloudflare.
    • For a list of providers other than cloudflare, check here.
  3. Setup OAuth *
  4. Configure environmental variables (.env file)
    • Rename the included env.example to .env.
    • Edit variables in .env file.
    • All variables (ie. $XXX) in docker-compose.yml come from .env file stored in the same place as docker-compose.yml.
    • Ensure good permissions for the .env file (recommended: 640).
  5. Edit docker-compose.yml to include only the services you want or add additional services to it. Be sure to read the comments for each app and create any required files.
  6. Setup the network and traefik mounts:
    docker network create --gateway 192.168.90.1 --subnet 192.168.90.0/24 t2_proxy
    Subnet range 192.168.0.0/16 covers 192.168.0.0 to 192.168.255.255
    touch $USERDIR/traefik2/acme/acme.json
    chmod 600 $USERDIR/traefik2/acme/acme.json
    touch $USERDIR/traefik2/traefik.log
  7. (Optional) Put non-docker apps behind Traefik proxy by renaming traefik/rules/app.toml.example to traefik/rules/app.toml and editing its contents.

* If OAuth is not configured then removing it from the middlewares chain should be sufficient to allow other services to be accessable, although it would be better to just update the middlewares used by each individual service.

  [http.middlewares.chain-oauth]
    [http.middlewares.chain-oauth.chain]
-       middlewares = [ "middlewares-rate-limit", "middlewares-secure-headers", "middlewares-oauth"]
+       middlewares = [ "middlewares-rate-limit", "middlewares-secure-headers"]

Public Access

For restricting public access, I use two sets of HTTP(S) entrypoints where one pair is the portforwarded to the internet


For a great point of reference see here

docker-home's People

Contributors

chasbob avatar

Stargazers

 avatar

Watchers

 avatar  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.