Compare commits

..
100 Commits
Author SHA1 Message Date
marc 46a3140444 Merge branch 'master' into staging
Deploy staging / Build and push front (push) Canceled after 0s
Deploy staging / Build and push back (push) Canceled after 0s
Deploy staging / Pull and recreate (push) Canceled after 0s
2023-04-04 02:43:26 +02:00
marc 1b63f36b78 restart unless stopped for front
Deploy production / Build front (push) Canceled after 0s
Deploy production / Build back (push) Canceled after 0s
Deploy production / Pull and recreate (push) Canceled after 0s
2023-04-04 02:23:11 +02:00
marc a23d66c17c Merge branch 'master' into staging 2022-12-24 00:21:08 +01:00
marc f47e9879ea empty 2022-12-24 00:21:00 +01:00
marc 351b16bdad messing with nginx
Test docker build / back-prod (push) Canceled after 0s
Test docker build / front-prod (push) Canceled after 0s
Test docker build / back-dev (push) Canceled after 0s
Test docker build / front-dev (push) Canceled after 0s
2022-12-23 23:57:45 +01:00
marc d468563877 Merge branch 'master' into staging 2022-12-23 22:19:35 +01:00
marc 6b6a21b05a js is ok 2022-12-23 22:18:32 +01:00
marc 955a720704 Merge branch 'master' into staging 2022-12-23 22:11:01 +01:00
marc c71e626635 mixed files 2022-12-23 22:10:53 +01:00
marc f51bdd1079 Merge branch 'master' into staging 2022-12-23 22:04:04 +01:00
marc 4e583fb6f9 mime.types 2022-12-23 22:03:57 +01:00
marc ba866f2740 staging 2022-12-23 19:50:59 +01:00
marc 31ba36a112 images pls 2022-12-23 19:50:14 +01:00
marc 241fd6fd8c Merge branch 'artisan' into staging 2022-12-22 19:59:24 +01:00
marc ce3983bf6a testing 2022-12-20 02:19:07 +01:00
marc 48f3fd0e49 8080 pls 2022-12-20 02:15:26 +01:00
marc 48ca638913 artisan all interfaces 2022-12-20 02:02:40 +01:00
marc 689ceda4cf fix bullshit 2022-12-20 01:36:19 +01:00
marc d7e417cb98 artisan + dockerignore 2022-12-20 01:23:26 +01:00
marc 1a8e9b4736 Merge branch 'master' into staging 2022-12-16 20:42:46 +01:00
marc d63e790a97 simple build for dev 2022-12-16 20:42:39 +01:00
marc bff6efb724 Merge branch 'master' into staging 2022-12-16 00:22:26 +01:00
marc 7e9558420e want more details of whats going on 2022-12-16 00:21:31 +01:00
marc 6b94e02805 Merge branch 'master' into staging 2022-12-14 06:29:01 +01:00
marc fd60e0f2ba cleaning pls 2022-12-14 06:28:52 +01:00
marc 67da2a3b1b Merge branch 'master' into staging 2022-12-14 06:22:41 +01:00
marc 666b086b9c fix wrong regex 2022-12-14 06:22:30 +01:00
marc 6cc1a490ee Merge branch 'master' into staging 2022-12-14 06:16:12 +01:00
marc 4a863d8a49 saul good man 2022-12-14 06:16:00 +01:00
marc a11fc66741 Merge branch 'master' into staging 2022-12-14 06:14:18 +01:00
marc c4ffa1a033 weird regex again 2022-12-14 06:14:08 +01:00
marc 0c4ea7defc Merge branch 'master' into staging 2022-12-14 06:06:30 +01:00
marc 8545f7c5a2 go for weird regex 2022-12-14 06:06:21 +01:00
marc adf9a355f2 Merge branch 'master' into staging 2022-12-14 06:01:41 +01:00
marc 9d83830b10 back 2022-12-14 06:01:33 +01:00
marc 3c9211afc1 Merge branch 'master' into staging 2022-12-14 05:58:16 +01:00
marc f10369bf9b chelou mais ok 2022-12-14 05:57:02 +01:00
marc 097f7ec499 Merge branch 'master' into staging 2022-12-14 05:46:24 +01:00
marc 36f790b8e8 hops thats good 2022-12-14 05:45:53 +01:00
marc f06687cc8e Merge branch 'master' into staging 2022-12-14 05:38:21 +01:00
marc ed52d1c390 header add maybe 2022-12-14 05:37:51 +01:00
marc 535b3a0353 lets test 2022-12-14 05:31:04 +01:00
marc 98bb8044d1 lets test 2022-12-14 05:30:04 +01:00
marc dd1a5922fb Merge branch 'master' into staging 2022-12-14 05:10:38 +01:00
marc 9c0b45a42b full maj 2022-12-14 05:10:32 +01:00
marc 4576c1129e Merge branch 'master' into staging 2022-12-14 05:06:45 +01:00
marc 975fd7039b lets try 2022-12-14 05:06:28 +01:00
marc 78a3dde67e fix 2022-12-14 05:04:59 +01:00
marc edd19081e7 specific pls 2022-12-14 05:04:00 +01:00
marc 97d6b7c3f6 Merge branch 'master' into staging 2022-12-14 05:02:02 +01:00
marc 440c31b5ed .env.staging 2022-12-14 05:01:51 +01:00
marc 935531cc2d Merge branch 'master' into staging 2022-12-14 05:01:16 +01:00
marc 373bce8c68 trying build args 2022-12-14 05:01:09 +01:00
marc 98c2959242 Merge branch 'master' into staging 2022-12-14 04:53:47 +01:00
marc f266ac2a2e true staging comes in angular 2022-12-14 04:53:39 +01:00
marc cb824b754e staging env exists 2022-12-14 04:51:49 +01:00
marc 88cfeae153 Merge branch 'master' into staging 2022-12-14 04:39:08 +01:00
marc 6de9f97b93 general .env 2022-12-14 04:38:58 +01:00
marc a8950813fd Merge branch 'master' into staging 2022-12-14 04:34:28 +01:00
marc fe6af9a979 custom name 2022-12-14 04:34:17 +01:00
marc 261309f2cb Merge branch 'master' into staging 2022-12-14 04:23:09 +01:00
marc 5443898266 test 2022-12-13 18:21:29 +01:00
marc 05df8e7513 fuck the context 2022-12-13 16:10:30 +01:00
marc 0d5a03aaaa somehow forgot 2022-12-13 16:08:05 +01:00
marc 0eb934dad7 Merge branch 'master' into staging 2022-12-13 16:05:46 +01:00
marc f53f610d65 file instead of dockerfile 2022-12-13 16:05:37 +01:00
marc b0bb350c3c Merge branch 'master' into staging 2022-12-13 15:56:54 +01:00
marc 059d957f09 attachable 2022-12-13 15:56:39 +01:00
marc 8c383add3a Merge branch 'master' into staging 2022-12-13 15:40:55 +01:00
marc 83d5d75bff commenting readme 2022-12-13 15:40:46 +01:00
marc 39a50ad2a4 Merge branch 'master' into staging 2022-12-13 15:25:15 +01:00
marc a097bb11a7 cors allow staging 2022-12-13 15:25:08 +01:00
marc fd4f021eec Merge branch 'master' into staging 2022-12-12 19:55:37 +01:00
marc 031e2ae992 staging container name 2022-12-12 19:55:29 +01:00
marc cde020e710 build and push 2022-12-12 18:39:48 +01:00
marc fe106b43ca back and front staging 2022-12-12 18:35:20 +01:00
marc 30c403deb6 readme 2022-12-12 18:30:44 +01:00
marc 5efe9e29ef docker-compose.infra.yml (#7)
Finally staging env
2022-12-12 18:25:02 +01:00
marc bf1eb19369 yarn.lock
Docker build test / build-back (push) Canceled after 0s
Docker build test / build-front (push) Canceled after 0s
2022-12-12 18:09:56 +01:00
marc 5f3eb5399e dev no prod 2022-12-12 17:54:58 +01:00
marc b14654d2a5 back dockerfile fix 2022-12-12 17:49:20 +01:00
marc 4d4a423a6c no expose 2022-12-12 17:38:27 +01:00
marc 79db3c1fcf 127 2022-12-07 15:23:07 +01:00
marc 13ff5bafe7 localhost no sockets 2022-12-07 15:22:34 +01:00
marc 5041afe20d fix 2022-12-07 15:20:37 +01:00
marc 40cf30d84e mounting sockets 2022-12-07 15:18:51 +01:00
marc 0ac9e861eb fix dockerfile front 2022-12-05 01:45:33 +01:00
marc 083c62bf5d no mysql 2022-12-04 23:54:51 +01:00
marc d377682495 docker-compose.staging.yml 2022-12-04 23:51:03 +01:00
marc 5e93d72f14 fix logs 2022-11-14 11:08:40 +01:00
marc 66839cf38b Merge pull request #6 from numeris-isep/marc-contrib 2022-11-05 22:54:44 +01:00
marc 99c79ab92f Merge pull request #5 from numeris-isep/added-github-action 2022-11-05 22:54:22 +01:00
marc 51dbf08c41 Merge pull request #4 from numeris-isep/fixed-docker 2022-11-05 22:54:01 +01:00
marc fc8c1611fa Merge pull request #3 from numeris-isep/fixed-back 2022-11-05 22:53:38 +01:00
marc 13bfdf606d Merge pull request #2 from numeris-isep/fixed-front 2022-11-05 22:53:21 +01:00
marc 4dc06d439d added github action support
Docker build test / build-back (push) Canceled after 0s
Docker build test / build-front (push) Canceled after 0s
2022-10-26 07:29:45 +02:00
marc 826bf35bc4 fixed docker compose files 2022-10-26 07:28:39 +02:00
marc a61a4d76ff fixed the back 2022-10-26 07:27:30 +02:00
marc c364757cf4 fixed the front 2022-10-26 07:26:34 +02:00
marc a4409fe221 marc 2022-10-21 22:11:25 +02:00
28 changed files with 9627 additions and 13045 deletions
+3 -1
View File
@@ -4,6 +4,8 @@
.vscode
.DS_Store
docker-compose*.yml
.env
.env.template
# Back
back/.DS_Store
@@ -17,4 +19,4 @@ var
# Front
front/.DS_Store
front/node_modules/
front/dist/
front/dist/
-31
View File
@@ -1,31 +0,0 @@
name: Docker
on:
push:
branches:
- "*"
- "!master"
# Publish `v1.2.3` tags as releases.
tags:
- v*
# Run tests for any PRs.
pull_request:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Fake env file
run: touch .env
- name: Build
run: docker-compose -f docker-compose.production.yml build back
-38
View File
@@ -1,38 +0,0 @@
name: Docker
on:
push:
branches:
- "master"
# Publish `v1.2.3` tags as releases.
tags:
- v*
# Run tests for any PRs.
pull_request:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push Docker images
uses: docker/build-push-action@v3
with:
context: back
dockerfile: Dockerfile.production
push: true
tags: marcpartensky/numeris-back:latest
+91
View File
@@ -0,0 +1,91 @@
name: Deploy production
on:
push:
branches:
- "master"
# Publish `v1.2.3` tags as releases.
tags:
- v*
jobs:
build-front:
name: Build front
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push front
uses: docker/build-push-action@v3
with:
context: front
file: front/Dockerfile.production
push: true
tags: numerisisep/numeris-front:prod
cache-from: type=gha
cache-to: type=gha
build-back:
name: Build back
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push back
uses: docker/build-push-action@v3
with:
context: back
file: back/Dockerfile.production
push: true
tags: numerisisep/numeris-back:prod
cache-from: type=gha
cache-to: type=gha
pull-and-recreate:
name: Pull and recreate
needs:
- build-front
- build-back
runs-on: ubuntu-latest
steps:
- name: executing remote ssh commands using password
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
# password: ${{ secrets.PASSWORD }}
key: ${{ secrets.KEY }}
port: ${{ secrets.PORT }}
script: |
cd numeris
git pull
docker-compose -f docker-compose.infra.yml pull
docker-compose -f docker-compose.infra.yml rm -f front back
docker-compose -f docker-compose.infra.yml up -d front back
docker system prune -a
# storage is limited so we clean
+91
View File
@@ -0,0 +1,91 @@
name: Deploy staging
on:
push:
branches:
- "staging"
tags:
- v*
jobs:
build-front:
name: Build and push front
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push front
uses: docker/build-push-action@v3
with:
build-args: ENVIRONMENT=staging
context: front
file: front/Dockerfile.production
push: true
tags: numerisisep/numeris-front:staging
cache-from: type=gha
cache-to: type=gha
build-back:
name: Build and push back
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push back
uses: docker/build-push-action@v3
with:
build-args: ENVIRONMENT=staging
context: back
file: back/Dockerfile.production
push: true
tags: numerisisep/numeris-back:staging
cache-from: type=gha
cache-to: type=gha
pull-and-recreate:
name: Pull and recreate
needs:
- build-front
- build-back
runs-on: ubuntu-latest
steps:
- name: executing remote ssh commands using password
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
# password: ${{ secrets.PASSWORD }}
key: ${{ secrets.KEY }}
port: ${{ secrets.PORT }}
script: |
cd numeris
git pull
docker-compose -f docker-compose.infra.yml pull
docker-compose -f docker-compose.infra.yml rm -f front-staging back-staging
docker-compose -f docker-compose.infra.yml up -d front-staging back-staging
docker system prune -a
# storage is limited so we clean
+111
View File
@@ -0,0 +1,111 @@
name: Test docker build
on:
push:
branches:
- "*"
- "!master"
- "!staging"
# Publish `v1.2.3` tags as releases.
tags:
- v*
# Run tests for any PRs.
pull_request:
jobs:
back-prod:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Fake env file
run: touch .env
- name: Build back prod
uses: docker/build-push-action@v3
with:
context: back
dockerfile: Dockerfile.production
push: false
tags: numerisisep/back:prod
cache-from: type=gha
cache-to: type=gha
front-prod:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Fake env file
run: touch .env
- name: Build front prod
uses: docker/build-push-action@v3
with:
context: front
dockerfile: Dockerfile.production
push: false
tags: numerisisep/front:prod
cache-from: type=gha
cache-to: type=gha
back-dev:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Fake env file
run: touch .env
- name: Build back dev
uses: docker/build-push-action@v3
with:
context: back
dockerfile: Dockerfile
push: false
tags: numerisisep/back:dev
cache-from: type=gha
cache-to: type=gha
front-dev:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Fake env file
run: touch .env
- name: Build front dev
uses: docker/build-push-action@v3
with:
context: front
dockerfile: Dockerfile
push: false
tags: numerisisep/front:dev
cache-from: type=gha
cache-to: type=gha
+2 -1
View File
@@ -1,4 +1,5 @@
.idea/
.vscode/
.env
var/
.env*
var/
+5 -1
View File
@@ -1,6 +1,10 @@
[![Deploy production](https://github.com/numeris-isep/numeris-v2/actions/workflows/prod.yml/badge.svg?branch=master)](https://github.com/numeris-isep/numeris-v2/actions/workflows/prod.yml)
[![Deploy staging](https://github.com/numeris-isep/numeris-v2/actions/workflows/staging.yml/badge.svg?branch=staging)](https://github.com/numeris-isep/numeris-v2/actions/workflows/staging.yml)
[![Test docker build](https://github.com/numeris-isep/numeris-v2/actions/workflows/test.yml/badge.svg)](https://github.com/numeris-isep/numeris-v2/actions/workflows/test.yml)
# Numeris-v2
[![Build Status](https://travis-ci.com/2Seg/numeris-v2.svg?branch=master)](https://travis-ci.com/2Seg/numeris-v2)
<!-- [![Build Status](https://travis-ci.com/2Seg/numeris-v2.svg?branch=master)](https://travis-ci.com/2Seg/numeris-v2) -->
> Created and maintened by [2Seg](https://github.com/2Seg)
+4
View File
@@ -1,4 +1,8 @@
Dockerfile
Dockerfile.production
.DS_Store
vendor
public/storage
public/build
.env
.env.template
+10 -3
View File
@@ -17,11 +17,15 @@ RUN docker-php-ext-install pdo_mysql gd zip
COPY --from=composer /usr/bin/composer /usr/bin/composer
# Enable apache conf
COPY docker/apache/numeris.conf /etc/apache2/sites-available/numeris.conf
RUN a2dissite 000-default.conf && a2ensite numeris.conf && a2enmod rewrite && service apache2 restart
RUN a2dissite 000-default.conf && \
a2ensite numeris.conf && \
a2enmod headers && \
a2enmod rewrite && \
service apache2 restart
# Enable php conf
COPY docker/php/php.ini /usr/local/etc/php/conf.d/default.ini
WORKDIR /opt/numeris
WORKDIR /home/numeris
COPY . .
# Composer install
@@ -31,5 +35,8 @@ RUN composer install --no-interaction
RUN apt-get clean && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
RUN usermod -u 1000 www-data
RUN chown -R www-data:www-data /opt/numeris
RUN chown -R www-data:www-data /home/numeris
RUN chown -R www-data:www-data /var/log/apache2/
# ENTRYPOINT [ "/home/numeris/entrypoint.sh" ]
ENTRYPOINT ["php", "artisan", "serve", "--host", "0.0.0.0", "--port", "8080"]
+9 -3
View File
@@ -15,11 +15,15 @@ RUN docker-php-ext-install pdo_mysql gd zip
COPY --from=composer /usr/bin/composer /usr/bin/composer
# Enable apache conf
COPY docker/apache/numeris.conf /etc/apache2/sites-available/numeris.conf
RUN a2dissite 000-default.conf && a2ensite numeris.conf && a2enmod rewrite && service apache2 restart
RUN a2dissite 000-default.conf && \
a2ensite numeris.conf && \
a2enmod headers && \
a2enmod rewrite && \
service apache2 restart
# Enable php conf
COPY docker/php/php.ini /usr/local/etc/php/conf.d/default.ini
WORKDIR /opt/numeris
WORKDIR /home/numeris
COPY . .
### Back config ###
@@ -29,8 +33,10 @@ RUN composer install --optimize-autoloader --no-dev --no-interaction
RUN apt-get clean && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
RUN usermod -u 1000 www-data
RUN chown -R www-data:www-data /opt/numeris
RUN chown -R www-data:www-data /home/numeris
RUN chown -R www-data:www-data /var/log/apache2/
RUN php artisan config:cache
RUN php artisan route:cache
ENTRYPOINT [ "/home/numeris/entrypoint.sh" ]
+11 -3
View File
@@ -1,7 +1,11 @@
{
"name": "2seg/numeris-v2",
"description": "Home of the new website of Numéris.",
"keywords": ["Numéris", "association", "website"],
"keywords": [
"Numéris",
"association",
"website"
],
"license": "MIT",
"type": "project",
"authors": [
@@ -14,6 +18,11 @@
"name": "MinhNam Nguyen",
"email": "nguyen.minhnam@hotmail.fr",
"role": "Developer"
},
{
"name": "Marc Partensky",
"email": "marc@marcpartensky.com",
"role": "Developer"
}
],
"require": {
@@ -51,8 +60,7 @@
},
"extra": {
"laravel": {
"dont-discover": [
]
"dont-discover": []
}
},
"scripts": {
+14 -2
View File
@@ -6,10 +6,22 @@
# Force HTTPS when X-Forwarded-Proto is passed as HTTPS
# Useful when the reverse proxy is in HTTPS
SetEnvIf x-forwarded-proto https HTTPS=on
# Header set Access-Control-Allow-Origin "*"
# Header set Access-Control-Allow-Origin "numeris-isep.fr"
# Header add Access-Control-Allow-Origin "https://numeris-isep.fr"
# Header add Access-Control-Allow-Origin "https://staging.numeris-isep.fr"
# Header always append Access-Control-Allow-Origin: "https://numeris-isep.fr"
# Header always append Access-Control-Allow-Origin: "https://staging.numeris-isep.fr"
# Header always append Access-Control-Allow-Origin: "https://api.numeris-isep.fr"
# Header always append Access-Control-Allow-Origin: "https://api.staging.numeris-isep.fr"
SetEnvIf Origin "http(s)?://(www\.)?(staging\.)?numeris-isep.fr$" AccessControlAllowOrigin=$0
Header add Access-Control-Allow-Origin %{AccessControlAllowOrigin}e env=AccessControlAllowOrigin
Header set Access-Control-Allow-Credentials true
AllowOverride All
Require all granted
LogLevel debug
</Directory>
ErrorLog /var/log/apache2/numeris-error.log
CustomLog /var/log/apache2/numeris-access.log combined
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined
</VirtualHost>
+12
View File
@@ -0,0 +1,12 @@
#!/usr/bin/env sh
php artisan key:generate
# php artisan key:generate --force
php artisan jwt:secret
# php artisan jwt:secret --force
# php artisan cache:clear
php artisan config:clear
php artisan migrate:refresh
docker-php-entrypoint
apache2-foreground
+116
View File
@@ -0,0 +1,116 @@
version: "3.9"
services:
caddy:
image: lucaslorentz/caddy-docker-proxy:ci-alpine
restart: unless-stopped
environment:
CADDY_INGRESS_NETWORKS: caddy
ports:
- "80:80"
- "443:443"
volumes:
# docker rootless daemon socket https://docs.docker.com/engine/security/rootless/
- /var/run/docker.sock:/var/run/docker.sock
- caddy_data:/data
networks:
- caddy
healthcheck:
test: ["CMD", "curl", "-f", "localhost:80"]
phpmyadmin:
image: phpmyadmin/phpmyadmin:latest
container_name: numeris_phpmyadmin
restart: unless-stopped
ports:
- 3000:80
links:
- mysql:db
depends_on:
- mysql
networks:
- caddy
- mysql
labels:
caddy: phpmyadmin.numeris-isep.fr
caddy.reverse_proxy: "{{upstreams 80}}"
mysql:
image: mysql:5.7
container_name: numeris_mysql
restart: unless-stopped
networks:
- mysql
ports:
- 127.0.0.1:3306:3306
env_file:
- .env
volumes:
- ./var/mysql:/var/lib/mysql
# - /var/run/mysqld:/var/run/mysqld
back:
image: numerisisep/numeris-back:prod
container_name: numeris_back
restart: unless-stopped
networks:
- caddy
- mysql
env_file:
- .env
volumes:
- .env:/home/numeris/.env
depends_on:
- mysql
labels:
caddy: api.numeris-isep.fr
caddy.reverse_proxy: "{{upstreams 80}}"
front:
image: numerisisep/numeris-front:prod
container_name: numeris_front
restart: unless-stopped
networks:
- caddy
labels:
caddy: numeris-isep.fr
caddy.reverse_proxy: "{{upstreams 80}}"
back-staging:
image: numerisisep/numeris-back:staging
container_name: numeris_back_staging
restart: unless-stopped
networks:
- caddy
- mysql
env_file:
- .env.staging
volumes:
- .env.staging:/home/numeris/.env
depends_on:
- mysql
labels:
caddy: api.staging.numeris-isep.fr
caddy.reverse_proxy: "{{upstreams 80}}"
front-staging:
image: numerisisep/numeris-front:staging
container_name: numeris_front_staging
restart: unless-stopped
networks:
- caddy
labels:
caddy: staging.numeris-isep.fr
caddy.reverse_proxy: "{{upstreams 80}}"
networks:
caddy:
name: caddy
# external: true
attachable: true
mysql:
volumes:
caddy_data:
mysql:
-34
View File
@@ -1,34 +0,0 @@
version: "3.9"
services:
phpmyadmin:
image: phpmyadmin/phpmyadmin:latest
restart: unless-stopped
ports:
- 3000:80
links:
- mysql:db
depends_on:
- mysql
mysql:
image: mysql:5.7
restart: unless-stopped
env_file:
- .env
volumes:
- mysql:/var/lib/mysql
back:
build:
context: ./back
dockerfile: Dockerfile
env_file:
- .env
links:
- mysql
depends_on:
- mysql
volumes:
mysql:
-28
View File
@@ -1,28 +0,0 @@
version: '3'
services:
mysql:
image: mysql:5.7
environment:
MYSQL_DATABASE: 'numeris_testing'
MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
container_name: numeris_mysql
back:
build:
context: ./back
dockerfile: Dockerfile
environment:
DB_CONNECTION: testing
DB_HOST_TESTING: mysql
DB_PORT_TESTING: 3306
DB_DATABASE_TESTING: numeris_testing
DB_USERNAME_TESTING: root
DB_PASSWORD_TESTING:
ports:
- 8080:80
links:
- mysql
depends_on:
- mysql
container_name: numeris_back
+15 -18
View File
@@ -3,45 +3,46 @@ services:
phpmyadmin:
image: phpmyadmin/phpmyadmin:latest
container_name: numeris_phpmyadmin
ports:
- 3000:80
links:
- mysql:db
depends_on:
- mysql
container_name: numeris_phpmyadmin
mysql:
image: mysql:5.7
environment:
MYSQL_DATABASE: 'numeris'
MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
container_name: numeris_mysql
environment:
MYSQL_DATABASE: 'numeris_testing'
MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
back:
image: numerisisep/back:dev
container_name: numeris_back
build:
context: ./back
dockerfile: Dockerfile
env_file:
- back/.env
environment:
DB_HOST: ${DB_HOST}
DB_PORT: ${DB_PORT}
DB_DATABASE: ${DB_DATABASE}
DB_USERNAME: ${DB_USERNAME}
DB_PASSWORD: ${DB_PASSWORD}
DB_HOST: mysql
DB_PORT: 3306
DB_DATABASE: numeris_testing
DB_USERNAME: root
DB_PASSWORD: ""
volumes:
- ./back:/home/numeris
- /home/numeris/vendor
ports:
- ${BACK_PORT}:80
- ${BACK_PORT:-8000}:8000
links:
- mysql
depends_on:
- mysql
container_name: numeris_back
front:
image: numerisisep/front:dev
container_name: numeris_front
build:
context: ./front
dockerfile: Dockerfile
@@ -50,9 +51,5 @@ services:
- /home/numeris/node_modules
links:
- back
expose:
- ${FRONT_PORT}
ports:
- ${FRONT_PORT}:${FRONT_PORT}
command: ng s --host 0.0.0.0
container_name: numeris_front
- ${FRONT_PORT:-8080}:80
+1
View File
@@ -1,3 +1,4 @@
.DS_Store
node_modules/
dist/
Dockerfile
+9 -18
View File
@@ -1,18 +1,9 @@
FROM node:11.15.0
RUN mkdir -p /home/numeris
ENV PATH /home/numeris/node_modules/.bin:$PATH
COPY package*.json /home/numeris/
# npm install
WORKDIR /home/numeris
RUN npm install
RUN npm install -g @angular/cli@7.3.9
COPY . /home/numeris
RUN npm rebuild node-sass
WORKDIR /home/numeris
FROM node:11.15.0 as builder
WORKDIR /opt/numeris
ENV PATH /opt/numeris/node_modules/.bin:$PATH
COPY package.json yarn.lock /opt/numeris/
RUN yarn install
# RUN yarn add -g @angular/cli@7.3.9
COPY . .
RUN yarn run build
ENTRYPOINT [ "ng", "serve", "--port", "80" ]
+18
View File
@@ -0,0 +1,18 @@
FROM node:11.15.0 as builder
ARG ENVIRONMENT=production
WORKDIR /opt/numeris
ENV PATH /opt/numeris/node_modules/.bin:$PATH
COPY package.json /opt/numeris/
COPY yarn.lock /opt/numeris/
RUN yarn install
COPY . .
RUN yarn run build-$ENVIRONMENT
ENTRYPOINT [ "ng", "serve", "--configuration", "$ENVIRONMENT", "--port", "80" ]
FROM nginx
COPY nginx/nginx.conf /etc/nginx/conf.d/default.conf
COPY nginx/mime.types /etc/nginx/mime.types
RUN rm -rf /usr/share/nginx/html/*
COPY --from=builder /opt/numeris/dist /usr/share/nginx/html
EXPOSE 80
ENTRYPOINT ["nginx", "-g", "daemon off;"]
+19
View File
@@ -47,6 +47,25 @@
"buildOptimizer": true,
"serviceWorker": true,
"ngswConfigPath": "src/ngsw-config.json"
},
"staging": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.staging.ts"
}
],
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"extractCss": true,
"namedChunks": false,
"aot": true,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": true,
"serviceWorker": true,
"ngswConfigPath": "src/ngsw-config.json"
}
}
},
+100
View File
@@ -0,0 +1,100 @@
types {
text/html html htm shtml;
text/css css;
text/xml xml;
image/gif gif;
image/jpeg jpeg jpg;
application/javascript js;
application/atom+xml atom;
application/rss+xml rss;
text/mathml mml;
text/plain txt;
text/plain js;
text/vnd.sun.j2me.app-descriptor jad;
text/vnd.wap.wml wml;
text/x-component htc;
image/avif avif;
image/png png;
image/svg+xml svg svgz;
image/tiff tif tiff;
image/vnd.wap.wbmp wbmp;
image/webp webp;
image/x-icon ico;
image/x-jng jng;
image/x-ms-bmp bmp;
font/woff woff;
font/woff2 woff2;
application/java-archive jar war ear;
application/json json;
application/mac-binhex40 hqx;
application/msword doc;
application/pdf pdf;
application/postscript ps eps ai;
application/rtf rtf;
application/vnd.apple.mpegurl m3u8;
application/vnd.google-earth.kml+xml kml;
application/vnd.google-earth.kmz kmz;
application/vnd.ms-excel xls;
application/vnd.ms-fontobject eot;
application/vnd.ms-powerpoint ppt;
application/vnd.oasis.opendocument.graphics odg;
application/vnd.oasis.opendocument.presentation odp;
application/vnd.oasis.opendocument.spreadsheet ods;
application/vnd.oasis.opendocument.text odt;
application/vnd.openxmlformats-officedocument.presentationml.presentation
pptx;
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
xlsx;
application/vnd.openxmlformats-officedocument.wordprocessingml.document
docx;
application/vnd.wap.wmlc wmlc;
application/wasm wasm;
application/x-7z-compressed 7z;
application/x-cocoa cco;
application/x-java-archive-diff jardiff;
application/x-java-jnlp-file jnlp;
application/x-makeself run;
application/x-perl pl pm;
application/x-pilot prc pdb;
application/x-rar-compressed rar;
application/x-redhat-package-manager rpm;
application/x-sea sea;
application/x-shockwave-flash swf;
application/x-stuffit sit;
application/x-tcl tcl tk;
application/x-x509-ca-cert der pem crt;
application/x-xpinstall xpi;
application/xhtml+xml xhtml;
application/xspf+xml xspf;
application/zip zip;
application/octet-stream bin exe dll;
application/octet-stream deb;
application/octet-stream dmg;
application/octet-stream iso img;
application/octet-stream msi msp msm;
audio/midi mid midi kar;
audio/mpeg mp3;
audio/ogg ogg;
audio/x-m4a m4a;
audio/x-realaudio ra;
video/3gpp 3gpp 3gp;
video/mp2t ts;
video/mp4 mp4;
video/mpeg mpeg mpg;
video/quicktime mov;
video/webm webm;
video/x-flv flv;
video/x-m4v m4v;
video/x-mng mng;
video/x-ms-asf asx asf;
video/x-ms-wmv wmv;
video/x-msvideo avi;
}
+18
View File
@@ -0,0 +1,18 @@
server {
gzip on;
gzip_types text/plain text/css application/javascript;
gzip_proxied no-cache no-store private expired auth;
gzip_min_length 1000;
listen 80;
server_name 0.0.0.0;
root /usr/share/nginx/html;
index index.html;
location / {
try_files $uri $uri/ /index.html;
# types { application/octet-stream .pdf; }
}
location ~* \.pdf$ {
add_header Content-disposition "attachment; filename=$1";
}
}
-12862
View File
File diff suppressed because it is too large Load Diff
+3 -2
View File
@@ -6,7 +6,8 @@
"start": "ng serve",
"start-http": "http-server -c-1 dist",
"build": "ng build",
"build-prod": "ng build --prod --output-path dist",
"build-production": "ng build --prod --c=production --output-path dist",
"build-staging": "ng build --prod -c=staging --output-path dist",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
@@ -60,6 +61,6 @@
"protractor": "~5.4.2",
"ts-node": "~8.0.3",
"tslint": "~5.14.0",
"typescript": "^3.2.4"
"typescript": "3.1.1"
}
}
@@ -0,0 +1,8 @@
export const environment = {
production: true,
apiUrl: 'https://api.staging.numeris-isep.fr',
tokenName: 'numeris_token',
savEmail: 'sav.numeris@gmail.com',
messengerUrl: 'http://m.me/numerisisep',
captchaKey: '6Le3-skUAAAAAFQd5ffXB1PnyQUQDPsgQH4n1neo',
};
+8957
View File
File diff suppressed because it is too large Load Diff