Skip to content

Commit e124cbd

Browse files
authored
Merge pull request #622 from Laravel-Backpack/add-docker
add docker to demo
2 parents 3f02b40 + 1cc056c commit e124cbd

15 files changed

+236
-44
lines changed

.env.docker.example

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
APP_ENV=local
2+
APP_DEBUG=true
3+
APP_KEY=base64:1234567890asbcdefgijklmnyz1234567890asbcdefgijklmnyz1234567890=
4+
APP_URL=http://demo.test
5+
6+
BACKPACK_THEME=backpack.theme-tabler
7+
8+
# MySQL Database Connection
9+
DB_CONNECTION=mariadb
10+
DB_HOST=mariadb
11+
DB_PORT=3306
12+
DB_DATABASE=homestead
13+
DB_USERNAME=homestead
14+
DB_PASSWORD=secret
15+
DB_ROOT_PASSWORD=secret
16+
17+
# SQLite Database Connection
18+
# You might also need to run 'touch storage/app/database.sqlite` to create the db
19+
#DB_CONNECTION=sqlite
20+
#DB_DATABASE=../storage/app/database.sqlite
21+
22+
CACHE_DRIVER=file
23+
SESSION_DRIVER=file
24+
QUEUE_DRIVER=sync
25+
26+
#REDIS_HOST=127.0.0.1
27+
#REDIS_PASSWORD=null
28+
#REDIS_PORT=6379
29+
30+
#MYSQL_DUMP_PATH=/opt/homebrew/bin/

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,4 @@ Homestead.json
1414
/packages
1515
/.vscode
1616
/packages
17+
/_volumes

Dockerfile

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
FROM node:22.4.1 as node_base
2+
3+
FROM serversideup/php:8.3-fpm-nginx as base
4+
5+
COPY --chown=www-data:www-data ./docker/infra/certs /etc/nginx/certs
6+
7+
# uncomment if you need to install chrome. eg. for spatie browser shot projects.
8+
#USER root
9+
# ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD true
10+
#RUN apt-get update \
11+
# && apt-get install -y wget gnupg \
12+
# && wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - \
13+
# && sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' \
14+
# && apt-get -y update \
15+
# && apt-get install -y google-chrome-stable fonts-ipafont-gothic fonts-wqy-zenhei fonts-thai-tlwg fonts-kacst fonts-freefont-ttf libxss1 \
16+
#--no-install-recommends \
17+
# && rm -rf /var/lib/apt/lists/* \
18+
# && usermod -a -G video www-data \
19+
# && usermod -a -G audio www-data \
20+
# && mkdir -p /home/www-data/Downloads \
21+
# && chown -R www-data:www-data /home/www-data
22+
23+
FROM base as development
24+
25+
# We can pass USER_ID and GROUP_ID as build arguments
26+
# to ensure the www-data user has the same UID and GID
27+
# as the user running Docker.
28+
ARG USER_ID
29+
ARG GROUP_ID
30+
31+
# Switch to root so we can set the user ID and group ID
32+
USER root
33+
34+
ENV S6_CMD_WAIT_FOR_SERVICES=1
35+
36+
# make npm & node available in the container
37+
COPY --chown=www-data:www-data --from=node_base /usr/local/bin /usr/local/bin
38+
COPY --chown=www-data:www-data --from=node_base /usr/local/lib/node_modules/npm /usr/local/lib/node_modules/npm
39+
40+
41+
COPY --chmod=755 ./docker/entrypoint.d/ /etc/entrypoint.d
42+
43+
RUN docker-php-serversideup-set-id www-data $USER_ID:$GROUP_ID && \
44+
docker-php-serversideup-set-file-permissions --owner $USER_ID:$GROUP_ID --service nginx
45+
46+
# run the docker-php-serversideup-s6-init script
47+
RUN docker-php-serversideup-s6-init
48+
49+
USER www-data

artisan

100755100644
File mode changed.

