chore(Dockerfile): build and deploy via Docker, remove Nixpacks

This commit is contained in:
Cory Dransfeldt 2025-04-28 10:22:43 -07:00
parent 0c9904750c
commit 454ab293a4
No known key found for this signature in database
4 changed files with 59 additions and 18 deletions

56
Dockerfile Normal file
View file

@ -0,0 +1,56 @@
FROM node:20-bullseye
# install system dependencies
RUN apt-get update && apt-get install -y \
git \
openssh-client \
rsync \
curl \
php-cli \
php-mbstring \
jq \
&& rm -rf /var/lib/apt/lists/*
# set working directory
WORKDIR /workdir
# build time args
ARG GIT_REPO
ARG GIT_BRANCH=main
# clone source
RUN git clone --depth 1 --branch ${GIT_BRANCH} ${GIT_REPO} app
# move into app directory
WORKDIR /workdir/app
# build-time env vars
ARG POSTGREST_API_KEY
ARG POSTGREST_URL
# export vars for build staps
ENV POSTGREST_API_KEY=${POSTGREST_API_KEY}
ENV POSTGREST_URL=${POSTGREST_URL}
# clean npm cache
RUN npm cache clean --force
# install deps
RUN npm install
# build
RUN npm run build
# set runtime env vars
ARG SERVER_IP
ENV SERVER_IP=${SERVER_IP}
# deploy and manage container healthcheck
CMD bash -c "\
mkdir -p ~/.ssh && \
echo \"${SSH_PRIVATE_KEY}\" > ~/.ssh/id_rsa && \
chmod 600 ~/.ssh/id_rsa && \
ssh-keyscan -H \"${SERVER_IP}\" >> ~/.ssh/known_hosts && \
rsync -avz --delete dist/ root@\"${SERVER_IP}\":/var/www/coryd.dev/ && \
echo \"✅ Deployed successfully\" && \
tail -f /dev/null"

View file

@ -1,15 +0,0 @@
[phases.setup]
aptPkgs = [
"curl",
"wget",
"zip",
"unzip",
"php-cli",
"php-mbstring",
"openssh-client",
"rsync",
"jq"
]
cmds = [
"curl -sS https://getcomposer.org/installer | php && mv composer.phar /usr/bin/composer && chmod +x /usr/bin/composer",
]

4
package-lock.json generated
View file

@ -1,12 +1,12 @@
{
"name": "coryd.dev",
"version": "3.3.5",
"version": "3.4.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "coryd.dev",
"version": "3.3.5",
"version": "3.4.0",
"license": "MIT",
"dependencies": {
"html-minifier-terser": "7.2.0",

View file

@ -1,6 +1,6 @@
{
"name": "coryd.dev",
"version": "3.3.5",
"version": "3.4.0",
"description": "The source for my personal site. Built using 11ty (and other tools).",
"type": "module",
"engines": {