61 lines
2.0 KiB
Docker
61 lines
2.0 KiB
Docker
# Copyright 2016 Bryan J. Hong
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
FROM ubuntu:14.04
|
|
|
|
MAINTAINER bryan@turbojets.net
|
|
|
|
ENV DEBIAN_FRONTEND noninteractive
|
|
|
|
# Add Aptly repository
|
|
RUN echo "deb http://repo.aptly.info/ squeeze main" > /etc/apt/sources.list.d/aptly.list
|
|
RUN apt-key adv --keyserver keys.gnupg.net --recv-keys E083A3782A194991
|
|
|
|
# Add Nginx repository
|
|
RUN echo "deb http://nginx.org/packages/ubuntu/ trusty nginx" > /etc/apt/sources.list.d/nginx.list
|
|
RUN echo "deb-src http://nginx.org/packages/ubuntu/ trusty nginx" >> /etc/apt/sources.list.d/nginx.list
|
|
RUN apt-key adv --keyserver hkp://pgp.mit.edu:80 --recv-keys 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62
|
|
|
|
# Update APT repository and install packages
|
|
RUN apt-get -q update \
|
|
&& apt-get -y install aptly \
|
|
bzip2 \
|
|
gnupg \
|
|
gpgv \
|
|
supervisor \
|
|
nginx
|
|
|
|
# Install GPG Generator
|
|
COPY assets/gpg_batch.sh /opt/gpg_batch.sh
|
|
|
|
# Install Aptly Configuration
|
|
COPY assets/aptly.conf /etc/aptly.conf
|
|
|
|
# Install Mirror Update Script
|
|
COPY assets/update_mirror.sh /opt/update_mirror.sh
|
|
|
|
# Install Nginx Config
|
|
COPY assets/nginx.conf.sh /opt/nginx.conf.sh
|
|
COPY assets/supervisord.nginx.conf /etc/supervisor/conf.d/nginx.conf
|
|
RUN echo "daemon off;" >> /etc/nginx/nginx.conf
|
|
|
|
# Install Startup script
|
|
COPY assets/startup.sh /opt/startup.sh
|
|
|
|
# Bind mount location
|
|
VOLUME [ "/opt/aptly" ]
|
|
|
|
# Execute Startup script when container starts
|
|
ENTRYPOINT [ "/opt/startup.sh" ]
|