├── README.md ├── docker-compose.yml ├── .github └── workflows │ └── build_and_publish.yml └── Dockerfile /README.md: -------------------------------------------------------------------------------- 1 | # ats-docker 2 | 3 | Dockerfile for Apache Traffic Server 4 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "3.8" 2 | 3 | services: 4 | cache-server: 5 | image: skyzh/ats-server:1.0 6 | -------------------------------------------------------------------------------- /.github/workflows/build_and_publish.yml: -------------------------------------------------------------------------------- 1 | name: Publish Docker 2 | on: [push] 3 | jobs: 4 | build: 5 | runs-on: ubuntu-latest 6 | steps: 7 | - uses: actions/checkout@master 8 | - name: build 9 | run: docker build -t docker.pkg.github.com/sjtug/ats-docker/ats:8.1.0 . 10 | - name: publish 11 | env: 12 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 13 | run: | 14 | echo $GITHUB_TOKEN | docker login docker.pkg.github.com -u $GITHUB_ACTOR --password-stdin 15 | docker push docker.pkg.github.com/sjtug/ats-docker/ats:8.1.0 16 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu:focal 2 | 3 | # Update the package repository 4 | RUN set -x \ 5 | && DEBIAN_FRONTEND=noninteractive apt-get update \ 6 | && DEBIAN_FRONTEND=noninteractive apt-get install -y \ 7 | curl \ 8 | locales \ 9 | build-essential \ 10 | bzip2 \ 11 | libssl-dev \ 12 | libxml2 \ 13 | libxml2-dev \ 14 | libpcre3 \ 15 | libpcre3-dev \ 16 | tcl \ 17 | tcl-dev \ 18 | libboost-dev \ 19 | # Configure locale 20 | && export LANGUAGE=en_US.UTF-8 \ 21 | && export LANG=en_US.UTF-8 \ 22 | && export LC_ALL=en_US.UTF-8 \ 23 | && locale-gen en_US.UTF-8 \ 24 | && DEBIAN_FRONTEND=noninteractive dpkg-reconfigure locales \ 25 | # Install TrafficServer 26 | # https://trafficserver.apache.org/downloads 27 | && mkdir /tmp/trafficserver \ 28 | && cd /tmp/trafficserver \ 29 | && curl -L https://downloads.apache.org/trafficserver/trafficserver-8.1.0.tar.bz2 | tar -xj --strip-components 1 \ 30 | && ./configure \ 31 | && make install \ 32 | && cd / \ 33 | # Install dumb-init 34 | # https://github.com/Yelp/dumb-init 35 | && DUMP_INIT_URI=$(curl -L https://github.com/Yelp/dumb-init/releases/latest | grep -Po '(?<=href=")[^"]+_amd64(?=")') \ 36 | && curl -Lo /usr/local/bin/dumb-init "https://github.com/$DUMP_INIT_URI" \ 37 | && chmod +x /usr/local/bin/dumb-init \ 38 | # Clean-up 39 | && apt-get purge --auto-remove -y \ 40 | curl \ 41 | build-essential \ 42 | bzip2 \ 43 | libssl-dev \ 44 | libxml2-dev \ 45 | libpcre3-dev \ 46 | tcl-dev \ 47 | libboost-dev \ 48 | && apt-get clean \ 49 | && rm -rf /tmp/* /var/lib/apt/lists/* 50 | 51 | EXPOSE 8080 52 | 53 | ENTRYPOINT ["dumb-init"] 54 | CMD ["traffic_server"] 55 | --------------------------------------------------------------------------------