-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
108 lines (89 loc) · 3.28 KB
/
Dockerfile
File metadata and controls
108 lines (89 loc) · 3.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
FROM dockette/debian:bullseye-slim
# DEPS #######################
RUN apt update && apt dist-upgrade -y
RUN apt install -y --no-install-recommends --no-install-suggests wget curl apt-transport-https ca-certificates git gnupg2 cron
# PHP ########################
RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg && \
echo "deb https://packages.sury.org/php/ bullseye main" > /etc/apt/sources.list.d/php.list && \
apt update && \
apt install -y --no-install-recommends --no-install-suggests \
php7.1-apcu \
php7.1-bz2 \
php7.1-bcmath \
php7.1-calendar \
php7.1-cgi \
php7.1-cli \
php7.1-ctype \
php7.1-curl \
php7.1-fpm \
php7.1-geoip \
php7.1-gettext \
php7.1-imap \
php7.1-ldap \
php7.1-mbstring \
php7.1-memcached \
php7.1-mysql \
php7.1-pdo \
php7.1-pgsql \
php7.1-redis \
php7.1-soap \
php7.1-sqlite3 \
php7.1-zip \
php7.1-xmlrpc \
php7.1-xsl
# SUPERVISOR #################
RUN apt install -y --no-install-recommends --no-install-suggests supervisor
# NGINX ######################
RUN apt install -y --no-install-recommends --no-install-suggests nginx && \
ln -sf /dev/stdout /var/log/nginx/access.log && \
ln -sf /dev/stderr /var/log/nginx/error.log
# PERL #######################
RUN apt install -y --no-install-recommends --no-install-suggests \
perl \
libphp-serialization-perl \
libdbi-perl \
libgeo-ip-perl \
libwww-perl \
libnet-ip-perl \
libfile-touch-perl \
libparallel-forkmanager-perl \
libcache-memcached-perl \
libdbd-mysql-perl
# TOR ########################
RUN echo "deb https://deb.torproject.org/torproject.org bullseye main" > /etc/apt/sources.list.d/tor.list && \
echo "deb-src https://deb.torproject.org/torproject.org bullseye main" >> /etc/apt/sources.list.d/tor.list && \
useradd -d /var/lib/tor -s /usr/bin/bash -u 800 torstatus && \
curl https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc | gpg --import && \
gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | apt-key add - && \
apt update && \
apt-get install --no-install-recommends --no-install-suggests -y \
pwgen \
iputils-ping \
tor \
tor-geoipdb \
deb.torproject.org-keyring && \
mkdir -pv /usr/local/etc/tor/ && \
mv -v /etc/tor/torrc /usr/local/etc/tor/torrc.sample && \
usermod -l tord debian-tor && \
groupmod -n tord debian-tor
# DATA #######################
# PHP
ADD ./docker/php/php-fpm.conf /etc/php/7.1/
# NGINX
ADD ./docker/nginx/site.conf /etc/nginx/sites-available/default
# CRON
ADD ./docker/cron /etc/cron.d
# SUPERVISOR
ADD ./docker/supervisor/supervisord.conf /etc/supervisor/supervisord.conf
ADD ./docker/supervisor/services/ /etc/supervisor/conf.d/
# TOR
ADD ./docker/tor/torrc /etc/tor/torrc
# TORSTATUS
ADD ./torstatus /srv/torstatus/
# PORTS ######################
# ORPort, DirPort, SocksPort, ObfsproxyPort, MeekPort
EXPOSE 9001 9030 9050 54444 7002
# VOLUMES ####################
VOLUME /etc/tor /var/lib/tor
WORKDIR /srv/torstatus
CMD ["supervisord", "--nodaemon", "--configuration", "/etc/supervisor/supervisord.conf"]