mirror of
https://github.com/itflow-org/itflow
synced 2026-02-28 19:04:52 +00:00
initial docker commit
This commit is contained in:
75
docker/Dockerfile
Normal file
75
docker/Dockerfile
Normal file
@@ -0,0 +1,75 @@
|
||||
FROM ubuntu:22.04
|
||||
|
||||
LABEL dockerfile.version="v1.1" dockerfile.release-date="2023-01-03"
|
||||
|
||||
# Set up ENVs that will be utilized in compose file.
|
||||
ENV TZ Etc/UTC
|
||||
|
||||
ENV ITFLOW_NAME ITFlow
|
||||
|
||||
ENV ITFLOW_URL demo.itflow.org
|
||||
|
||||
ENV ITFLOW_PORT 8080
|
||||
|
||||
ENV ITFLOW_REPO github.com/itflow-org/itflow
|
||||
|
||||
# apache2 log levels: emerg, alert, crit, error, warn, notice, info, debug
|
||||
ENV ITFLOW_LOG_LEVEL warn
|
||||
|
||||
ENV ITFLOW_DB_HOST itflow-db
|
||||
|
||||
ENV ITFLOW_DB_PASS null
|
||||
|
||||
# Set timezone from TZ ENV
|
||||
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
||||
|
||||
# PREREQS: php php-intl php-mysqli php-imap php-curl libapache2-mod-php mariadb-server git -y
|
||||
# Upgrade, then install prereqs.
|
||||
RUN apt-get update && apt-get upgrade -y && apt-get clean
|
||||
|
||||
# ITFlow Requirements
|
||||
RUN apt-get install -y \
|
||||
git\
|
||||
apache2\
|
||||
php
|
||||
|
||||
# Ubuntu quality of life installs
|
||||
RUN apt-get install -y \
|
||||
vim\
|
||||
cron\
|
||||
dnsutils\
|
||||
iputils-ping
|
||||
|
||||
# Install & enable php extensions
|
||||
RUN apt-get install -y \
|
||||
php-intl\
|
||||
php-mysqli\
|
||||
php-curl\
|
||||
php-imap
|
||||
|
||||
RUN apt-get install -y \
|
||||
libapache2-mod-php\
|
||||
libapache2-mod-md
|
||||
|
||||
# Enable md apache mod
|
||||
RUN a2enmod md
|
||||
|
||||
# Set the work dir to the git repo.
|
||||
WORKDIR /var/www/html
|
||||
|
||||
# Entrypoint
|
||||
# On every run of the docker file, perform an entrypoint that verifies the container is good to go.
|
||||
COPY entrypoint.sh /usr/bin/
|
||||
|
||||
RUN chmod +x /usr/bin/entrypoint.sh
|
||||
|
||||
# forward request and error logs to docker log collector
|
||||
RUN ln -sf /dev/stdout /var/log/apache2/access.log && ln -sf /dev/stderr /var/log/apache2/error.log
|
||||
|
||||
ENTRYPOINT [ "entrypoint.sh" ]
|
||||
|
||||
# Expose the apache port
|
||||
EXPOSE $ITFLOW_PORT
|
||||
|
||||
# Start the httpd service and have logs appear in stdout
|
||||
CMD [ "apache2ctl", "-D", "FOREGROUND" ]
|
||||
Reference in New Issue
Block a user