feat: _template

This commit is contained in:
AngeD 2023-09-18 10:08:05 +02:00
parent c0f4cee68f
commit e28b7c8ed9
6 changed files with 100 additions and 0 deletions

5
_template/.env Normal file
View File

@ -0,0 +1,5 @@
BASE_URL=subdomain.
EMAIL=
PUID=1000
PGID=1000

21
_template/Dockerfile Normal file
View File

@ -0,0 +1,21 @@
FROM docker.io/debian:12-slim as base
ENV DEBIAN_FRONTEND=noninteractive
WORKDIR /app/
FROM base as build
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
curl \
&& rm -rf /var/lib/apt/lists/*
ARG APP="http://app.com/download"
RUN curl -L "$APP" | tar xz --strip-components=1
FROM base
COPY --from=build /app/ .
COPY entrypoint.sh /usr/local/bin/
RUN useradd -m app
VOLUME /config/
EXPOSE 80
ENTRYPOINT ["entrypoint.sh"]
CMD ["./app"]

37
_template/compose.yaml Normal file
View File

@ -0,0 +1,37 @@
---
services:
install_site:
build: install_site
environment:
- BASE_URL
- EMAIL
volumes:
- ./nginx.conf:/web/app.conf
- sites:/sites/
- certs:/etc/letsencrypt/
- certbotroot:/var/www/certbot/
- /var/run/docker.sock:/var/run/docker.sock
app:
build: .
restart: unless-stopped
environment:
- PUID
- PGID
volumes:
- config:/config/
networks:
- nginx
volumes:
sites:
external: true
certs:
external: true
certbotroot:
external: true
config:
networks:
nginx:
external: true

13
_template/entrypoint.sh Executable file
View File

@ -0,0 +1,13 @@
#!/bin/bash
if [ -n "$PGID" ]; then
groupmod -g "$PGID" app
fi
if [ -n "$PUID" ]; then
usermod -u "$PUID" app
fi
chown -R app:app /config/
exec su app -c "$*"

1
_template/install_site Symbolic link
View File

@ -0,0 +1 @@
../_nginx/install_site

23
_template/nginx.conf Normal file
View File

@ -0,0 +1,23 @@
server {
listen 80;
listen [::]:80;
server_name $BASE_URL;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name $BASE_URL;
ssl_certificate /etc/letsencrypt/live/$BASE_URL/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/$BASE_URL/privkey.pem;
location / {
proxy_pass http://app;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
}
}