3 Commits
1.0.4 ... 1.0.5

Author SHA1 Message Date
7b02960b46 added a skeleton for faster deployment 2025-06-08 18:19:12 -07:00
bedf615ad3 Minor documentation updates 2025-05-23 15:02:17 -07:00
5d2281b713 documentation update 2025-04-25 19:36:56 -07:00
14 changed files with 96 additions and 87 deletions

View File

@@ -11,28 +11,25 @@ Master Repo: https://git.4lt.ca/4lt/novaconium
## Getting Started
### Installation
Novaconium is heavly influenced by docker, but you can use composer outside of docker.
You can [learn more about how novaconium works with composer](https://git.4lt.ca/4lt/novaconium/src/branch/master/docs/Install-Composer-On-Debian.md).
```bash
mkdir project_name;
cd project_name;
# Native
composer require 4lt/novaconium
# Composer
docker run --rm --interactive --tty --volume $PWD:/app composer require 4lt/novaconium
cp -R vendor/4lt/novaconium/defaults/App/ .
cp -R vendor/4lt/novaconium/defaults/public/ .
```
PROJECTNAME=novaproject
mkdir -p $PROJECTNAME/novaconium;
cd $PROJECTNAME;
#### Compose install (debian)
docker run --rm --interactive --tty --volume ./novaconium/:/app composer:latest require 4lt/novaconium
```bash
sudo nala install curl php-cli php-mbstring git unzip
curl -sS https://getcomposer.org/installer -o composer-setup.php
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
rm composer-setup.php
cp -R novaconium/vendor/4lt/novaconium/skeleton/. .
# Edit .env
# Edit novaconium/App/config.php
docker compose up -d
```
## Documentation
* [Docker Setup](https://git.4lt.ca/4lt/novaconium)
* [Novaconiumm Official Repo](https://git.4lt.ca/4lt/novaconium)
* [CORXN Apache and PHP Container for Novaconium](https://git.4lt.ca/4lt/CORXN)

View File

@@ -1,7 +1,6 @@
{
"name": "4lt/novaconium",
"description": "A high-performance PHP framework built from the past.",
"version": "1.0.4",
"license": "MIT",
"authors": [
{

18
docs/Composer.md Normal file
View File

@@ -0,0 +1,18 @@
# PHP Composer Cheatsheet
Install novaconium with composer: ```composer require 4lt/novaconium```
Install novaconium with composer in docker: ```docker run --rm --interactive --tty --volume $PWD:/app composer:latest require 4lt/novaconium```
Update novaconium with composer in docker: ```docker run --rm --interactive --tty --volume $PWD:/app composer:latest update```
## Install Composer natively on Debian
Assuming you have nala installed:
```bash
sudo nala install curl php-cli php-mbstring git unzip
curl -sS https://getcomposer.org/installer -o composer-setup.php
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
rm composer-setup.php
```

View File

@@ -1,71 +1,8 @@
# Getting Started With Docker
# Docker Cheatsheet (for Novaconium)
## Clone Docker Cookbooks
[Github Docker Compose Cookbooks](https://github.com/nickyeoman/docker-compose-cookbooks)
```bash
git clone git@github.com:nickyeoman/docker-compose-cookbooks.git /docker-compose-cookbooks
```
## Setup Docker Compose File
Read the sample extends file of /docker-compose-cookbooks/phpcontainer/sample-extends.yml
```bash
# ensure docker-compose exists
[[ -f docker-compose.yml ]] || echo "services:" > docker-compose.yml
# PHP container
tail -n+2 /docker-compose-cookbooks/phpcontainer/sample-extends.yml >> docker-compose.yml
# PHP settings
cp -r /docker-compose-cookbooks/phpcontainer/config .
# Set project directory
sed -i 's|- "./project:/data"|- "./:/data"|' docker-compose.yml
# Mariadb container
tail -n +2 /docker-compose-cookbooks/mariadb/sample-extends.yml >> docker-compose.yml
```
## ENV File
Then setup the .env file, which should look something like this:
```
COOKBOOK=/docker-compose-cookbooks
COMPOSE_PROJECT_NAME=myProject
TZ=America/Vancouver
VOL_CONFIG_PATH=/data/myProject/config
VOL_PATH=/data/myProject/data
# PHP Container
PHPCONTAINER_IMAGE=4lights/phpcontainer:latest
# MariaDB
MARIADB_IMAGE=mariadb:latest
MARIADB_MARIADB_DATABASE=mydb
MARIADB_MARIADB_ROOT_PASSWORD=ChangeThisPassword0123456789ABCD
MARIADB_MARIADB_PASSWORD=AlsoChangeThisPassword0123456789
MARIADB_MARIADB_USER=dbuser
```
## APP Database config
Open the /App/config.php file and change the database section to match the above:
```php
'database' => [
'host' => 'mariadb',
'name' => 'mydb',
'user' => 'dbuser',
'pass' => 'AlsoChangeThisPassword0123456789',
'port' => 3306
],
```
## Sample Docker Compose File
See the skeleton directory for an example docker setup.
## Start Docker

2
skeleton/.env Normal file
View File

@@ -0,0 +1,2 @@
MYSQL_ROOT_PASSWORD: random
MYSQL_PASSWORD: random

View File

@@ -0,0 +1,56 @@
# Sample Docker Compose
services:
corxn:
image: 4lights/corxn:6.0.0
ports:
- "8000:80"
volumes:
- ./novaconium:/data
- ./data/logs:/var/log/apache2 # Optional Logs
restart: unless-stopped
networks:
- internal
- proxy
redis:
image: redis:latest
networks:
- internal
restart: unless-stopped
mariadb:
image: mariadb:latest
container_name: mariadb
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: novadb
MYSQL_USER: novaconium
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
volumes:
- ./data/db:/var/lib/mysql
networks:
- internal
restart: unless-stopped
phpmyadmin:
image: phpmyadmin/phpmyadmin:latest
restart: unless-stopped
ports:
- "8001:80"
networks:
- internal
environment:
- PMA_ARBITRARY=-1
- PMA_HOST=mariadb
- PMA_USER=root
- PMA_PASSWORD=${MYSQL_ROOT_PASSWORD}
- UPLOAD_LIMIT=200M
volumes:
- "/etc/timezone:/etc/timezone:ro"
- "/etc/localtime:/etc/localtime:ro"
networks:
proxy:
external: true
internal:
driver: bridge

View File

@@ -1,9 +1,9 @@
<?php
$config = [
'database' => [
'host' => '',
'name' => '',
'user' => '',
'host' => 'mariadb',
'name' => 'novadb',
'user' => 'novaconium',
'pass' => '',
'port' => 3306
],