Remove Ubuntu image support, redundant
This commit is contained in:
parent
b55e5e4577
commit
588c242e3a
|
@ -1,43 +0,0 @@
|
|||
FROM ruby:2.6
|
||||
|
||||
ENV DOCKERIZE_VERSION v0.6.1
|
||||
|
||||
RUN curl -L https://github.com/wrouesnel/p2cli/releases/download/r5/p2 -o /usr/local/bin/p2 \
|
||||
&& chmod +x /usr/local/bin/p2
|
||||
|
||||
RUN curl -sL https://deb.nodesource.com/setup_10.x | bash - \
|
||||
&& apt-get install -y nodejs
|
||||
|
||||
RUN apt-get -y update \
|
||||
&& apt-get -y install --no-install-recommends nodejs mariadb-client git-core libcap2-bin wget expect\
|
||||
&& git clone https://github.com/atech/postal.git /opt/postal \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
&& gem install bundler \
|
||||
&& gem install procodile \
|
||||
&& gem install tzinfo-data \
|
||||
&& useradd -r -d /opt/postal -s /bin/bash postal \
|
||||
&& chown -R postal:postal /opt/postal/ \
|
||||
&& /opt/postal/bin/postal bundle /opt/postal/vendor/bundle \
|
||||
&& apt-get -y purge python-dev git-core \
|
||||
&& apt-get -y autoremove \
|
||||
&& apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
||||
|
||||
## Install jwilder/dockerize
|
||||
RUN wget https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz \
|
||||
&& tar -C /usr/local/bin -xzvf dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz \
|
||||
&& rm dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz
|
||||
|
||||
## Adjust permissions
|
||||
RUN setcap 'cap_net_bind_service=+ep' /usr/local/bin/ruby
|
||||
|
||||
## Stick in required files
|
||||
ADD src/docker-entrypoint.sh /docker-entrypoint.sh
|
||||
ADD src/create-user.sh /create-user.sh
|
||||
ADD src/templates /templates
|
||||
|
||||
## Expose
|
||||
EXPOSE 5000
|
||||
|
||||
## Startup
|
||||
# ENV RUBYOPT --jit
|
||||
ENTRYPOINT ["/bin/bash", "-c", "/docker-entrypoint.sh ${*}", "--"]
|
|
@ -1,65 +0,0 @@
|
|||
version: "3"
|
||||
services:
|
||||
postal:
|
||||
image: catdeployed/postal:ubuntu
|
||||
container_name: postal
|
||||
command: run
|
||||
tty: true
|
||||
ports:
|
||||
- 127.0.0.1:25:25
|
||||
depends_on:
|
||||
- "mysql"
|
||||
- "rabbitmq"
|
||||
volumes:
|
||||
- persistent_assets:/storage
|
||||
- static_assets:/opt/postal/public
|
||||
- postal_assets:/opt/postal/public/assets
|
||||
- ./src/templates/:/templates
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=changeme
|
||||
- MYSQL_DATABASE=postal
|
||||
- RABBITMQ_DEFAULT_USER=postal
|
||||
- RABBITMQ_DEFAULT_PASS=changeme
|
||||
- RABBITMQ_DEFAULT_VHOST=postal
|
||||
- POSTAL_FNAME=Sia
|
||||
- POSTAL_LNAME=Cat
|
||||
- POSTAL_PASSWORD=SecretCatPassword
|
||||
- POSTAL_EMAIL=myemail@catsworld.com
|
||||
healthcheck:
|
||||
test: curl -sS http://127.0.0.1:5000 || exit 1
|
||||
interval: 5s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
mysql:
|
||||
image: mariadb:10
|
||||
container_name: postal_mysql
|
||||
volumes:
|
||||
- mysql_data:/var/lib/mysql
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=changeme
|
||||
- MYSQL_DATABASE=postal
|
||||
rabbitmq:
|
||||
image: rabbitmq:3-alpine
|
||||
container_name: postal_rabbitmq
|
||||
environment:
|
||||
- RABBITMQ_DEFAULT_USER=postal
|
||||
- RABBITMQ_DEFAULT_PASS=changeme
|
||||
- RABBITMQ_DEFAULT_VHOST=/postal
|
||||
nginx:
|
||||
image: nginx
|
||||
container_name: postal_nginx
|
||||
ports:
|
||||
- 80:80
|
||||
links:
|
||||
- postal
|
||||
depends_on:
|
||||
- postal
|
||||
volumes:
|
||||
- ./src/nginx.conf:/etc/nginx/conf.d/default.conf:ro
|
||||
- static_assets:/opt/postal/public:ro
|
||||
- postal_assets:/opt/postal/public/assets:ro
|
||||
volumes:
|
||||
persistent_assets:
|
||||
static_assets:
|
||||
postal_assets:
|
||||
mysql_data:
|
|
@ -1,13 +0,0 @@
|
|||
#!/usr/bin/expect
|
||||
eval spawn /opt/postal/bin/postal make-user
|
||||
expect "E-Mail"
|
||||
send "$env(POSTAL_EMAIL)\r"
|
||||
expect "First Name"
|
||||
send "$env(POSTAL_FNAME)\r"
|
||||
expect "Last Name"
|
||||
send "$env(POSTAL_LNAME)\r"
|
||||
expect "Password"
|
||||
sleep 5
|
||||
send "$env(POSTAL_PASSWORD)\r"
|
||||
send "\r"
|
||||
interact
|
|
@ -1,73 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
## Clean Up
|
||||
rm -rf /opt/postal/tmp/pids/*
|
||||
rm -rf /tmp/postal
|
||||
|
||||
## Wait for MySQL and RabbitMQ to start up
|
||||
echo "== Waiting for MySQL and RabbitMQ to start up =="
|
||||
dockerize -timeout 60m -wait tcp://mysql:3306 -wait tcp://rabbitmq:5672
|
||||
|
||||
## Generate config
|
||||
echo "== Building Config =="
|
||||
echo "postal.yml"
|
||||
if [ -f /storage/postal.yml ]; then
|
||||
rm -f /opt/postal/config/postal.yml
|
||||
ln -s /storage/postal.yml /opt/postal/config/postal.yml
|
||||
elif [ ! -f /opt/postal/config/postal.yml ] || [[ $(cat /opt/postal/config/postal.yml | wc -l) < 2 ]]; then
|
||||
## Build Jinja2 Template
|
||||
p2 -t /templates/postal.example.yml.j2 -o /opt/postal/config/postal.example.yml
|
||||
## Add in secret key building
|
||||
echo "rails:" >> /opt/postal/config/postal.example.yml
|
||||
echo " secret_key: {{secretkey}}" >> /opt/postal/config/postal.example.yml
|
||||
## Generate config and keys
|
||||
/opt/postal/bin/postal initialize-config
|
||||
## Wait for MySQL and RabbitMQ to start up
|
||||
echo "== Waiting for MySQL and RabbitMQ to start up =="
|
||||
dockerize -timeout 60m -wait tcp://mysql:3306 -wait tcp://rabbitmq:5672
|
||||
/opt/postal/bin/postal initialize
|
||||
/create-user.sh
|
||||
## Copy over config to persistent storage
|
||||
cp /opt/postal/config/postal.yml /storage/postal.yml
|
||||
rm /opt/postal/config/postal.yml
|
||||
ln -s /storage/postal.yml /opt/postal/config/postal.yml
|
||||
fi
|
||||
echo "fast_server.cert"
|
||||
if [ -f /storage/fast_server.cert ]; then
|
||||
rm -f /opt/postal/config/fast_server.cert
|
||||
ln -s /storage/fast_server.cert /opt/postal/config/fast_server.cert
|
||||
elif [ -f /opt/postal/config/fast_server.cert ] && [ ! -L /opt/postal/config/fast_server.cert ]; then
|
||||
cp -p /opt/postal/config/fast_server.cert /storage/fast_server.cert
|
||||
rm /opt/postal/config/fast_server.cert
|
||||
ln -s /storage/fast_server.cert /opt/postal/config/fast_server.cert
|
||||
fi
|
||||
echo "fast_server.key"
|
||||
if [ -f /storage/fast_server.key ]; then
|
||||
rm -f /opt/postal/config/fast_server.key
|
||||
ln -s /storage/fast_server.key /opt/postal/config/fast_server.key
|
||||
elif [ -f /opt/postal/config/fast_server.key ] && [ ! -L /opt/postal/config/fast_server.key ]; then
|
||||
cp -p /opt/postal/config/fast_server.key /storage/fast_server.key
|
||||
rm /opt/postal/config/fast_server.key
|
||||
ln -s /storage/fast_server.key /opt/postal/config/fast_server.key
|
||||
fi
|
||||
echo "lets_encrypt.pem"
|
||||
if [ -f /storage/lets_encrypt.pem ]; then
|
||||
rm -f /opt/postal/config/lets_encrypt.pem
|
||||
ln -s /storage/lets_encrypt.pem /opt/postal/config/lets_encrypt.pem
|
||||
elif [ -f /opt/postal/config/lets_encrypt.pem ] && [ ! -L /opt/postal/config/lets_encrypt.pem ]; then
|
||||
cp -p /opt/postal/config/lets_encrypt.pem /storage/lets_encrypt.pem
|
||||
rm /opt/postal/config/lets_encrypt.pem
|
||||
ln -s /storage/lets_encrypt.pem /opt/postal/config/lets_encrypt.pem
|
||||
fi
|
||||
echo "signing.key"
|
||||
if [ -f /storage/signing.key ]; then
|
||||
rm -f /opt/postal/config/signing.key
|
||||
ln -s /storage/signing.key /opt/postal/config/signing.key
|
||||
elif [ -f /opt/postal/config/signing.key ] && [ ! -L /opt/postal/config/signing.key ]; then
|
||||
cp -p /opt/postal/config/signing.key /storage/signing.key
|
||||
rm /opt/postal/config/signing.key
|
||||
ln -s /storage/signing.key /opt/postal/config/signing.key
|
||||
fi
|
||||
|
||||
## Start Postal
|
||||
/opt/postal/bin/postal "$@"
|
|
@ -1,20 +0,0 @@
|
|||
server {
|
||||
listen 80;
|
||||
root /opt/postal/public;
|
||||
gzip_static on;
|
||||
gzip_proxied any;
|
||||
location / {
|
||||
client_max_body_size 50M;
|
||||
try_files $uri $uri/index.html $uri.html @puma;
|
||||
}
|
||||
location /assets {
|
||||
add_header Cache-Control "public,max-age=3600,immutable";
|
||||
}
|
||||
location @puma {
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_pass http://postal:5000;
|
||||
}
|
||||
}
|
|
@ -1,66 +0,0 @@
|
|||
web_server:
|
||||
bind_address: 0.0.0.0
|
||||
port: 5000
|
||||
max_threads: 5
|
||||
|
||||
web:
|
||||
# The host that the management interface will be available on
|
||||
host: postal.example.com
|
||||
# The protocol that requests to the management interface should happen on
|
||||
protocol: https
|
||||
|
||||
fast_server:
|
||||
# This can be enabled to enable click & open tracking on emails. It is disabled by
|
||||
# default as it requires a separate static IP address on your server.
|
||||
enabled: false
|
||||
bind_address:
|
||||
|
||||
general:
|
||||
# This can be changed to allow messages to be sent from multiple IP addresses
|
||||
use_ip_pools: false
|
||||
|
||||
main_db:
|
||||
# Specify the connection details for your MySQL database
|
||||
host: mysql
|
||||
username: root
|
||||
password: {{ MYSQL_ROOT_PASSWORD }}
|
||||
database: {{ MYSQL_DATABASE }}
|
||||
|
||||
message_db:
|
||||
# Specify the connection details for your MySQL server that will be house the
|
||||
# message databases for mail servers.
|
||||
host: mysql
|
||||
username: root
|
||||
password: {{ MYSQL_ROOT_PASSWORD }}
|
||||
prefix: postal
|
||||
|
||||
rabbitmq:
|
||||
# Specify the connection details for your RabbitMQ server.
|
||||
host: rabbitmq
|
||||
username: {{ RABBITMQ_DEFAULT_USER }}
|
||||
password: {{ RABBITMQ_DEFAULT_PASS }}
|
||||
vhost: /{{ RABBITMQ_DEFAULT_VHOST }}
|
||||
|
||||
dns:
|
||||
# Specifies the DNS record that you have configured. Refer to the documentation at
|
||||
# https://github.com/atech/postal/wiki/Domains-&-DNS-Configuration for further
|
||||
# information about these.
|
||||
mx_records:
|
||||
- mx.postal.example.com
|
||||
smtp_server_hostname: postal.example.com
|
||||
spf_include: spf.postal.example.com
|
||||
return_path: rp.postal.example.com
|
||||
route_domain: routes.postal.example.com
|
||||
track_domain: track.postal.example.com
|
||||
|
||||
smtp:
|
||||
# Specify an SMTP server that can be used to send messages from the Postal management
|
||||
# system to users. You can configure this to use a Postal mail server once the
|
||||
# your installation has been set up.
|
||||
host: 127.0.0.1
|
||||
port: 2525
|
||||
username: # Complete when Postal is running and you can
|
||||
password: # generate the credentials within the interface.
|
||||
from_name: Postal
|
||||
from_address: postal@yourdomain.com
|
||||
|
|
@ -1,68 +0,0 @@
|
|||
web:
|
||||
# The host that the management interface will be available on
|
||||
host: postal.example.com
|
||||
# The protocol that requests to the management interface should happen on
|
||||
protocol: https
|
||||
|
||||
fast_server:
|
||||
# This can be enabled to enable click & open tracking on emails. It is disabled by
|
||||
# default as it requires a separate static IP address on your server.
|
||||
enabled: false
|
||||
bind_address:
|
||||
|
||||
general:
|
||||
# This can be changed to allow messages to be sent from multiple IP addresses
|
||||
use_ip_pools: false
|
||||
|
||||
main_db:
|
||||
# Specify the connection details for your MySQL database
|
||||
host: mysql
|
||||
username: root
|
||||
password: {{ MYSQL_ROOT_PASSWORD }}
|
||||
database: {{ MYSQL_DATABASE }}
|
||||
|
||||
message_db:
|
||||
# Specify the connection details for your MySQL server that will be house the
|
||||
# message databases for mail servers.
|
||||
host: mysql
|
||||
username: root
|
||||
password: {{ MYSQL_ROOT_PASSWORD }}
|
||||
prefix: postal
|
||||
|
||||
rabbitmq:
|
||||
# Specify the connection details for your RabbitMQ server.
|
||||
host: rabbitmq
|
||||
username: {{ RABBITMQ_DEFAULT_USER }}
|
||||
password: {{ RABBITMQ_DEFAULT_PASS }}
|
||||
vhost: /{{ RABBITMQ_DEFAULT_VHOST }}
|
||||
|
||||
dns:
|
||||
# Specifies the DNS record that you have configured. Refer to the documentation at
|
||||
# https://github.com/atech/postal/wiki/Domains-&-DNS-Configuration for further
|
||||
# information about these.
|
||||
mx_records:
|
||||
- mx.postal.example.com
|
||||
smtp_server_hostname: postal.example.com
|
||||
spf_include: spf.postal.example.com
|
||||
return_path: rp.postal.example.com
|
||||
route_domain: routes.postal.example.com
|
||||
track_domain: track.postal.example.com
|
||||
|
||||
smtp:
|
||||
# Specify an SMTP server that can be used to send messages from the Postal management
|
||||
# system to users. You can configure this to use a Postal mail server once the
|
||||
# your installation has been set up.
|
||||
host: 127.0.0.1
|
||||
port: 2525
|
||||
username: # Complete when Postal is running and you can
|
||||
password: # generate the credentials within the interface.
|
||||
from_name: Postal
|
||||
from_address: postal@yourdomain.com
|
||||
|
||||
rails:
|
||||
# This is generated automatically by the config initialization. It should be a random
|
||||
# string unique to your installation.
|
||||
secret_key: {{secretkey}}
|
||||
|
||||
web_server:
|
||||
bind_address: 0.0.0.0
|
Loading…
Reference in New Issue
Block a user