database/migrations/2017_04_20_100848_create_monsters_table.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ public function up()
2020
$columnType = 'BYTEA';
2121
break;
2222
case 'mysql':
23+
case 'mariadb':
2324
$columnType = 'MEDIUMBLOB';
2425
break;
2526
case 'sqlite':

database/seeders/OwnerSeeder.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public function run()
5050
while ($invoiceItems) {
5151
InvoiceItem::create([
5252
'invoice_id' => $invoice->id,
53-
'order' => $faker->bothify('?????-#####'),
53+
'order' => $fake->randomNumber(2),
5454
'description' => $faker->text,
5555
'quantity' => $faker->randomFloat(0, 0, 999),
5656
'unit_price' => $faker->randomFloat(0, 0, 9999),

docker-compose.yml

Lines changed: 50 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,56 @@
1-
version: "3.8"
2-
3-
volumes:
4-
mysql57:
5-
name: mysql57
6-
71
services:
8-
db:
9-
image: mysql:5.7
2+
php:
3+
build:
4+
context: .
5+
dockerfile: Dockerfile
6+
target: development
7+
args:
8+
USER_ID: ${UID:-1000}
9+
GROUP_ID: ${GID:-1000}
10+
volumes:
11+
- .:/var/www/html/
12+
restart: unless-stopped
13+
working_dir: /var/www/html
14+
networks:
15+
- development
1016
ports:
11-
- 3306:3306
17+
- 80:8080
18+
- 443:8443
19+
- 5173:5173
20+
depends_on:
21+
- mariadb
1222
environment:
13-
MYSQL_ROOT_PASSWORD: asdf
14-
MYSQL_DATABASE: backpackdemo
15-
volumes:
16-
- mysql57:/var/lib/mysql
23+
SSL_MODE: "full"
24+
SSL_CERTIFICATE_FILE: "certs/local-dev.pem"
25+
SSL_PRIVATE_KEY_FILE: "certs/local-dev-key.pem"
26+
# docker-php configs
27+
AUTORUN_ENABLED: "true"
28+
AUTORUN_LARAVEL_MIGRATION: "true"
29+
AUTORUN_LARAVEL_CONFIG_CACHE: "false"
30+
AUTORUN_LARAVEL_EVENT_CACHE: "false"
31+
AUTORUN_LARAVEL_ROUTE_CACHE: "false"
32+
AUTORUN_LARAVEL_STORAGE_LINK: "true"
33+
AUTORUN_LARAVEL_VIEW_CACHE: "false"
1734

18-
web:
19-
image: webdevops/php-nginx:7.4-alpine
20-
ports:
21-
- 80:80
35+
mariadb:
36+
image: mariadb:11
37+
networks:
38+
- development
2239
volumes:
23-
- ./:/app
24-
working_dir: /app
40+
- ./_volumes/mysql/mysqsl_data:/var/lib/mysql
2541
environment:
26-
WEB_DOCUMENT_ROOT: /app/public
27-
WEB_ALIAS_DOMAIN: localhost
42+
MYSQL_ROOT_PASSWORD: '${DB_ROOT_PASSWORD}'
43+
MYSQL_ROOT_HOST: "%"
44+
MYSQL_DATABASE: '${DB_DATABASE}'
45+
MYSQL_USER: '${DB_USERNAME}'
46+
MYSQL_PASSWORD: '${DB_PASSWORD}'
47+
MYSQL_ALLOW_EMPTY_PASSWORD: 'no'
48+
ports:
49+
- "3306:3306"
50+
51+
mailpit:
52+
image: axllent/mailpit
53+
networks:
54+
- development
55+
networks:
56+
development:

docker/infra/certs/local-dev-key.pem

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
-----BEGIN PRIVATE KEY-----
2+
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCwirez1D5LTCkc
3+
GRSRMWuG5iJTfh6mqFCqBgLKloSsOLLy+7KdmcvWFkNIxM9ceHTf+EDvsc4dCCpM
4+
9vClIZP1azX1DUJtng31bK+xIm30QeTg2ggPfM2OhPayN5lDgz48HZgN7anmEm53
5+
phhXtcLiU5jCX5LjgzN9MOgJ6JobixdBDlTvku69pvAw+pUd6eBsvBS+bjsDJyM7
6+
2dwRvANMWJEfsPFelXXpFEAopasprE7qJmO4U2V4KCc+1Z/BhdDvtB22qKqyyok2
7+
uhGJf1r2z4Grrt9W9pNmuel2UfjKpRX6jFUqPygcYqGXGE4eRy7nynj+BU2srm94
8+
AlcjsE9fAgMBAAECggEAD0uVauEinId2sFaD76hmdoONycoNgcbnZjOrHj44NGud
9+
JWwlJ35hqKS5I57ZkFtnVNg/WAUBpIZGk/B5HPVxyjuFqzuA29prvy2xcxlWiWkE
10+
GW8Kb70SWhyu+vXSM4U1aSPvPpWuuJ40L+2WAlNfFRjFDWIWadu+JESOdf1PDL+1
11+
Z58cRhEcKQS9hBrizPFgxb2QZa3gXQpdTwKXU8IsNKGocuX9tnZPQfctRkRNvHs6
12+
OX2ZEatXlcO/zD6heKHGYRypDUyX+WgtArMG1PS7Kuec253S0/bDxCMKXIGcGH/J
13+
cLgzyhp4D5odu6dCbdDz//i0WO3auNtLrMgntkDXYQKBgQDVVeDwIBSZ/QybisZF
14+
/1AsCAq5O7xYrIg0LkXqChzDHAm6taMNtZGbHY42dVP8ybnbAOkNrQrHGxB1MdrM
15+
5Q39FrWe+ctxNvAay6c+49Wtp9mqt2/CX3r+wJUhJAf+am7QTwCJglWW1Kz/RD61
16+
OFZMeoVxq/YgbjWyPh5axmyp1wKBgQDT2R6cNq3AaaLIZIpiEEFCGB8ASjwG0SHw
17+
V/mOAznl+td9kbXacTJ8jWAE8kdPqH4ZKkMU+PXImsz2T8dB/LGVIz/c4Tg9z+Mo
18+
w/tmK5a8NA2/AL/zIt/GSx+HsCjynbcKlY9hJfZGQNkxKtvZDXbjpcausojs6z3V
19+
Hk4v1Z6luQKBgBQmTl6fyRJaUkyGqP+Hg90EzW59c+a0NREopbXbSqgrB8g4y7PJ
20+
yHzsJ7iBEHO54fILffeqtm/j4IQRN2dO4ylaccEYOtzwoXEGdz97aX1Dc02qkcW8
21+
GvPg4LUGoDKpftnx/E0AoHDkmYpqubmIHq6Oi/gWk+KwRiYVs+xC/ZR1AoGAbJ/z
22+
th3DUdnYgfArlMTI8V705m0qAkTRpi814r98vJO2UsiX+n34aS0EgwTH0+yNW9Hz
23+
u5k8TbQyTEnz3b34QIRmhpdlAyzJSWnUSjsnezElqz5zLfQ/0alLbYPCO0TrSh4N
24+
+r5AXR17QF69g7oHsAqcqY8Z7oFgnxp+9MAQLOECgYEA1IfgKXmUY10XK2GFPUl2
25+
YdxF9Bf0F1oCt8ExtY3bv8BXRcDgp7YaLk9uI9xWpXQ2Bv0sRSi+m8a9YYyrzeoL
26+
eOaJ35qkxm2lUbDTSxk4g5VhF3Yfe4rQQUY5Hy49RKBzDIPstod34P5vnKd+zhzC
27+
rUE1ChWqXUJawuhVE3rg3MU=
28+
-----END PRIVATE KEY-----

docker/infra/certs/local-dev.pem

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIEbzCCAtegAwIBAgIQLnQ/klzIW/vkgsn5Oh1qITANBgkqhkiG9w0BAQsFADCB
3+
hTEeMBwGA1UEChMVbWtjZXJ0IGRldmVsb3BtZW50IENBMS0wKwYDVQQLDCRMQVBU
4+
T1AtTk5RNk5QOEpcQVNVU0BMQVBUT1AtTk5RNk5QOEoxNDAyBgNVBAMMK21rY2Vy
5+
dCBMQVBUT1AtTk5RNk5QOEpcQVNVU0BMQVBUT1AtTk5RNk5QOEowHhcNMjQwNzEx
6+
MDg1MTE4WhcNMjYxMDExMDg1MTE4WjBIMScwJQYDVQQKEx5ta2NlcnQgZGV2ZWxv
7+
cG1lbnQgY2VydGlmaWNhdGUxHTAbBgNVBAsMFHB4cG1ATEFQVE9QLU5OUTZOUDhK
8+
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsIq3s9Q+S0wpHBkUkTFr
9+
huYiU34epqhQqgYCypaErDiy8vuynZnL1hZDSMTPXHh03/hA77HOHQgqTPbwpSGT
10+
9Ws19Q1CbZ4N9WyvsSJt9EHk4NoID3zNjoT2sjeZQ4M+PB2YDe2p5hJud6YYV7XC
11+
4lOYwl+S44MzfTDoCeiaG4sXQQ5U75LuvabwMPqVHengbLwUvm47AycjO9ncEbwD
12+
TFiRH7DxXpV16RRAKKWrKaxO6iZjuFNleCgnPtWfwYXQ77QdtqiqssqJNroRiX9a
13+
9s+Bq67fVvaTZrnpdlH4yqUV+oxVKj8oHGKhlxhOHkcu58p4/gVNrK5veAJXI7BP
14+
XwIDAQABo4GWMIGTMA4GA1UdDwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEFBQcD
15+
ATAfBgNVHSMEGDAWgBT8EZlbG4vysChbCCfU5S4B8n7ENzBLBgNVHREERDBCggVs
16+
b2NhbIILKi5kZW1vLnRlc3SCCWRlbW8udGVzdIIJbG9jYWxob3N0hwR/AAABhxAA
17+
AAAAAAAAAAAAAAAAAAABMA0GCSqGSIb3DQEBCwUAA4IBgQA1TSqxEkDYwBoQiwaC
18+
xmxWoJmd/q9XROXjReTKTpdSSXUCnWB45OmzzZGMtyOZIO1qJUOBRphVURjun3ut
19+
i2szlA+k1gLBihGm8jMJQ3C9epK3qwIOqATKBzdVCI/qncXKXbENCXsFwyLvvrrB
20+
WTeY0SsYaFq5kGm013Mx9TwGZbXNhC4P0d/a1+S2miR4Jssh9a5w+geDddWbePR3
21+
rv8HIn6BRlxUtaovBxGXP9KhHCz5YD64h1Tz7gs0KeIvudgRz9BHBEiAhrcQ4mLt
22+
EipQvluy31GOw23jE3WQyGFEa67VOu8oyNx6Hn5LARhut0T40yJ7suYkCHxpPxAk
23+
f5Ik2BQ41bmkk393OckilU6BH8zOLqWzcRChNtycPSl1nlQDtdJcRLYZfTd6XlwG
24+
udpbFujlhapJK1NkpoHKiPGBaKxfmaYAdi8gOPD9zQrnFtZcA1LDbP4Y0meB9tOH
25+
B+CfkWfG3vuCrCJG3oIiJfuUk1KXv8hVKXG09qCtBJ4+yFc=
26+
-----END CERTIFICATE-----

gulpfile.js

Lines changed: 0 additions & 16 deletions
This file was deleted.

0 commit comments

Comments
 (0)