Container build: add ansible build, add nginx
All checks were successful
/ build (push) Successful in 1m10s
All checks were successful
/ build (push) Successful in 1m10s
This commit is contained in:
parent
ca9fc055fa
commit
d2eb7f7a1d
3 changed files with 99 additions and 1 deletions
|
@ -4,4 +4,4 @@ MAINTAINER philo email phil.dev@philome.mooo.com
|
|||
EXPOSE 80
|
||||
|
||||
COPY nginx.conf /etc/nginx/nginx.conf
|
||||
COPY treetrail-app/dist/treetrail/browser /usr/share/nginx/html
|
||||
COPY dist/treetrail/browser /usr/share/nginx/html
|
||||
|
|
33
build.yaml
Normal file
33
build.yaml
Normal file
|
@ -0,0 +1,33 @@
|
|||
- name: Build containers
|
||||
hosts: localhost
|
||||
tasks:
|
||||
- name: Install dependencies
|
||||
command: pnpm install
|
||||
args:
|
||||
chdir: "{{ playbook_dir }}"
|
||||
|
||||
- name: Build the Angular app
|
||||
command: ng build
|
||||
args:
|
||||
chdir: "{{ playbook_dir }}"
|
||||
|
||||
- name: Get the version from git
|
||||
command: git describe --dirty --tags
|
||||
register: version
|
||||
args:
|
||||
chdir: "{{ playbook_dir }}"
|
||||
|
||||
- name: Build frontend container
|
||||
containers.podman.podman_image:
|
||||
name: "treetrail-frontend:{{ version.stdout }}"
|
||||
state: build
|
||||
path: "{{ playbook_dir }}"
|
||||
build:
|
||||
format: oci
|
||||
force_rm: yes
|
||||
cache: no
|
||||
file: Containerfile
|
||||
#quadlet_options:
|
||||
# - |
|
||||
# [Install]
|
||||
# WantedBy=default.target
|
65
nginx.conf
Normal file
65
nginx.conf
Normal file
|
@ -0,0 +1,65 @@
|
|||
events {
|
||||
worker_connections 1024; ## Default: 1024
|
||||
}
|
||||
|
||||
http {
|
||||
|
||||
## use mime types
|
||||
include /etc/nginx/mime.types;
|
||||
|
||||
server {
|
||||
|
||||
listen 80 default_server;
|
||||
server_name _;
|
||||
root /usr/share/nginx/html;
|
||||
|
||||
location = / {
|
||||
## Convevience redirect to redirect to the web root
|
||||
return 301 /treetrail/;
|
||||
}
|
||||
|
||||
location = /treetrail {
|
||||
## Convevience redirect to redirect to the web root
|
||||
return 301 /treetrail/;
|
||||
}
|
||||
|
||||
location /treetrail/ {
|
||||
alias /usr/share/nginx/html/;
|
||||
index index.html;
|
||||
try_files $uri $uri/ /index.html;
|
||||
}
|
||||
|
||||
location /treetrail/v1/ {
|
||||
proxy_set_header Host $http_host;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection $connection_upgrade;
|
||||
proxy_redirect off;
|
||||
proxy_buffering off;
|
||||
proxy_pass http://127.0.0.1:8081;
|
||||
}
|
||||
}
|
||||
|
||||
map $http_upgrade $connection_upgrade {
|
||||
default upgrade;
|
||||
'' close;
|
||||
}
|
||||
|
||||
## enable gzip compression
|
||||
gzip on;
|
||||
gzip_vary on;
|
||||
gzip_min_length 256;
|
||||
gzip_proxied any;
|
||||
|
||||
gzip_types
|
||||
## text/html is always compressed : https://nginx.org/en/docs/http/ngx_http_gzip_module.html
|
||||
text/plain
|
||||
text/css
|
||||
text/javascript
|
||||
application/javascript
|
||||
application/x-javascript
|
||||
application/xml
|
||||
application/json
|
||||
application/ld+json;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue