{"id":19914157,"url":"https://github.com/storm-legacy/traefik-stack","last_synced_at":"2026-05-09T09:05:36.203Z","repository":{"id":257661115,"uuid":"739540506","full_name":"storm-legacy/traefik-stack","owner":"storm-legacy","description":"Traefik template using Docker Compose with some preconfigured options for faster deployment.","archived":false,"fork":false,"pushed_at":"2024-09-17T20:46:23.000Z","size":13,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-11T23:15:26.014Z","etag":null,"topics":["docker","docker-compose","docker-compose-template","traefik"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/storm-legacy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-01-05T20:19:35.000Z","updated_at":"2024-09-17T20:46:26.000Z","dependencies_parsed_at":null,"dependency_job_id":"c9966a92-d695-48ee-8848-63dcd0790f33","html_url":"https://github.com/storm-legacy/traefik-stack","commit_stats":null,"previous_names":["storm-legacy/traefik-stack"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/storm-legacy%2Ftraefik-stack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/storm-legacy%2Ftraefik-stack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/storm-legacy%2Ftraefik-stack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/storm-legacy%2Ftraefik-stack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/storm-legacy","download_url":"https://codeload.github.com/storm-legacy/traefik-stack/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241342195,"owners_count":19947159,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","docker-compose","docker-compose-template","traefik"],"created_at":"2024-11-12T21:35:25.133Z","updated_at":"2026-05-09T09:05:36.197Z","avatar_url":"https://github.com/storm-legacy.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"The Traefik stack is a quick-start project that can be promptly deployed to the target machine with [Docker](https://www.docker.com/) installed. It uses the fantastic reverse proxy called [Traefik](https://doc.traefik.io/traefik/) and provides the bare minimum with examples that give a head start on the tedious task of setting up the web app environment. The project shows some examples of how applications can be configured and demonstrates them working in practice.\n\n\u003cbr/\u003e\n\n# Dependencies\n- Docker\n- Docker Compose\n- make (optional)\n- git (optional)\n\nDocker installation steps for your operating system can be found in the [official documentation](https://docs.docker.com/engine/install/). `make` and `git` are, in most cases, provided by your distro’s package manager, or they need to be additionally installed on Windows. Example for Debian/Ubuntu:\n\n```bash\nsudo apt-get update \\\n\u0026\u0026 sudo apt-get install --no-install-recommends git make\n```\nMake sure Docker is working after the new installation. Your user must be in the docker group, and the Docker service must be running:\n```bash\nsudo systemctl status docker\n# [...] Active: active (running) since Thu 1970-01-01 00:00:00 CEST; 1h 01min ago [...]\n\nsudo docker --version\n# Docker version 28.3.3, build 980b856\n\ndocker --version\n# Docker version 28.3.3, build 980b856\n\ndocker ps\n# CONTAINER ID  IMAGE COMMAND CREATED STATUS  PORTS\n```\n# Quickstart\nIt is highly encouraged to look into the `compose.yml`, `.env.example`, and `dynamic_conf/*` files to get familiar with the Traefik configuration and how traffic forwarding is set up.\n\n## Clone repository\n```bash\ngit clone https://github.com/storm-legacy/traefik-stack.git\n```\n\n## Automatic (quick)\nIf you have installed all dependencies and already cloned the repository, you can do everything at once with a single command. For more information, check the Makefile.\n```bash\nmake\n# or\nmake init\n```\n\n## Semi-manual (slower)\nIf you want to have a little more control over the process, you can use the steps provided below. Example commands will use the default values provided in `.env.example`.\n\n### Copy .env.example -\u003e .env\nThere are some defaults that are later used by the `Makefile` and `compose.yml`. These can be adjusted if needed.\n```bash\n# make __init\ncp -fn .env.example .env\n```\n\n### Create proxy network\nThis network is used for routing traffic to and from the Traefik container.\n```bash\n# make create_network\ndocker network create --subnet 172.60.0.0/16 traefik-proxy\n```\n\n### Adjust timezone\n```.env\n# .env\nTZ=Europe/Warsaw\n```\n\n### Specify full example run\nIf you want to run the entire example, make sure the `FULL_EXAMPLE` variable is set to `true`. In any other case, use a non-`true` value:\n```.env\n# .env\nFULL_EXAMPLE=true\n```\n\n### Remove unnecessary configuration files\nIn the `dynamic_conf` directory, there are a few configuration files that can be safely removed if the example is not supposed to run. These can be removed with:\n```bash\nmake remove_example\n```\nAlthough anything else in dynamic_conf can also be removed, at some point it is worth asking yourself whether you even need this project if you are going to remove the majority of it (better to start clean).\n\n### Start the project\n```bash\n# docker compose -f compose.yml -f compose.example.yml up -d # (ommit -f compose.example.yml on no-example variant)\nmake start\n```\n\n## Certificates\nThe provided stack has basic automatic TLS certificate renewal, but for it to work properly, a few steps should be performed to ensure it functions correctly. Before anything else, make sure the domain is pointing to the correct IP address of the server and that Traefik is accessible from the Internet.\n\n### Configure staging certificates\nOpen `compose.yml` and uncomment the line below the `command:` block:\n```yml\n- \"--certificatesresolvers.le.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory\"\n\n```\nThis allows for certificate testing without the risk of being rate-limited in case of many failed iterations. It can be latter reversed for the production certificates usage.\n\n### Provide correct email and enable TLS_CHALLENGE in `.env`;\n```.env\n# .env\nTRAEFIK_LE_TLS_CHALLENGE=true\nTRAEFIK_LE_MAIL=my.email@correctdomain.com\n```\n\n### Restart the project\n```bash\n# docker compose -f compose.yml down\n# docker compose -f compose.yml up -d\nmake restart\n```\n\n# Examples\nVarious services are configured with different levels of priority, which enables the use of administration applications in subpaths and the main application on the root domain.\n\nHere is a list of all example configured services:\n\n| Service            | URL                       | User:Password                  | Traefik Config File                  |\n| ------------------ | ------------------------- | ------------------------------ | ------------------------------------ |\n| MySQL + phpMyAdmin | `https://localhost/pma/`  | `[none]`                       | `dynamic_conf/phpmyadmin.example.yml` |\n| PostgreSQL + pgAdmin | `https://localhost/pgadmin/` | `pgadmin@example.com:password` | `dynamic_conf/pgadmin.example.yml`   |\n| Frontend           | `https://localhost/`      | `[none]`                       | `dynamic_conf/app.example.yml`       |\n| Backend            | `https://localhost/api/`  | `[none]`                       | `dynamic_conf/app.example.yml`       |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstorm-legacy%2Ftraefik-stack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstorm-legacy%2Ftraefik-stack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstorm-legacy%2Ftraefik-stack/lists"}