Initial commit
Some checks failed
Build & Push Docker Image to Registry / build (release) Failing after 26s

This commit is contained in:
Javier Feliz 2025-07-16 12:14:43 -04:00
commit d73d0234e1
4 changed files with 105 additions and 0 deletions

39
.env.docker Normal file
View File

@ -0,0 +1,39 @@
APP_NAME=FlowTODO
APP_ENV=production
APP_KEY=
APP_TIMEZONE="America/New_York"
APP_LOCALE=en
APP_FALLBACK_LOCALE=en
APP_FAKER_LOCALE=en_US
APP_MAINTENANCE_DRIVER=file
# APP_MAINTENANCE_STORE=database
PHP_CLI_SERVER_WORKERS=4
BCRYPT_ROUNDS=12
LOG_CHANNEL=stack
LOG_STACK=single
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug
DB_CONNECTION=sqlite
SESSION_DRIVER=database
SESSION_LIFETIME=120
SESSION_ENCRYPT=false
SESSION_PATH=/
SESSION_DOMAIN=null
BROADCAST_CONNECTION=log
FILESYSTEM_DISK=local
QUEUE_CONNECTION=database
CACHE_STORE=database
# CACHE_PREFIX=flowtodo
MEMCACHED_HOST=127.0.0.1
OCTANE_SERVER=frankenphp

26
.github/workflows/build.yml vendored Normal file
View File

@ -0,0 +1,26 @@
name: Build & Push Docker Image to Registry
on:
release:
types: [published]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build and push Docker image
uses: docker/build-push-action@v5
with:
context: .
file: ./Dockerfile
push: true
tags: |
gitgud.foo/thegrind/laravel-base:latest
gitgud.foo/thegrind/laravel-base:${{ github.event.release.tag_name }}

22
Dockerfile Normal file
View File

@ -0,0 +1,22 @@
FROM dunglas/frankenphp
RUN install-php-extensions \
pcntl \
pdo \
pdo_pgsql \
pdo_mysql \
pdo_sqlite
# Add other PHP extensions here...
# Get the app in there
COPY . /app
# Set up entrypoint script
COPY ./docker/entrypoint.sh /usr/local/bin/entrypoint.sh
COPY ./docker/.env.docker /app/.env
RUN chmod +x /usr/local/bin/entrypoint.sh
RUN touch /app/database/database.sqlite && chmod 777 /app/database/database.sqlite
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]

18
entrypoint.sh Normal file
View File

@ -0,0 +1,18 @@
#!/bin/sh
set -e
php /app/artisan migrate --force
php /app/artisan storage:link
# Generate only if no key is set in env or config
if [ -z "$APP_KEY" ]; then
echo "Generating APP_KEY..."
php /app/artisan key:generate --force
fi
php /app/artisan config:clear
php /app/artisan config:cache
php /app/artisan view:cache
# exec php /app/artisan octane:frankenphp
exec php /app/artisan octane:start --server=frankenphp --host=0.0.0.0 --admin-port=2019 --port=8000