Files
novaconium/README.md
T

58 lines
2.2 KiB
Markdown

![Novaconium PHP](https://i.4lt.ca/git/novaconium-logo.png)
A Hugo-flavored PHP framework. Routes are directories on disk, pages render with [Twig](https://twig.symfony.com/), and any page that needs real logic gets an optional PHP "sidecar" file. Pages without a sidecar are pre-rendered once and served as static HTML straight from Apache afterwards.
For a full tour of what's included — routing, sidecars, caching, admin auth, access control, media manager, database, search, RSS, and more — see the [Novaconium docs](https://www.4lt.ca/novaconium).
This project is currently in beta testing. The issue tracker is at https://git.4lt.ca/4lt/novaconium/issues — email nova@4lt.ca for a login.
## Getting started
### Webmasters
```bash
PROJECTDIR="${PROJECTDIR:-/data}"
mkdir -p "$PROJECTDIR"/{css,novaconium/{cache,uploads,data}}
docker pull git.4lt.ca/4lt/novaconium:2.0.0-beta
docker run -d \
--name novaconium \
-p 8080:80 \
-v "$PROJECTDIR":/var/www/html/App \
-v "$PROJECTDIR"/css:/var/www/html/public/css \
-v "$PROJECTDIR"/novaconium/cache:/var/www/html/public/cache \
-v "$PROJECTDIR"/novaconium/uploads:/var/www/html/public/uploads \
-v "$PROJECTDIR"/novaconium/data:/var/www/html/data \
git.4lt.ca/4lt/novaconium:2.0.0-beta
```
You should also add a favicon.ico to your PROJECTDIR.
You can find example PROJECTDIR files and directory structure in: https://git.4lt.ca/4lt/novaconium/src/branch/v2/App
`$PROJECTDIR/novaconium/data` is for your sqlite database and will be created from scratch when running novaconium.
Open http://localhost:8080/ in your browser.
### Developers
```
docker buildx build --no-cache -t git.4lt.ca/4lt/novaconium:2.0.0-beta --load .
docker login git.4lt.ca -u <username>
docker push git.4lt.ca/4lt/novaconium:2.0.0-beta
docker compose up -d
```
### Create A User
```
docker exec -it novaconium php novaconium/bin/create-admin-user.php <username> <email>
```
## Third-party
[Twig](https://twig.symfony.com/) is vendored in source form under `novaconium/vendor/twig/` (no Composer — see `/admin/docs/upgrading-twig` for how to upgrade it). It's BSD-3-Clause licensed; the full license text ships alongside it at `novaconium/vendor/twig/LICENSE`.