Skip to content

Company traefik configuration for development environment.

Notifications You must be signed in to change notification settings

blumilksoftware/environment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Local Blumilk traefik environment

This repo contains default Blumilk traefik configuration for local dev environment.

Usage

Before first setup, make sure you have the required dependencies:

sudo apt install make libnss3-tools

Also note that ports :80 and :443 need to be unoccupied.

To initialize the environment:

make init

This will:

  • generate locally-trusted development certificates needed to run traefik over https
  • create an .env file (if none exists)
  • set up a docker network

To actually run the environment:

make run

This will start a preconfigured traefik docker container. The container will occupy your ports :80 and :443. It will also automatically start with the system but you can manage it with: make stop and make restart.

Traefik dashboard will be available here:

If you want to force HTTPS, uncomment this line:
- "traefik.http.routers.traefik-dashboard-http-router.middlewares=https-redirect@file"
in traefik/docker-compose.yaml, and restart traefik (make restart).

Sample app

You can verify the environment is working with an included sample app whoami. Just run (in the same directory as this file):

docker compose up -d

The sample app should be available here:

Optionally, you can redirect all HTTP traffic to HTTPS. To do so, uncomment:
- "traefik.http.routers.whoami-http-router.middlewares=https-redirect@file"
in docker-compose.yaml, and restart the container.

Local domains

Everything with *.localhost will be resolved to 127.0.0.1 so there's no need to edit /etc/hosts file.

The environment uses domain names matching: *.blumilk.localhost.

Certificates

We're using mkcert to generate self-signed certificates to support https in local development. These certificates will cover a local domain *.blumilk.localhost.

Keep in mind that X.509 wildcard certificates only go one level deep. So a domain a.blumilk.localhost is valid but a.b.blumilk.localhost is not.

Certificates will be valid for 2 years.

More on mkcert

Docker

A docker network traefik-proxy-blumilk-local will be created if it does not exist.

Using the environment with your project

Detailed instructions on how to use this environment with your project are available here.

Troubleshooting

  • Traefik requires ports :80 and :443 and the container will refuse to start if something is blocking any of these.
    • to see what's listening on port 80, you can use this command: ss -peanut | grep ":80" | grep LISTEN

About

Company traefik configuration for development environment.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published