Skip to content

Commit

Permalink
Merge infra to develop (#64)
Browse files Browse the repository at this point in the history
* Adiciona Dockerfile para imagem de produção

* Adiciona arquivos de configuração do tema MapaCe para produção

* Corrige Dockerfile da imagem de produção

* Atualiza os arquivos do github actions

* Corrige arquivo ci.yml do github actions

* Atualiza ci.yml para ajustar a branch do plugin MultipleLocalAuth

---------

Co-authored-by: rafaelsdomingos <rafaelsdomingos@gmail.com>
  • Loading branch information
Junior-Shyko and rafaelsdomingos authored Mar 22, 2024
1 parent b772d9a commit 82c87f3
Show file tree
Hide file tree
Showing 11 changed files with 224 additions and 110 deletions.
92 changes: 36 additions & 56 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,66 +1,46 @@
name: ci

on:
push:
branches:
- "master"
- "develop"
tags:
- "v*.*.*"
pull_request:
branches:
- "develop"
branches:
- homolog

workflow_dispatch:

jobs:
docker:
BUILD:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v3
-
name: Docker meta
id: meta
uses: docker/metadata-action@v4
with:
# list of Docker images to use as base name for tags
images: |
docker.io/hacklab/mapasculturais
# ghcr.io/username/app
# generate Docker tags based on the following events/attributes
tags: |
type=ref,event=branch
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=semver,pattern={{major}}
-
name: Set up QEMU
uses: docker/setup-qemu-action@v2
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
-
name: Login to Docker Hub
if: github.event_name != 'pull_request'
uses: docker/login-action@v2
steps:

- uses: actions/checkout@v4.1.1

- name: Docker Login
uses: docker/login-action@v3.0.0
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
# -
# name: Login to GHCR
# if: github.event_name != 'pull_request'
# uses: docker/login-action@v2
# with:
# registry: ghcr.io
# username: ${{ github.repository_owner }}
# password: ${{ secrets.GITHUB_TOKEN }}
-
name: Build and push
uses: docker/build-push-action@v4
username: ${{ secrets.DOCKERHUB_USER }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}

- name: Checkout submodules
run: git submodule update --init --recursive

- name: Ajusta branch do MultipleLocalAuth
run: cd src/plugins/MultipleLocalAuth && git checkout v3.0.0

- name: Criação da Imagem docker
uses: docker/build-push-action@v5.0.0
with:
file: ./docker/Dockerfile
context: .
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
context: ./
file: ./Dockerfile
push: true
tags: |
secultceara/mapascultural:7.3.7
secultceara/mapascultural:latest
DEPLOY:
needs: BUILD
runs-on: mapahomolog
steps:
- name: Pull das imagens docker
run: cd /opt/docker/mapa7 && sudo docker-compose pull
- name: Restart do docker-compose para atualizar o container com a nova imagem
run: cd /opt/docker/mapa7 && sudo docker-compose down && sudo docker-compose up -d
53 changes: 0 additions & 53 deletions .github/workflows/rc.yml

This file was deleted.

68 changes: 68 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
FROM php:8.2-fpm

ENV PNPM_HOME=/root/.local/share/pnpm
ENV PATH=$PATH:/root/.local/share/pnpm
ENV COMPOSER_ALLOW_SUPERUSER=1

# Copy source
COPY composer.json /var/www/composer.json
COPY composer.lock /var/www/composer.lock
COPY config /var/www/config
COPY public /var/www/html
COPY scripts /var/www/scripts
COPY src /var/www/src
COPY var /var/www/var
COPY docker/common/config.d /var/www/config/common.d
COPY docker/production/config.d /var/www/config/prod.d
COPY docker/recreate-pending-pcache-cron.sh /recreate-pending-pcache-cron.sh
COPY docker/jobs-cron.sh /jobs-cron.sh
COPY docker/entrypoint.sh /entrypoint.sh
COPY version.txt /var/www/version.txt


RUN apt-get update && apt-get install -y --no-install-recommends \
imagemagick libmagickcore-dev git libmagickwand-dev \
libcurl4-gnutls-dev libpq-dev libfreetype6-dev libjpeg62-turbo-dev libpng-dev libzip-dev libzstd1 && \
# Instalação do node
curl -sL https://deb.nodesource.com/setup_18.x | bash - && \
apt-get install -y nodejs && \
## Instalação das extensões do node
npm install -g pnpm terser uglifycss autoprefixer postcss sass && \
# Install extensions
docker-php-ext-install -j$(nproc) opcache pdo_pgsql zip xml curl opcache && \
# Install GD
docker-php-ext-install -j$(nproc) iconv && \
docker-php-ext-configure gd --with-jpeg && \
docker-php-ext-install -j$(nproc) gd && \
# Install APCu
no | pecl install apcu && echo "extension=apcu.so" > /usr/local/etc/php/conf.d/apcu.ini && \
# Install imagick
autodetect | pecl install imagick && echo "extension=imagick.so" > /usr/local/etc/php/conf.d/ext-imagick.ini && \
# Install igbinary
pecl install igbinary && docker-php-ext-enable igbinary && \
# Install msgpack
yes | pecl install msgpack && echo "extension=msgpack.so" > /usr/local/etc/php/conf.d/msgpack.ini && \
# Install redis
no | pecl install -o -f redis && docker-php-ext-enable redis && \
# Install composer
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \
php composer-setup.php --install-dir=/usr/local/bin && \
rm composer-setup.php && \
#Execução do composer
cd /var/www && composer.phar install && \
# Instalação dos pacotes node
cd /var/www/src && pnpm install --recursive && pnpm run build && \
sass themes/BaseV1/assets/css/sass/main.scss:themes/BaseV1/assets/css/main.css && \
# alteração das permissões
ln -s /var/www/html /var/www/public && \
chown www-data:www-data -R /var/www && \
# Limpeza do apt
rm -rf /var/lib/apt/lists

WORKDIR /var/www

ENTRYPOINT ["/entrypoint.sh"]

EXPOSE 9000

CMD ["php-fpm"]
16 changes: 16 additions & 0 deletions docker/common/config.d/0.main.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<?php

date_default_timezone_set('America/Fortaleza');

return [
'app.siteName' => 'Mapas Culturais do Ceará',
'app.siteDescription' => 'O Mapas Culturais é uma plataforma colaborativa que reúne informações sobre agentes, espaços, eventos, projetos culturais e oportunidades',


// Define o tema ativo no site principal. Deve ser informado o namespace do tema e neste deve existir uma classe Theme.
'themes.active' => 'MapasCE',

// Ids dos selos verificadores. Para utilizar múltiplos selos informe os ids separados por vírgula.
'app.verifiedSealsIds' => '1',

];
18 changes: 18 additions & 0 deletions docker/common/config.d/logo.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<?php
use \MapasCulturais\i;

return [
/* Primeira linha do logo configurável */
'logo.title' => 'Mapa Cultural',

/* Segunda linha do logo configurável */
'logo.subtitle' => 'do Ceará',

/*
Define a url da imagem da logo do site - Substituirá a logo padrão
*/
'logo.image' => 'img/logo-Mapa-CE.png',

/* Esconde o título e subtitulo */
'logo.hideLabel' => true,
];
16 changes: 16 additions & 0 deletions docker/common/config.d/maps.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<?php

return [
'maps.center' => [
-14.2400732, //latitude
-53.1805018 // longitude
],

'maps.zoom.default' => 5,
'maps.zoom.approximate' => 14,
'maps.zoom.precise' => 16,
'maps.zoom.max' => 18,
'maps.zoom.min' => 5,

'maps.tileServer' => '//{s}.tile.osm.org/{z}/{x}/{y}.png',
];
8 changes: 8 additions & 0 deletions docker/common/config.d/plugins.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?php

return [
'plugins' => [
'MultipleLocalAuth' => [ 'namespace' => 'MultipleLocalAuth' ],
'SamplePlugin' => ['namespace' => 'SamplePlugin'],
]
];
6 changes: 6 additions & 0 deletions docker/common/config.d/sharing.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?php

return[
'share.image' => env('SHARE_IMAGE', 'img/share-square.png'),
'share.image_twitter' => env('SHARE_IMAGE_TWITTER', 'img/share-square.png'),
];
15 changes: 15 additions & 0 deletions docker/common/config.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?php
$config = include 'conf-base.php';

foreach(['conf-common.d', 'config.d'] as $folder){
$config_files = glob(__DIR__ . "/{$folder}/*.php");

sort($config_files);

foreach($config_files as $config_file) {
$config = array_merge($config, include ($config_file) );
}
}


return $config;
40 changes: 40 additions & 0 deletions docker/production/config.d/authentication.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
<?php
// creating base url
$prot_part = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] ? 'https://' : 'http://';
//added @ for HTTP_HOST undefined in Tests
$host_part = @$_SERVER['HTTP_HOST'] . dirname($_SERVER['SCRIPT_NAME']);
if(substr($host_part,-1) !== '/') $host_part .= '/';
$_APP_BASE_URL = $prot_part . $host_part;

