Commit 5b82c6346ff8d30e8503ee9244f9cd1314355da2
Exists in
sei-v3.0.0-oracle-dockerimages
and in
2 other branches
Ajustes finais do ambiente e início de testes
Showing
13 changed files
with
146 additions
and
194 deletions
Show diff stats
Vagrantfile
1 | # -*- mode: ruby -*- | 1 | # -*- mode: ruby -*- |
2 | # vi: set ft=ruby : | 2 | # vi: set ft=ruby : |
3 | 3 | ||
4 | -# Vagrantfile API/syntax version. Don't touch unless you know what you're doing! | ||
5 | VAGRANTFILE_API_VERSION = "2" | 4 | VAGRANTFILE_API_VERSION = "2" |
6 | 5 | ||
7 | Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| | 6 | Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| |
8 | 7 | ||
9 | # Atribuição do hostname da máquina virtual | 8 | # Atribuição do hostname da máquina virtual |
10 | config.vm.hostname = "sei-vagrant" | 9 | config.vm.hostname = "sei-vagrant" |
11 | - | ||
12 | config.vm.box = "ubuntu/trusty64" | 10 | config.vm.box = "ubuntu/trusty64" |
13 | 11 | ||
14 | # Configuração do redirecionamento entre Máquina Virtual e Host | 12 | # Configuração do redirecionamento entre Máquina Virtual e Host |
@@ -23,11 +21,12 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| | @@ -23,11 +21,12 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| | ||
23 | config.vm.synced_folder ".", "/mnt/sei/ops" | 21 | config.vm.synced_folder ".", "/mnt/sei/ops" |
24 | config.vm.synced_folder "../sei", "/mnt/sei/src", mount_options: ["dmode=777", "fmode=777"] | 22 | config.vm.synced_folder "../sei", "/mnt/sei/src", mount_options: ["dmode=777", "fmode=777"] |
25 | 23 | ||
24 | + # Configurações padrão da máquina virtual host | ||
26 | config.vm.provider "virtualbox" do |vb| | 25 | config.vm.provider "virtualbox" do |vb| |
27 | vb.customize ["modifyvm", :id, "--memory", "2048", "--usb", "off", "--audio", "none"] | 26 | vb.customize ["modifyvm", :id, "--memory", "2048", "--usb", "off", "--audio", "none"] |
28 | end | 27 | end |
29 | 28 | ||
30 | - # Provisionamento da Máquina Virtual responsável por manter os containers do Docker | 29 | + # Provisionamento da máquina virtual responsável por manter os containers do Docker |
31 | config.vm.provision "docker" do |docker| | 30 | config.vm.provision "docker" do |docker| |
32 | 31 | ||
33 | # Constrói imagens dos containers utilizados no provicionamento | 32 | # Constrói imagens dos containers utilizados no provicionamento |
@@ -35,11 +34,11 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| | @@ -35,11 +34,11 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| | ||
35 | docker.build_image "/mnt/sei/ops/mysql", args: "-t 'processoeletronico/mysql'" | 34 | docker.build_image "/mnt/sei/ops/mysql", args: "-t 'processoeletronico/mysql'" |
36 | docker.build_image "/mnt/sei/ops/sei", args: "-t 'processoeletronico/sei'" | 35 | docker.build_image "/mnt/sei/ops/sei", args: "-t 'processoeletronico/sei'" |
37 | docker.build_image "/mnt/sei/ops/memcached", args: "-t 'processoeletronico/memcached'" | 36 | docker.build_image "/mnt/sei/ops/memcached", args: "-t 'processoeletronico/memcached'" |
38 | - docker.pull_images "schickling/mailcatcher" | ||
39 | - #docker.build_image "/mnt/sei/ops/jod", args: "-t 'processoeletronico/jod'" | 37 | + docker.build_image "/mnt/sei/ops/fakesmtp", args: "-t 'processoeletronico/fakesmtp'" |
38 | + docker.build_image "/mnt/sei/ops/jod", args: "-t 'processoeletronico/jod'" | ||
40 | 39 | ||
41 | # docker run -d --name smtp -p 1080:1080 schickling/mailcatcher:latest | 40 | # docker run -d --name smtp -p 1080:1080 schickling/mailcatcher:latest |
42 | - docker.run "smtp", image: "schickling/mailcatcher", | 41 | + docker.run "smtp", image: "processoeletronico/fakesmtp", |
43 | daemonize: true, | 42 | daemonize: true, |
44 | args: "-p 1080:1080" | 43 | args: "-p 1080:1080" |
45 | 44 | ||
@@ -58,18 +57,19 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| | @@ -58,18 +57,19 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| | ||
58 | daemonize: true, | 57 | daemonize: true, |
59 | args: "-p 8983:8983" | 58 | args: "-p 8983:8983" |
60 | 59 | ||
60 | + # Container do Jod desativado por questões de otimização | ||
61 | # docker run -d --name jod -p 8080:8080 processoeletronico/jod:latest | 61 | # docker run -d --name jod -p 8080:8080 processoeletronico/jod:latest |
62 | - #docker.run "jod", image: "processoeletronico/jod:latest", | ||
63 | - # daemonize: true, | ||
64 | - # args: "-p 8080:8080" | 62 | + docker.run "jod", image: "processoeletronico/jod:latest", |
63 | + daemonize: true, | ||
64 | + args: "-p 8080:8080" | ||
65 | 65 | ||
66 | - # docker run -d --name sei -p 80:80 --link solr:solr --link db:db --link memcached:memcached -v /mnt/sei/src:/opt processoeletronico/sei:latest | 66 | + # docker run -d --name sei -p 80:80 --link solr:solr --link db:db --link memcached:memcached --link smtp:smtp -v /mnt/sei/src:/opt processoeletronico/sei:latest |
67 | docker.run "sei", image: "processoeletronico/sei:latest", | 67 | docker.run "sei", image: "processoeletronico/sei:latest", |
68 | daemonize: true, | 68 | daemonize: true, |
69 | - args: "-p 80:80 --link db:db --link solr:solr --link memcached:memcached --link smtp:smtp -v /mnt/sei/src:/opt" | 69 | + args: "-p 80:80 --link db:db --link solr:solr --link memcached:memcached --link smtp:smtp --link jod:jod -v /mnt/sei/src:/opt" |
70 | end | 70 | end |
71 | 71 | ||
72 | # Inicialização dos containers em caso de reinicialização da máquina host | 72 | # Inicialização dos containers em caso de reinicialização da máquina host |
73 | # A inicialização é realizada de forma sequencial para evitar conflito no mapeamento de volumes no Docker | 73 | # A inicialização é realizada de forma sequencial para evitar conflito no mapeamento de volumes no Docker |
74 | - config.vm.provision "shell", run: "always", inline: "docker restart solr && docker restart memcached && docker restart smtp && docker restart db && docker restart sei" | 74 | + config.vm.provision "shell", run: "always", inline: "docker restart jod && docker restart solr && docker restart memcached && docker restart smtp && docker restart db && docker restart sei" |
75 | end | 75 | end |
Vagrantfile_Distrib
@@ -2,7 +2,7 @@ | @@ -2,7 +2,7 @@ | ||
2 | # vi: set ft=ruby : | 2 | # vi: set ft=ruby : |
3 | 3 | ||
4 | unless Vagrant.has_plugin?("vagrant-vbguest") | 4 | unless Vagrant.has_plugin?("vagrant-vbguest") |
5 | - raise "\n\nAmbiente de desenvolvimento não pode ser criado não foi encontrado o plugin vagrant-vbguest.\n"+ | 5 | + raise "\n\nAmbiente de desenvolvimento não pode ser criado pois não foi encontrado o plugin vagrant-vbguest.\n"+ |
6 | "Para solucionar o problema, execute o seguinte comando no diretório raiz do projeto.\n\n"+ | 6 | "Para solucionar o problema, execute o seguinte comando no diretório raiz do projeto.\n\n"+ |
7 | "> vagrant plugin install vagrant-vbguest \n\n" | 7 | "> vagrant plugin install vagrant-vbguest \n\n" |
8 | end | 8 | end |
@@ -17,7 +17,7 @@ Vagrant.configure(2) do |config| | @@ -17,7 +17,7 @@ Vagrant.configure(2) do |config| | ||
17 | config.ssh.password = "vagrant" | 17 | config.ssh.password = "vagrant" |
18 | 18 | ||
19 | # Configuração do diretório local onde deverá estar disponibilizado os códigos-fontes do SEI (sei, sip, infra_php, infra_css, infra_js) | 19 | # Configuração do diretório local onde deverá estar disponibilizado os códigos-fontes do SEI (sei, sip, infra_php, infra_css, infra_js) |
20 | - config.vm.synced_folder ".", "/opt", mount_options: ["dmode=777", "fmode=777"] | 20 | + config.vm.synced_folder ".", "/mnt/sei/src", mount_options: ["dmode=777", "fmode=777"] |
21 | 21 | ||
22 | # Configuração do redirecionamento entre Máquina Virtual e Host | 22 | # Configuração do redirecionamento entre Máquina Virtual e Host |
23 | # Necessário permissões de root para utilizar a porta 80 (> 1024) | 23 | # Necessário permissões de root para utilizar a porta 80 (> 1024) |
@@ -28,5 +28,6 @@ Vagrant.configure(2) do |config| | @@ -28,5 +28,6 @@ Vagrant.configure(2) do |config| | ||
28 | config.vm.network :forwarded_port, guest: 1080, host: 1080 # MailCatcher | 28 | config.vm.network :forwarded_port, guest: 1080, host: 1080 # MailCatcher |
29 | 29 | ||
30 | # Inicialização dos containers em caso de reinicialização da máquina host | 30 | # Inicialização dos containers em caso de reinicialização da máquina host |
31 | - config.vm.provision "shell", run: "always", inline: "docker restart solr && docker restart memcached && docker restart smtp && docker restart db && docker restart sei" | 31 | + config.vm.provision "shell", run: "always", inline: "docker restart jod && docker restart solr && docker restart memcached && docker restart smtp && docker restart db && docker restart sei" |
32 | + | ||
32 | end | 33 | end |
@@ -0,0 +1,10 @@ | @@ -0,0 +1,10 @@ | ||
1 | +############################################################################## | ||
2 | +# Dockerfile de construção do container WebApp utilizado pelo SEI e pelo SIP # | ||
3 | +############################################################################## | ||
4 | + | ||
5 | +FROM schickling/mailcatcher | ||
6 | + | ||
7 | +MAINTAINER PEN - Processo Eletrônico Nacional | ||
8 | + | ||
9 | +EXPOSE 1080 | ||
10 | + |
jod/Dockerfile
@@ -2,17 +2,17 @@ | @@ -2,17 +2,17 @@ | ||
2 | # Dockerfile de construção do container JOD utilizado pelo SEI e pelo SIP # | 2 | # Dockerfile de construção do container JOD utilizado pelo SEI e pelo SIP # |
3 | ########################################################################### | 3 | ########################################################################### |
4 | 4 | ||
5 | -# Definição da imagem de base para o CentOS 6.X | 5 | +# Definição da imagem de base para o OpenJDK 8 |
6 | FROM openjdk:8 | 6 | FROM openjdk:8 |
7 | 7 | ||
8 | # Autor e mantenedor do container | 8 | # Autor e mantenedor do container |
9 | MAINTAINER PEN - Processo Eletrônico Nacional | 9 | MAINTAINER PEN - Processo Eletrônico Nacional |
10 | 10 | ||
11 | -ENV TERM xterm | ||
12 | - | ||
13 | ################## INICIO DA INSTALACAO ###################### | 11 | ################## INICIO DA INSTALACAO ###################### |
14 | # Instalação do JOD Converter seguindo as recomendações descritas na documentação do SEI | 12 | # Instalação do JOD Converter seguindo as recomendações descritas na documentação do SEI |
15 | 13 | ||
14 | +ENV TERM xterm | ||
15 | + | ||
16 | # Instalação da api de serviços de conversão de documentos | 16 | # Instalação da api de serviços de conversão de documentos |
17 | COPY jodconverter-tomcat-2.2.2.zip /opt/ | 17 | COPY jodconverter-tomcat-2.2.2.zip /opt/ |
18 | 18 |
jod/install.sh
@@ -4,7 +4,7 @@ set -e | @@ -4,7 +4,7 @@ set -e | ||
4 | 4 | ||
5 | # Instalação do pacote Java JDK e utilitários utilizados no provisionamento | 5 | # Instalação do pacote Java JDK e utilitários utilizados no provisionamento |
6 | apt-get -y update | 6 | apt-get -y update |
7 | -apt-get install -y --no-install-recommends wget unzip dos2unix libreoffice | 7 | +apt-get install -y --no-install-recommends wget unzip libreoffice |
8 | apt-get -y clean all | 8 | apt-get -y clean all |
9 | 9 | ||
10 | # Instalação da api de serviços de conversão de documentos | 10 | # Instalação da api de serviços de conversão de documentos |
@@ -12,7 +12,6 @@ unzip /opt/jodconverter-tomcat-2.2.2.zip -d /opt | @@ -12,7 +12,6 @@ unzip /opt/jodconverter-tomcat-2.2.2.zip -d /opt | ||
12 | rm /opt/jodconverter-tomcat-2.2.2.zip | 12 | rm /opt/jodconverter-tomcat-2.2.2.zip |
13 | 13 | ||
14 | # Script de inicialização do container entry-point | 14 | # Script de inicialização do container entry-point |
15 | -dos2unix /entrypoint.sh | ||
16 | chmod +x /entrypoint.sh | 15 | chmod +x /entrypoint.sh |
17 | 16 | ||
18 | exit 0 | 17 | exit 0 |
mysql/Dockerfile
1 | ############################################################ | 1 | ############################################################ |
2 | -# Dockerfile de construção do container do MySQL | ||
3 | -# utilizado pelo SEI e pelo SIP | ||
4 | -# | ||
5 | -# Baseado no CentOS 6.X | 2 | +# Dockerfile de construção do container do MySQL utilizado pelo SEI e pelo SIP |
6 | ############################################################ | 3 | ############################################################ |
7 | 4 | ||
8 | # Definição da imagem de base para o CentOS 6.X | 5 | # Definição da imagem de base para o CentOS 6.X |
@@ -14,40 +11,14 @@ MAINTAINER PEN - Processo Eletrônico Nacional | @@ -14,40 +11,14 @@ MAINTAINER PEN - Processo Eletrônico Nacional | ||
14 | ################## INICIO DA INSTALACAO ###################### | 11 | ################## INICIO DA INSTALACAO ###################### |
15 | # Instalação do MySQL seguindo as recomendações descritas na documentação do SEI | 12 | # Instalação do MySQL seguindo as recomendações descritas na documentação do SEI |
16 | 13 | ||
14 | +ENV TERM xterm | ||
17 | ENV MYSQL_ALLOW_EMPTY_PASSWORD 'yes' | 15 | ENV MYSQL_ALLOW_EMPTY_PASSWORD 'yes' |
18 | -#ENV MYSQL_DATABASE 'sei' | ||
19 | -#ENV MYSQL_USER 'sei_user' | ||
20 | -#ENV MYSQL_PASSWORD 'sei_user' | ||
21 | - | ||
22 | -# Cópia dos backups dos bancos de dados do SEI e SIP | ||
23 | -#ADD sei-db-ref-executivo/mysql/sei_2_6_0_BD_Ref_Exec.sql /opt/sei_mysql.sql | ||
24 | -#ADD sei-db-ref-executivo/mysql/sip_2_6_0_BD_Ref_Exec.sql /opt/sip_mysql.sql | ||
25 | 16 | ||
17 | +COPY install.sh /install.sh | ||
26 | COPY 1-preinstall.sql /tmp/1-preinstall.sql | 18 | COPY 1-preinstall.sql /tmp/1-preinstall.sql |
27 | -COPY sei-db-ref-executivo/mysql/sei_2_6_0_BD_Ref_Exec.sql /tmp/2-sei_mysql.sql | ||
28 | -COPY sei-db-ref-executivo/mysql/sip_2_6_0_BD_Ref_Exec.sql /tmp/3-sip_mysql.sql | 19 | +COPY sei-db-ref-executivo/mysql/sei_3_0_0_BD_Ref_Exec.sql /tmp/2-sei_mysql.sql |
20 | +COPY sei-db-ref-executivo/mysql/sip_3_0_0_BD_Ref_Exec.sql /tmp/3-sip_mysql.sql | ||
29 | COPY 4-posinstall.sql /tmp/4-posinstall.sql | 21 | COPY 4-posinstall.sql /tmp/4-posinstall.sql |
30 | 22 | ||
31 | -#ADD my.cnf /etc/my.cnf | ||
32 | -#ADD install.sh /install.sh | ||
33 | - | ||
34 | -# Instalação do MySQL 5.7 e demais componentes | ||
35 | -#RUN bash install.sh | ||
36 | - | ||
37 | -RUN cat /tmp/1-preinstall.sql > /docker-entrypoint-initdb.d/install.sql && \ | ||
38 | - echo "USE sei;" >> /docker-entrypoint-initdb.d/install.sql && \ | ||
39 | - cat /tmp/2-sei_mysql.sql >> /docker-entrypoint-initdb.d/install.sql && \ | ||
40 | - echo "USE sip;" >> /docker-entrypoint-initdb.d/install.sql && \ | ||
41 | - cat /tmp/3-sip_mysql.sql >> /docker-entrypoint-initdb.d/install.sql && \ | ||
42 | - cat /tmp/4-posinstall.sql >> /docker-entrypoint-initdb.d/install.sql | ||
43 | - | ||
44 | -##################### FIM DA INSTALACAO ##################### | ||
45 | - | ||
46 | -# Definição do terminal a ser utilizado | ||
47 | -#ENV TERM xterm | ||
48 | - | ||
49 | -# Exposição da porta de conexão ao MySQL Server | ||
50 | -#EXPOSE 3306 | 23 | +RUN bash /install.sh |
51 | 24 | ||
52 | -# Inicialização do serviço | ||
53 | -#CMD ["/usr/bin/mysqld_safe", "--bind-address=0.0.0.0"] |
mysql/install.sh
@@ -2,38 +2,21 @@ | @@ -2,38 +2,21 @@ | ||
2 | 2 | ||
3 | set -e | 3 | set -e |
4 | 4 | ||
5 | -echo "Inicialização do banco de dados" | ||
6 | -/entrypoint.sh | 5 | +# Constroi script de restauração da base de dados do sistema |
6 | +cat /tmp/1-preinstall.sql > /docker-entrypoint-initdb.d/install.sql | ||
7 | 7 | ||
8 | -echo "Criação dos bancos de dados do sistema" | ||
9 | -mysql -e "CREATE DATABASE IF NOT EXISTS 'sei';" | ||
10 | -mysql -e "CREATE DATABASE IF NOT EXISTS 'sip';" | 8 | +# Script de restauração da base de dados do SEI |
9 | +echo "USE sei;" >> /docker-entrypoint-initdb.d/install.sql | ||
10 | +cat /tmp/2-sei_mysql.sql >> /docker-entrypoint-initdb.d/install.sql | ||
11 | 11 | ||
12 | -# Criação dos usuários utilizados na conexão com SEI e SIP | ||
13 | -mysql -e "CREATE USER 'sip_user'@'%' IDENTIFIED BY 'sip_user'" sip | ||
14 | -mysql -e "CREATE USER 'sei_user'@'%' IDENTIFIED BY 'sei_user'" sei | ||
15 | -mysql -e "GRANT ALL PRIVILEGES ON sip.* TO 'sip_user'@'%'" sip | ||
16 | -mysql -e "GRANT ALL PRIVILEGES ON sei.* TO 'sei_user'@'%'" sei | 12 | +#Script de restauração da base de dados do SIP |
13 | +echo "USE sip;" >> /docker-entrypoint-initdb.d/install.sql | ||
14 | +cat /tmp/3-sip_mysql.sql >> /docker-entrypoint-initdb.d/install.sql | ||
17 | 15 | ||
18 | -# Restauração dos bancos de dados | ||
19 | -mysql sei < /opt/sei_mysql.sql | ||
20 | -mysql sip < /opt/sip_mysql.sql | ||
21 | -rm -f /opt/sei_mysql.sql /opt/sip_mysql.sql | ||
22 | - | ||
23 | -# Atualização dos parâmetros do SEI e do SIP | ||
24 | -mysql -e "update orgao set sigla='ABC', descricao='ORGAO ABC' where id_orgao=0;" sip | ||
25 | -mysql -e "update sistema set pagina_inicial='http://localhost/sip' where sigla='SIP';" sip | ||
26 | -mysql -e "update sistema set pagina_inicial='http://localhost/sei/inicializar.php', web_service='http://localhost/sei/controlador_ws.php?servico=sip' where sigla='SEI';" sip | ||
27 | -mysql -e "update orgao set sigla='ABC', descricao='ORGAO ABC' where id_orgao=0;" sei | ||
28 | - | ||
29 | -# Temp: Remove registros de auditoria presentes na base de referência | ||
30 | -mysql -e "delete from auditoria_protocolo;" sei | ||
31 | - | ||
32 | -# Configuração para utilizar autenticação nativa do SEI/SIP | ||
33 | -mysql -e "update orgao set sin_autenticar='N' where id_orgao=0;" sip | ||
34 | - | ||
35 | -# Atribuição de permissões de acesso externo para o usuário root, senha root | ||
36 | -mysql -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;" | 16 | +# Aplica ajustes nas tabelas de sistema e órgão do SIP e SEI |
17 | +cat /tmp/4-posinstall.sql >> /docker-entrypoint-initdb.d/install.sql | ||
37 | 18 | ||
19 | +# Correção de problema com o registro de log de documentos contendo imagens | ||
20 | +echo "max_allowed_packet=268435456" >> /etc/my.cnf | ||
38 | 21 | ||
39 | exit 0 | 22 | exit 0 |
mysql/my.cnf
@@ -1,26 +0,0 @@ | @@ -1,26 +0,0 @@ | ||
1 | -[mysqld] | ||
2 | -# | ||
3 | -# Remove leading # and set to the amount of RAM for the most important data | ||
4 | -# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%. | ||
5 | -# innodb_buffer_pool_size = 128M | ||
6 | -# | ||
7 | -# Remove leading # to turn on a very important data integrity option: logging | ||
8 | -# changes to the binary log between backups. | ||
9 | -# log_bin | ||
10 | -# | ||
11 | -# Remove leading # to set options mainly useful for reporting servers. | ||
12 | -# The server defaults are faster for transactions and fast SELECTs. | ||
13 | -# Adjust sizes as needed, experiment to find the optimal values. | ||
14 | -# join_buffer_size = 128M | ||
15 | -# sort_buffer_size = 2M | ||
16 | -# read_rnd_buffer_size = 2M | ||
17 | -datadir=/var/lib/mysql | ||
18 | -socket=/var/lib/mysql/mysql.sock | ||
19 | - | ||
20 | -# Disabling symbolic-links is recommended to prevent assorted security risks | ||
21 | -symbolic-links=0 | ||
22 | - | ||
23 | -max_allowed_packet=268435456 | ||
24 | - | ||
25 | -log-error=/var/log/mysqld.log | ||
26 | -pid-file=/var/run/mysqld/mysqld.pid |
sei/Dockerfile
1 | ########################################################### | 1 | ########################################################### |
2 | -# Dockerfile de construção do container WebApp | ||
3 | -# utilizado pelo SEI e pelo SIP | ||
4 | -# | ||
5 | -# Baseado no CentOS 6.X | 2 | +# Dockerfile de construção do container WebApp utilizado pelo SEI e pelo SIP |
6 | ############################################################ | 3 | ############################################################ |
7 | 4 | ||
8 | # Definição da imagem de base para o CentOS 6.X | 5 | # Definição da imagem de base para o CentOS 6.X |
@@ -13,62 +10,34 @@ MAINTAINER PEN - Processo Eletrônico Nacional | @@ -13,62 +10,34 @@ MAINTAINER PEN - Processo Eletrônico Nacional | ||
13 | 10 | ||
14 | ################## INICIO DA INSTALACAO ###################### | 11 | ################## INICIO DA INSTALACAO ###################### |
15 | # Instalação do SEI seguindo as recomendações descritas na documentação do SEI | 12 | # Instalação do SEI seguindo as recomendações descritas na documentação do SEI |
16 | -# Ref: https://processoeletronico.gov.br/projects/sei/wiki | ||
17 | 13 | ||
18 | -# Instalação do servidor web Apache 2.2, memcache e demais componentes | ||
19 | -RUN yum install -y epel-release && \ | ||
20 | - yum -y update && \ | ||
21 | - yum -y install httpd-2.2.* mysql-5.1.* memcached openssl wget curl unzip gcc java-1.7.0-openjdk libxml2 dos2unix crontabs \ | ||
22 | - php-5.3.* php-common php-cli php-pear php-bcmath php-gd php-gmp php-imap php-intl php-ldap php-mbstring php-mysql \ | ||
23 | - php-odbc php-pdo php-pecl-apc php-pspell php-zlib php-snmp php-soap php-xml php-xmlrpc php-zts php-devel \ | ||
24 | - php-pecl-apc-devel php-pecl-memcache php-calendar php-shmop php-intl \ | ||
25 | - php-mcrypt php-pecl-xdebug \ | ||
26 | - supervisor gearmand libgearman libgearman-devel php-pecl-gearman && \ | ||
27 | - yum -y clean all | ||
28 | - | ||
29 | - | ||
30 | -# Configuração do charset do Apache | ||
31 | -RUN echo "AddDefaultCharset iso-8859-1" | tee -a /etc/httpd/conf/httpd.conf | 14 | +ENV TERM xterm |
32 | 15 | ||
33 | -# Correção do bug do VirtualBox relacionado ao Sendfile. http://docs.vagrantup.com/v2/synced-folders/virtualbox.html | ||
34 | -RUN echo "EnableSendfile Off" | tee -a /etc/httpd/conf/httpd.conf | 16 | +COPY install.sh /install.sh |
35 | 17 | ||
36 | -# Instalação do componentes UploadProgress | ||
37 | -RUN pecl install uploadprogress && \ | ||
38 | - echo "extension=uploadprogress.so" >> /etc/php.d/uploadprogress.ini | 18 | +RUN bash /install.sh |
39 | 19 | ||
40 | # Configuração dos parâmetros do SEI e SIP | 20 | # Configuração dos parâmetros do SEI e SIP |
41 | -ADD ConfiguracaoSEI.php /opt/sei/ConfiguracaoSEI.php | ||
42 | -ADD ConfiguracaoSip.php /opt/sip/ConfiguracaoSip.php | 21 | +COPY ConfiguracaoSEI.php /ConfiguracaoSEI.php |
22 | +COPY ConfiguracaoSip.php /ConfiguracaoSip.php | ||
43 | 23 | ||
44 | # Copia arquivos necessários para a instalação | 24 | # Copia arquivos necessários para a instalação |
45 | -ADD sei.ini /etc/php.d/sei.ini | ||
46 | -ADD xdebug.ini /etc/php.d/xdebug.ini | ||
47 | -ADD sei.conf /etc/httpd/conf.d/sei.conf | 25 | +COPY sei.ini /etc/php.d/sei.ini |
26 | +COPY xdebug.ini /etc/php.d/xdebug.ini | ||
27 | +COPY sei.conf /etc/httpd/conf.d/sei.conf | ||
48 | 28 | ||
49 | # Configuração do Gearman e Supervisor, componentes necessários para a integração do SEI com Processo Eletrônico Nacional | 29 | # Configuração do Gearman e Supervisor, componentes necessários para a integração do SEI com Processo Eletrônico Nacional |
50 | -ADD supervisord.conf /etc/supervisord.conf | ||
51 | - | ||
52 | -RUN mkdir -p /var/sei/arquivos && \ | ||
53 | - chmod -R 777 /var/sei/arquivos | ||
54 | - | ||
55 | -# Configuração dos serviços de background do Cron | ||
56 | -RUN mkdir /var/log/sei | ||
57 | -RUN sed -i '/session required pam_loginuid.so/c\#session required pam_loginuid.so' /etc/pam.d/crond | ||
58 | -RUN echo "0 * * * * root /usr/bin/php -c /etc/php.ini /var/www/html/sei/AgendamentoTarefaSEI.php 2>&1 >> /var/log/sei/agendamento_sei.log" >> /etc/cron.d/sei | ||
59 | -RUN echo "0 * * * * root /usr/bin/php -c /etc/php.ini /var/www/html/sip/AgendamentoTarefaSip.php 2>&1 >> /var/log/sei/agendamento_sip.log" >> /etc/cron.d/sei | 30 | +COPY supervisord.conf /etc/supervisord.conf |
60 | 31 | ||
61 | # Script de inicialização do container entry-point | 32 | # Script de inicialização do container entry-point |
62 | -ADD entrypoint.sh /entrypoint.sh | ||
63 | -RUN dos2unix /entrypoint.sh && chmod +x /entrypoint.sh | 33 | +COPY entrypoint.sh /entrypoint.sh |
34 | +RUN chmod +x /entrypoint.sh | ||
64 | 35 | ||
65 | ##################### FIM DA INSTALACAO ##################### | 36 | ##################### FIM DA INSTALACAO ##################### |
66 | 37 | ||
67 | -# Definição do terminal a ser utilizado | ||
68 | -ENV TERM xterm | ||
69 | - | ||
70 | # Exposição da porta de conexão ao Apache | 38 | # Exposição da porta de conexão ao Apache |
71 | EXPOSE 80 | 39 | EXPOSE 80 |
72 | 40 | ||
73 | # Inicialização dos serviços Apache e Memcache | 41 | # Inicialização dos serviços Apache e Memcache |
74 | CMD ["/entrypoint.sh"] | 42 | CMD ["/entrypoint.sh"] |
43 | + |
sei/entrypoint.sh
1 | #!/usr/bin/env bash | 1 | #!/usr/bin/env bash |
2 | 2 | ||
3 | +echo "127.0.0.1 sei_www" >> /etc/hosts | ||
3 | echo "127.0.0.1 sip_www" >> /etc/hosts | 4 | echo "127.0.0.1 sip_www" >> /etc/hosts |
4 | 5 | ||
5 | -# Configura localização correta da infra_php | ||
6 | -#if [ -d /mnt/sei/src/infra/infra_php ]; then dir_infra_php="/mnt/sei/src/infra/infra_php"; else dir_infra_php="/mnt/sei/src/infra_php"; fi | ||
7 | -#ln -sf $dir_infra_php /var/www/html/ | ||
8 | - | ||
9 | -# Configura localização correta da infra_js | ||
10 | -#if [ -d /mnt/sei/src/infra/infra_js ]; then dir_infra_js="/mnt/sei/src/infra/infra_js"; else dir_infra_js="/mnt/sei/src/infra_js"; fi | ||
11 | -#ln -sf $dir_infra_js /var/www/html/ | ||
12 | - | ||
13 | -# Configura localização correta da infra_css | ||
14 | -#if [ -d /mnt/sei/src/infra/infra_css ]; then dir_infra_css="/mnt/sei/src/infra/infra_css"; else dir_infra_css="/mnt/sei/src/infra_css"; fi | ||
15 | -#ln -sf $dir_infra_css /var/www/html/ | ||
16 | - | ||
17 | # Atribuição dos parâmetros de configuração do SEI | 6 | # Atribuição dos parâmetros de configuração do SEI |
18 | if [ -f /opt/sei/config/ConfiguracaoSEI.php ] && [ ! -f /opt/sei/config/ConfiguracaoSEI.php~ ]; then | 7 | if [ -f /opt/sei/config/ConfiguracaoSEI.php ] && [ ! -f /opt/sei/config/ConfiguracaoSEI.php~ ]; then |
19 | mv /opt/sei/config/ConfiguracaoSEI.php /opt/sei/config/ConfiguracaoSEI.php~ | 8 | mv /opt/sei/config/ConfiguracaoSEI.php /opt/sei/config/ConfiguracaoSEI.php~ |
@@ -32,25 +21,19 @@ if [ ! -f /opt/sip/config/ConfiguracaoSip.php ]; then | @@ -32,25 +21,19 @@ if [ ! -f /opt/sip/config/ConfiguracaoSip.php ]; then | ||
32 | cp /ConfiguracaoSip.php /opt/sip/config/ConfiguracaoSip.php | 21 | cp /ConfiguracaoSip.php /opt/sip/config/ConfiguracaoSip.php |
33 | fi | 22 | fi |
34 | 23 | ||
35 | -# Criação do diretório padrão de upload de arquivos | ||
36 | -#SEI | ||
37 | -chown -R www-data.www-data /opt/sei | ||
38 | -chown -R www-data.www-data /opt/infra | ||
39 | -chown -R www-data.www-data /opt/sip | 24 | +# Ajustes de permissões diversos |
40 | chmod +x /opt/sei/bin/wkhtmltopdf-amd64 | 25 | chmod +x /opt/sei/bin/wkhtmltopdf-amd64 |
41 | chmod -R 777 /opt/sei/temp | 26 | chmod -R 777 /opt/sei/temp |
42 | chmod -R 777 /opt/sip/temp | 27 | chmod -R 777 /opt/sip/temp |
43 | chmod -R 777 /var/sei/arquivos | 28 | chmod -R 777 /var/sei/arquivos |
44 | 29 | ||
45 | -# Inicialização do serviço de cache | ||
46 | -#/etc/init.d/memcached start | ||
47 | - | ||
48 | # Inicialização das rotinas de agendamento | 30 | # Inicialização das rotinas de agendamento |
49 | -service cron start | 31 | +/etc/init.d/rsyslog start |
32 | +/etc/init.d/crond start | ||
50 | 33 | ||
51 | # Inicialização do Gearman e Supervisor, componentes para integração com Processo Eletrônico Nacional | 34 | # Inicialização do Gearman e Supervisor, componentes para integração com Processo Eletrônico Nacional |
52 | -gearmand & | ||
53 | -service supervisor start | 35 | +/etc/init.d/gearmand start |
36 | +/etc/init.d/supervisord start | ||
54 | 37 | ||
55 | # Inicialização do servidor web | 38 | # Inicialização do servidor web |
56 | -apache2-foreground | 39 | +/usr/sbin/httpd -DFOREGROUND |
sei/install.sh
@@ -2,20 +2,27 @@ | @@ -2,20 +2,27 @@ | ||
2 | 2 | ||
3 | set -e | 3 | set -e |
4 | 4 | ||
5 | -apt-get -y update | 5 | +yum install -y epel-release && yum -y update |
6 | 6 | ||
7 | -apt-get -y install mysql-client wget unzip openjdk-7-jre bzip2 cron \ | ||
8 | - php5-common php-pear php5-gd php5-intl php5-ldap php5-mysql php5-memcached php5-curl php5-json php5-dev php5-xdebug php5-mcrypt \ | ||
9 | - php-calendar php-soap php-gettext php-pclzip php-file \ | ||
10 | - libapache2-mod-php5filter | 7 | +wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm |
8 | +wget https://centos6.iuscommunity.org/ius-release.rpm | ||
9 | +rpm -Uvh ius-release*.rpm | ||
10 | + | ||
11 | +yum -y update | ||
12 | + | ||
13 | +yum -y install httpd24u mysql56u memcached openssl wget curl unzip gcc java-1.7.0-openjdk libxml2 crontabs | ||
14 | + | ||
15 | +# Instalação do PHP e demais extenções necessárias para o projeto | ||
16 | +yum -y install php56u php56u-common php56u-cli php56u-pear php56u-bcmath php56u-gd php56u-gmp php56u-imap php56u-intl php56u-ldap php56u-mbstring php56u-mysqli \ | ||
17 | + php56u-odbc php56u-pdo php56u-pecl-apc php56u-pspell php56u-zlib php56u-snmp php56u-soap php56u-xml php56u-xmlrpc php56u-zts php56u-devel \ | ||
18 | + php56u-pecl-apc-devel php56u-pecl-memcache php56u-calendar php56u-shmop php56u-intl php56u-mcrypt php56u-pecl-xdebug | ||
11 | 19 | ||
12 | # Instalação do componentes UploadProgress | 20 | # Instalação do componentes UploadProgress |
13 | -pecl install uploadprogress | ||
14 | -echo "extension=uploadprogress.so" > /etc/php5/mods-available/uploadprogress.ini | 21 | +pecl install uploadprogress && \ |
22 | +echo "extension=uploadprogress.so" >> /etc/php.d/uploadprogress.ini | ||
15 | 23 | ||
16 | -# Instalação do Supervisor e Gearman para suporte à integração com o PEN | ||
17 | -apt-get -y install supervisor | ||
18 | -apt-get -y install gearman libgearman7 php5-gearman | 24 | +# Instalação de componentes para teste do Barramento de Seriços do PEN |
25 | +yum -y install supervisor gearmand libgearman libgearman-devel php56u-pecl-gearman | ||
19 | 26 | ||
20 | # Configuração de permissão do diretório de arquivos | 27 | # Configuração de permissão do diretório de arquivos |
21 | mkdir -p /var/sei/arquivos && \ | 28 | mkdir -p /var/sei/arquivos && \ |
@@ -23,9 +30,12 @@ chmod -R 777 /var/sei/arquivos | @@ -23,9 +30,12 @@ chmod -R 777 /var/sei/arquivos | ||
23 | 30 | ||
24 | # Configuração dos serviços de background do Cron | 31 | # Configuração dos serviços de background do Cron |
25 | mkdir /var/log/sei | 32 | mkdir /var/log/sei |
26 | -echo "0 * * * * root /usr/bin/php -c /etc/php.ini /opt/sei/scripts/AgendamentoTarefaSEI.php 2>&1 >> /var/log/sei/agendamento_sei.log" >> /etc/cron.d/sei | ||
27 | -echo "0 * * * * root /usr/bin/php -c /etc/php.ini /opt/sip/scripts/AgendamentoTarefaSip.php 2>&1 >> /var/log/sip/agendamento_sip.log" >> /etc/cron.d/sip | 33 | +sed -i '/session required pam_loginuid.so/c\#session required pam_loginuid.so' /etc/pam.d/crond |
34 | +echo "0 * * * * root /usr/bin/php -c /etc/php.ini /opt/sei/scripts/AgendamentoTarefaSEI.php 2>&1 >> /var/log/sei/agendamento_sei.log" > /etc/cron.d/sei | ||
35 | +echo "0 * * * * root /usr/bin/php -c /etc/php.ini /opt/sip/scripts/AgendamentoTarefaSip.php 2>&1 >> /var/log/sip/agendamento_sip.log" > /etc/cron.d/sip | ||
28 | echo "00 01 * * * root rm -rf /opt/sei/temp/*" >> /etc/cron.d/sei | 36 | echo "00 01 * * * root rm -rf /opt/sei/temp/*" >> /etc/cron.d/sei |
29 | echo "00 01 * * * root rm -rf /opt/sip/temp/*" >> /etc/cron.d/sip | 37 | echo "00 01 * * * root rm -rf /opt/sip/temp/*" >> /etc/cron.d/sip |
30 | 38 | ||
39 | +yum -y clean all | ||
40 | + | ||
31 | exit 0 | 41 | exit 0 |
sei/supervisord.conf
1 | 1 | ||
2 | +[supervisord] | ||
3 | +http_port=/var/tmp/supervisor.sock ; (default is to run a UNIX domain socket server) | ||
4 | +;http_port=127.0.0.1:9001 ; (alternately, ip_address:port specifies AF_INET) | ||
5 | +;sockchmod=0700 ; AF_UNIX socketmode (AF_INET ignore, default 0700) | ||
6 | +;sockchown=nobody.nogroup ; AF_UNIX socket uid.gid owner (AF_INET ignores) | ||
7 | +;umask=022 ; (process file creation umask;default 022) | ||
8 | +logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log) | ||
9 | +logfile_maxbytes=50MB ; (max main logfile bytes b4 rotation;default 50MB) | ||
10 | +logfile_backups=10 ; (num of main logfile rotation backups;default 10) | ||
11 | +loglevel=info ; (logging level;default info; others: debug,warn) | ||
12 | +pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid) | ||
13 | +nodaemon=false ; (start in foreground if true;default false) | ||
14 | +minfds=1024 ; (min. avail startup file descriptors;default 1024) | ||
15 | +minprocs=200 ; (min. avail process descriptors;default 200) | ||
16 | + | ||
17 | +;nocleanup=true ; (don't clean up tempfiles at start;default false) | ||
18 | +;http_username=user ; (default is no username (open system)) | ||
19 | +;http_password=123 ; (default is no password (open system)) | ||
20 | +;childlogdir=/tmp ; ('AUTO' child log dir, default $TEMP) | ||
21 | +;user=chrism ; (default is current user, required if root) | ||
22 | +;directory=/tmp ; (default is not to cd during start) | ||
23 | +;environment=KEY=value ; (key value pairs to add to environment) | ||
24 | + | ||
25 | +[supervisorctl] | ||
26 | +serverurl=unix:///var/tmp/supervisor.sock ; use a unix:// URL for a unix socket | ||
27 | +;serverurl=http://127.0.0.1:9001 ; use an http:// url to specify an inet socket | ||
28 | +;username=chris ; should be same as http_username if set | ||
29 | +;password=123 ; should be same as http_password if set | ||
30 | +;prompt=mysupervisor ; cmd line prompt (default "supervisor") | ||
31 | + | ||
32 | +; The below sample program section shows all possible program subsection values, | ||
33 | +; create one or more 'real' program: sections to be able to control them under | ||
34 | +; supervisor. | ||
35 | + | ||
36 | +;[program:theprogramname] | ||
37 | +;command=/bin/cat ; the program (relative uses PATH, can take args) | ||
38 | +;priority=999 ; the relative start priority (default 999) | ||
39 | +;autostart=true ; start at supervisord start (default: true) | ||
40 | +;autorestart=true ; retstart at unexpected quit (default: true) | ||
41 | +;startsecs=10 ; number of secs prog must stay running (def. 10) | ||
42 | +;startretries=3 ; max # of serial start failures (default 3) | ||
43 | +;exitcodes=0,2 ; 'expected' exit codes for process (default 0,2) | ||
44 | +;stopsignal=QUIT ; signal used to kill process (default TERM) | ||
45 | +;stopwaitsecs=10 ; max num secs to wait before SIGKILL (default 10) | ||
46 | +;user=chrism ; setuid to this UNIX account to run the program | ||
47 | +;log_stdout=true ; if true, log program stdout (default true) | ||
48 | +;log_stderr=true ; if true, log program stderr (def false) | ||
49 | +;logfile=/var/log/cat.log ; child log path, use NONE for none; default AUTO | ||
50 | +;logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) | ||
51 | +;logfile_backups=10 ; # of logfile backups (default 10) | ||
52 | + | ||
2 | [program:sei_processar_pendencias] | 53 | [program:sei_processar_pendencias] |
3 | command=/usr/bin/php -c /etc/php.ini /var/www/html/sei/modulos/pen/rn/ProcessarPendenciasRN.php | 54 | command=/usr/bin/php -c /etc/php.ini /var/www/html/sei/modulos/pen/rn/ProcessarPendenciasRN.php |
4 | numprocs=1 | 55 | numprocs=1 |
5 | directory=/var/www/html/sei/ | 56 | directory=/var/www/html/sei/ |
6 | autostart=true | 57 | autostart=true |
7 | autorestart=true | 58 | autorestart=true |
59 | +log_stderr=true | ||
8 | stdout_logfile=/tmp/sei.log | 60 | stdout_logfile=/tmp/sei.log |
9 | stdout_logfile_maxbytes=1MB | 61 | stdout_logfile_maxbytes=1MB |
10 | stderr_logfile=/tmp/sei_error.log | 62 | stderr_logfile=/tmp/sei_error.log |
@@ -16,6 +68,7 @@ numprocs=1 | @@ -16,6 +68,7 @@ numprocs=1 | ||
16 | directory=/var/www/html/sei/ | 68 | directory=/var/www/html/sei/ |
17 | autostart=true | 69 | autostart=true |
18 | autorestart=true | 70 | autorestart=true |
71 | +log_stderr=true | ||
19 | stdout_logfile=/tmp/sei.log | 72 | stdout_logfile=/tmp/sei.log |
20 | stdout_logfile_maxbytes=1MB | 73 | stdout_logfile_maxbytes=1MB |
21 | stderr_logfile=/tmp/sei_error.log | 74 | stderr_logfile=/tmp/sei_error.log |
solr/Dockerfile
@@ -2,17 +2,16 @@ | @@ -2,17 +2,16 @@ | ||
2 | # Dockerfile de construção do container Solr utilizado pelo SEI e pelo SIP # | 2 | # Dockerfile de construção do container Solr utilizado pelo SEI e pelo SIP # |
3 | ############################################################################ | 3 | ############################################################################ |
4 | 4 | ||
5 | -# Definição da imagem de base para o CentOS 6.X | 5 | +# Definição da imagem de base para o OpenJDK 8 |
6 | FROM openjdk:8 | 6 | FROM openjdk:8 |
7 | 7 | ||
8 | # Autor e mantenedor do container | 8 | # Autor e mantenedor do container |
9 | MAINTAINER PEN - Processo Eletrônico Nacional | 9 | MAINTAINER PEN - Processo Eletrônico Nacional |
10 | 10 | ||
11 | -# Definição do terminal a ser utilizado | ||
12 | -ENV TERM xterm | ||
13 | - | ||
14 | ################## INICIO DA INSTALACAO ###################### | 11 | ################## INICIO DA INSTALACAO ###################### |
15 | 12 | ||
13 | +ENV TERM xterm | ||
14 | + | ||
16 | # Obtenção do pacote de instalação do Solr 4.0 | 15 | # Obtenção do pacote de instalação do Solr 4.0 |
17 | COPY install.sh /install.sh | 16 | COPY install.sh /install.sh |
18 | COPY solr-6.1.0.tgz /tmp/ | 17 | COPY solr-6.1.0.tgz /tmp/ |