Simple docker implementation, still being worked on.

This commit is contained in:
Graphictoria 2022-05-14 13:01:35 -04:00
parent c7dd39954a
commit 22033a0d15
9 changed files with 81 additions and 7 deletions

2
build-docker-image.bat Normal file
View File

@ -0,0 +1,2 @@
cd web
docker-compose up --build graphictoria

19
web/.dockerignore Normal file
View File

@ -0,0 +1,19 @@
/node_modules
/public/mix-manifest.json
/public/js
/public/css
/public/fonts
/public/hot
/public/storage
/storage
/bootstrap/cache
/vendor
.env
.env.backup
.phpunit.result.cache
Homestead.json
Homestead.yaml
npm-debug.log
yarn-error.log
/.idea
/.vscode

37
web/Dockerfile Normal file
View File

@ -0,0 +1,37 @@
FROM node:18-alpine AS node
FROM composer:2.3.5
COPY --from=node /usr/local/lib/node_modules /usr/local/lib/node_modules
COPY --from=node /usr/local/bin/node /usr/local/bin/node
RUN ln -s /usr/local/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm
WORKDIR /gtoria
COPY . .
RUN mkdir ./bootstrap/cache \
&& mkdir ./storage \
&& mkdir ./storage/logs \
&& mkdir ./storage/framework \
&& mkdir ./storage/framework/cache \
&& mkdir ./storage/framework/sessions \
&& mkdir ./storage/framework/testing \
&& mkdir ./storage/framework/views \
&& mkdir ./storage/app \
&& mkdir ./storage/app/public
RUN composer install \
--no-interaction \
--no-plugins \
--no-scripts \
--no-dev \
--prefer-dist \
&& composer dump-autoload
RUN npm install && npm run prod
RUN php artisan optimize:clear
CMD php artisan serve --host=0.0.0.0 --port=1024
EXPOSE 1024

16
web/docker-compose.yml Normal file
View File

@ -0,0 +1,16 @@
version: '3'
services:
website:
build: .
ports:
- '1234:1234'
database:
image: 'mariadb'
environment:
MYSQL_ROOT_PASSWORD: 'test'
volumes:
- database-data:/graphictoria
volumes:
database-data:

View File

@ -6,7 +6,7 @@ import $ from 'jquery';
import React from 'react';
import { render } from 'react-dom';
import Feed from '../Components/Feed';
import Feed from '../components/Feed';
const feedId = 'gt-dash-feed';

View File

@ -4,7 +4,7 @@
// Lumen 5.0.1
// Bootswatch
@import "variables";
@import "Variables";
@import "~bootstrap/scss/bootstrap";
@import "./scss/fontawesome.scss";
@import "./scss/solid.scss";

View File

@ -22,7 +22,7 @@
@once
<link href="{{ asset('favicon.ico') }}" rel="icon" integrity="{{ Sri::hash('favicon.ico') }}" crossorigin="anonymous" />
<link href="{{ asset('images/logo.png') }}" rel="apple-touch-icon" integrity="{{ Sri::hash('images/logo.png') }}" crossorigin="anonymous" />
<link href="{{ mix('css/graphictoria.css') }}" rel="stylesheet" integrity="{{ Sri::hash('css/graphictoria.css') }}" crossorigin="anonymous" />
<link href="{{ mix('css/Graphictoria.css') }}" rel="stylesheet" integrity="{{ Sri::hash('css/graphictoria.css') }}" crossorigin="anonymous" />
<script src="{{ mix('js/app.js') }}" integrity="{{ Sri::hash('js/app.js') }}" crossorigin="anonymous"></script>
@endonce
@yield('extra-headers')

View File

@ -3,7 +3,7 @@
@section('title', 'Dashboard')
@section('page-specific')
<script src="{{ mix('js/dashboard.js') }}"></script>
<script src="{{ mix('js/Dashboard.js') }}"></script>
@endsection
@section('content')

View File

@ -13,10 +13,10 @@ require('laravel-mix-banner');
*/
mix.js('resources/js/app.js', 'public/js')
.js('resources/js/pages/maintenance.js', 'public/js')
.js('resources/js/pages/dashboard.js', 'public/js')
.js('resources/js/pages/Maintenance.js', 'public/js')
.js('resources/js/pages/Dashboard.js', 'public/js')
.react()
.sass('resources/sass/graphictoria.scss', 'public/css')
.sass('resources/sass/Graphictoria.scss', 'public/css')
.banner({
banner: (function () {
return [