Container build: add ansible build, add nginx
All checks were successful
/ build (push) Successful in 1m10s

This commit is contained in:
phil 2024-10-24 02:13:36 +02:00
parent ca9fc055fa
commit d2eb7f7a1d
3 changed files with 99 additions and 1 deletions

View file

@ -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
View 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
View 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;
}