return [
'auth.provider' => '\MultipleLocalAuth\Provider',
'auth.config' => array(
'salt' => env('AUTH_SALT', null),
'timeout' => '24 hours',
'strategies' => [
'Facebook' => array(
'app_id' => env('AUTH_FACEBOOK_APP_ID', null),
'app_secret' => env('AUTH_FACEBOOK_APP_SECRET', null),
'scope' => env('AUTH_FACEBOOK_SCOPE', 'email'),
),

'LinkedIn' => array(
'api_key' => env('AUTH_LINKEDIN_API_KEY', null),
'secret_key' => env('AUTH_LINKEDIN_SECRET_KEY', null),
'redirect_uri' => $_APP_BASE_URL . 'autenticacao/linkedin/oauth2callback',
'scope' => env('AUTH_LINKEDIN_SCOPE', 'r_emailaddress')
),
'Google' => array(
'client_id' => env('AUTH_GOOGLE_CLIENT_ID', null),
'client_secret' => env('AUTH_GOOGLE_CLIENT_SECRET', null),
'redirect_uri' => $_APP_BASE_URL . 'autenticacao/google/oauth2callback',
'scope' => env('AUTH_GOOGLE_SCOPE', 'email'),
),
'Twitter' => array(
'app_id' => env('AUTH_TWITTER_APP_ID', null),
'app_secret' => env('AUTH_TWITTER_APP_SECRET', null),
),

]
),
];
2 changes: 1 addition & 1 deletion src/plugins/MultipleLocalAuth
Submodule MultipleLocalAuth updated 43 files
+21 −11 Plugin.php
+569 −471 Provider.php
+0 −226 assets-src/js/app.js
+12 −12 assets-src/sass/1-settings/_s-globals.scss
+0 −101 assets-src/sass/1-settings/_s-variables.scss
+0 −200 assets-src/sass/2-atoms/_a-mixins.scss
+0 −143 assets-src/sass/2-atoms/_a-spacing.scss
+0 −46 assets-src/sass/2-atoms/_a-typography.scss
+0 −29 assets-src/sass/3-layout/_l-form.scss
+0 −44 assets-src/sass/4-components/_c-button.scss
+0 −24 assets-src/sass/4-components/_c-card.scss
+83 −0 assets-src/sass/4-components/_c-change-password.scss
+308 −0 assets-src/sass/4-components/_c-create-account.scss
+158 −0 assets-src/sass/4-components/_c-login.scss
+0 −58 assets-src/sass/4-components/_c-status-card.scss
+34 −0 assets-src/sass/5-areas/_a-confirm-email.scss
+0 −404 assets-src/sass/5-areas/_a-login.scss
+6 −16 assets-src/sass/app.scss
+0 −1,402 assets/css/app.css
+275 −0 assets/css/auth-v2.css
+597 −0 assets/css/multiple-local-auth.css
+ assets/img/g.png
+ assets/img/govbr-white.png
+2 −138 assets/js/app.js
+14 −0 components/change-password/README.md
+99 −0 components/change-password/script.js
+64 −0 components/change-password/template.php
+4 −0 components/change-password/texts.php
+17 −0 components/create-account/README.md
+324 −0 components/create-account/script.js
+141 −0 components/create-account/template.php
+9 −0 components/create-account/texts.php
+17 −0 components/login/README.md
+145 −0 components/login/script.js
+131 −0 components/login/template.php
+4 −0 components/login/texts.php
+16 −0 layouts/parts/password/change-password.php
+27 −13 views/auth/confirm-email.php
+12 −243 views/auth/multiple-local.php
+0 −73 views/auth/pass-recover.php
+22 −0 views/auth/register.php
+0 −136 views/auth/termos-e-condicoes.php
+0 −0 views/panel/multiple-local-auth--my-account.php

0 comments on commit 82c87f3

Please sign in to comment.