Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .github/workflows/publish-docker-beta.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,14 @@ jobs:
php-variation: fullstack-http
checkout-type: branch
secrets: inherit
fullstack-fp:
uses: ./.github/workflows/service_docker-build-and-publish.yml
with:
upstream-channel-prefix: "beta-"
tag-prefix: "beta-"
php-variation: fullstack-fp
checkout-type: branch
secrets: inherit
franken:
uses: ./.github/workflows/service_docker-build-and-publish-franken.yml
with:
Expand Down
8 changes: 8 additions & 0 deletions .github/workflows/publish-docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,14 @@ jobs:
php-variation: fullstack-http
checkout-type: latest-stable
secrets: inherit
fullstack-fp:
uses: ./.github/workflows/service_docker-build-and-publish.yml
with:
upstream-channel-prefix: ""
tag-prefix: ""
php-variation: fullstack-fp
checkout-type: latest-stable
secrets: inherit
franken:
uses: ./.github/workflows/service_docker-build-and-publish-franken.yml
with:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ jobs:
strategy:
matrix:
php-version:
- "8.2"
- "8.3"
- "8.4"
- "8.5"
steps:
##
# Checkout branch (for push deployments)
Expand Down
5 changes: 1 addition & 4 deletions .github/workflows/service_docker-build-and-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,9 @@ jobs:
strategy:
matrix:
php-version:
- "7.4"
- "8.0"
- "8.1"
- "8.2"
- "8.3"
- "8.4"
- "8.5"
steps:
##
# Checkout branch (for push deployments)
Expand Down
67 changes: 67 additions & 0 deletions src/fullstack-fp/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
ARG NODE_VERSION='22.16.0'
ARG PHP_VERSION='8.3'
ARG BASE_IMAGE="serversideup/php:${PHP_VERSION}-frankenphp-bookworm"

FROM node:${NODE_VERSION}-slim AS node

FROM oven/bun:debian AS bun

FROM ${BASE_IMAGE}

LABEL maintainer="Qisthi Ramadhani (https://qisthi.dev)"

ENV PHP_OPCACHE_ENABLE=1

USER root

RUN install-php-extensions gd exif bcmath mongodb && \
apt-get update && \
apt-get install -y --no-install-recommends git unzip bash && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*

# Install node and npm
COPY --from=node /usr/lib /usr/lib
COPY --from=node /usr/local/lib /usr/local/lib
COPY --from=node /usr/local/include /usr/local/include
COPY --from=node /usr/local/bin /usr/local/bin
COPY --from=node /opt/yarn-v1.22.22 /opt/yarn-v1.22.22

# Install bun
COPY --from=bun /usr/local/bin /usr/local/bin

# Install sonar-scanner
RUN apt-get update && \
apt-get install -y --no-install-recommends curl unzip && \
if [ "$(uname -m)" = "aarch64" ]; then \
# aarch64
curl https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-6.2.1.4610-linux-aarch64.zip --output /tmp/sonar-scanner.zip && \
SONAR_DIR="sonar-scanner-6.2.1.4610-linux-aarch64" ; \
else \
# x86_64
curl https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-6.2.1.4610-linux-x64.zip --output /tmp/sonar-scanner.zip && \
SONAR_DIR="sonar-scanner-6.2.1.4610-linux-x64" ; \
fi && \
unzip /tmp/sonar-scanner.zip -d /opt && \
ln -s /opt/${SONAR_DIR}/bin/sonar-scanner /usr/local/bin/sonar-scanner && \
rm /tmp/sonar-scanner.zip && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*

# Clean up
RUN rm -rf /tmp/* /var/tmp/*

# Drop back to our unprivileged user
USER www-data

RUN composer global config allow-plugins.gmta/composer-velocita true && \
composer global require gmta/composer-velocita && \
git config --global --add safe.directory /builds

# Copy shell aliases to both root and www-data user homes
COPY shell/aliases.sh /root/.aliases.sh
COPY shell/aliases.sh /var/www/.aliases.sh

# Copy shell configuration
COPY shell/bashrc /root/.sh
Copy link

Copilot AI Jan 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The file path appears to be incorrect. The target path is /root/.sh but should likely be /root/.bashrc to match the naming convention and the corresponding www-data user configuration on line 67.

Suggested change
COPY shell/bashrc /root/.sh
COPY shell/bashrc /root/.bashrc

Copilot uses AI. Check for mistakes.
COPY shell/bashrc /var/www/.bashrc
9 changes: 9 additions & 0 deletions src/fullstack-fp/shell/aliases.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# -- Aliases ------------------------------------------
alias a="php artisan"
alias art="php artisan"
alias migrate="php artisan migrate"
alias seed="php artisan db:seed"
alias fresh="php artisan migrate:fresh"
alias c="composer"
alias test="php artisan test"
alias routes="php artisan route:list"
21 changes: 21 additions & 0 deletions src/fullstack-fp/shell/bashrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#!/bin/bash

# Set LS color options
export LS_OPTIONS='--color=auto'

# Define common aliases
alias ls='ls $LS_OPTIONS'
alias ll='ls $LS_OPTIONS -l'
alias l='ls $LS_OPTIONS -lA'

# Safety aliases
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

# Source aliases file if it exists
if [ -f ~/.aliases.sh ]; then
source ~/.aliases.sh
else
echo "404: ~/.aliases.sh not found."
fi
Loading