Merge branch 'feature/baseContainers' into develop
commit
b949329f1f
@ -0,0 +1 @@
|
||||
php/www/basic/
|
||||
@ -0,0 +1,5 @@
|
||||
# Ignore everything in this directory
|
||||
*
|
||||
# Except this file
|
||||
!.gitignore
|
||||
|
||||
@ -0,0 +1,25 @@
|
||||
-- Create a user (or more)
|
||||
CREATE OR REPLACE USER nathan@'%' IDENTIFIED BY 'password';
|
||||
-- CREATE USER 'aLeaf'@'%' IDENTIFIED BY "aLeaf";
|
||||
|
||||
-- Role admin, only they have permission to add others to their role
|
||||
CREATE OR REPLACE ROLE admin WITH ADMIN nathan@'%';
|
||||
GRANT ALL ON *.* TO admin WITH GRANT OPTION;
|
||||
|
||||
-- GRANT ALL PRIVILEGES ON *.* TO 'aLeaf'@'%';
|
||||
|
||||
-- GRANT ALL PRIVILEGES ON *.* TO 'nathan'@'%' WITH GRANT OPTION; -- Priv, all of the belo
|
||||
-- GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES ON *.* TO 'username'@'localhost';
|
||||
-- GRANT USAGE ON *.* TO 'nathan'@'%'; -- Allows usage of the tables I guess (default on create?)
|
||||
|
||||
FLUSH PRIVILEGES;
|
||||
|
||||
-- Remove root, to prevent root login
|
||||
DROP USER root, root@localhost
|
||||
|
||||
-- Create tables, and insert data into them
|
||||
-- USE ecomdb; -- This is setup by default mariadb compose
|
||||
|
||||
-- CREATE TABLE products (id mediumint(8) unsigned NOT NULL auto_increment,Name varchar(255) default NULL,Price varchar(255) default NULL, ImageUrl varchar(255) default NULL,PRIMARY KEY (id)) AUTO_INCREMENT=1;
|
||||
|
||||
-- INSERT INTO products (Name,Price,ImageUrl) VALUES ("Laptop","100","c-1.png"),("Drone","200","c-2.png"),("VR","300","c-3.png"),("Tablet","50","c-5.png"),("Watch","90","c-6.png"),("Phone Covers","20","c-7.png"),("Phone","80","c-8.png"),("Laptop","150","c-4.png");
|
||||
@ -0,0 +1,54 @@
|
||||
# sudo docker compose down && sudo docker compose build --no-cache && sudo docker compose up -d --force-recreate
|
||||
services:
|
||||
nginx:
|
||||
build: ./nginx
|
||||
#image: nginx:1.27.1 #nginx:latest
|
||||
container_name: aLeaf-nginx
|
||||
#ports:
|
||||
# - 84:80
|
||||
restart: always
|
||||
volumes:
|
||||
- ./php/www:/var/www/html/
|
||||
# This will overwrite default.conf with the one on the container, BUT "COPY" in dockerfile makes it ours by default
|
||||
- ./nginx/default.conf:/etc/nginx/conf.d/default.conf
|
||||
|
||||
php:
|
||||
build: ./php
|
||||
#image: php:8.3-fpm
|
||||
container_name: aLeaf-php
|
||||
expose:
|
||||
- 9000
|
||||
volumes:
|
||||
- ./php/www:/var/www/html/
|
||||
|
||||
db:
|
||||
#build: ./db
|
||||
image: mariadb:10.7
|
||||
container_name: aLeaf-mariadb
|
||||
volumes:
|
||||
#- ./db/mysql:/var/lib/mysql # If sharing from windows host, not gonna work. Needs to be on unixFS
|
||||
- /home/nathan/docker_vol/aleaf_mariadb:/var/lib/mysql
|
||||
# bind-mount any sql files that should be run while initializing
|
||||
# Can omit create database as done via environment
|
||||
- ./db/schema.sql:/docker-entrypoint-initdb.d/schema.sql
|
||||
expose:
|
||||
- 3306
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: mariadb
|
||||
MYSQL_DATABASE: ecomdb
|
||||
|
||||
adminer:
|
||||
container_name: aLeaf-adminer
|
||||
image: adminer
|
||||
restart: always
|
||||
#ports:
|
||||
# - "4141:4141"
|
||||
# - "8080:8080"
|
||||
environment:
|
||||
ADMINER_DEFAULT_SERVER: aLeaf-mariadb
|
||||
|
||||
# docker network create -d bridge proxy # Shared with the NPM instance
|
||||
networks:
|
||||
default:
|
||||
external: true
|
||||
name: proxy
|
||||
@ -0,0 +1,2 @@
|
||||
FROM nginx:1.27.1
|
||||
COPY ./default.conf /etc/nginx/conf.d/default.conf
|
||||
@ -0,0 +1,30 @@
|
||||
server {
|
||||
listen 80 default_server;
|
||||
|
||||
# server_name localhost;
|
||||
root /var/www/html/basic;
|
||||
index index.php index.html;
|
||||
|
||||
error_log /var/log/nginx/error.log;
|
||||
access_log /var/log/nginx/access.log;
|
||||
|
||||
sendfile off;
|
||||
|
||||
client_max_body_size 100m;
|
||||
|
||||
location / {
|
||||
try_files $uri $uri/ /index.php?$query_string;
|
||||
}
|
||||
|
||||
location ~ \.php$ {
|
||||
include fastcgi_params;
|
||||
fastcgi_pass php:9000;
|
||||
fastcgi_index index.php;
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
fastcgi_param PATH_INFO $fastcgi_path_info;
|
||||
}
|
||||
|
||||
#location ~ /.ht {
|
||||
# deny all;
|
||||
#}
|
||||
}
|
||||
@ -0,0 +1,30 @@
|
||||
FROM php:8.3-fpm
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
libzip-dev \
|
||||
wget \
|
||||
git \
|
||||
unzip
|
||||
|
||||
RUN docker-php-ext-install zip pdo pdo_mysql mysqli
|
||||
RUN docker-php-ext-enable mysqli
|
||||
|
||||
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
|
||||
|
||||
RUN composer global require leafs/cli -W
|
||||
|
||||
RUN ln -s /root/.composer/vendor/bin/leaf /usr/local/bin/leaf
|
||||
|
||||
# If you have a custom PHP ini file you can uncomment this line
|
||||
# COPY ./php.ini /usr/local/etc/php/php.ini
|
||||
|
||||
RUN apt-get purge -y g++ \
|
||||
&& apt-get autoremove -y \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
&& rm -rf /tmp/*
|
||||
|
||||
WORKDIR /var/www
|
||||
|
||||
# RUN chown -R www-data:www-data /var/www
|
||||
|
||||
CMD ["php-fpm"]
|
||||
@ -0,0 +1 @@
|
||||
# If using a custom php.ini throw it here (after the container has run, then restart)
|
||||
@ -0,0 +1,4 @@
|
||||
<?php
|
||||
phpinfo();
|
||||
?>
|
||||
|
||||
Loading…
Reference in New Issue