Rework README getting-started for Docker beta workflow
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017zVZcreLgntYHi8ZUdkSW9
This commit is contained in:
@@ -2,46 +2,55 @@
|
|||||||
|
|
||||||
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.
|
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 Features](http://127.0.0.1:8000/blog/novaconium-features) post once the site is running, or `/admin/docs` (see Documentation below).
|
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
|
## Getting started
|
||||||
|
|
||||||
### Requirements:
|
|
||||||
|
|
||||||
PHP 8.1+ (uses `readonly` constructor-promoted properties) and, for production, Apache with `mod_rewrite` and `AllowOverride All`. A few optional features (database, content index/search, admin authentication) need the `pdo_sqlite` extension — see `/admin/docs` for details once running.
|
|
||||||
|
|
||||||
### Development
|
|
||||||
|
|
||||||
Run it locally, no Apache needed:
|
|
||||||
|
|
||||||
```
|
|
||||||
php -S 127.0.0.1:8000 -t public public/router.php
|
|
||||||
```
|
|
||||||
|
|
||||||
Visit `http://127.0.0.1:8000/` — click around the example pages, then open `http://127.0.0.1:8000/admin/docs` for the complete documentation, rendered live from this same instance.
|
|
||||||
|
|
||||||
### Production
|
|
||||||
|
|
||||||
```
|
|
||||||
docker buildx build --no-cache -t 4lights/novaconium:2.0.0-beta --load .
|
|
||||||
docker login git.4lt.ca -u nick
|
|
||||||
docker pull git.4lt.ca/4lt/novaconium:2.0.0-beta
|
|
||||||
|
|
||||||
docker compose up -d
|
|
||||||
root@b2c4133264c6:/var/www/html# php novaconium/bin/create-admin-user.php nick c@nickyeoman.com
|
|
||||||
```
|
|
||||||
|
|
||||||
### Webmasters
|
### Webmasters
|
||||||
|
|
||||||
- Clone this repo.
|
```bash
|
||||||
- docker build: ``` docker build -t novaconium . ```
|
PROJECTDIR="${PROJECTDIR:-/data}"
|
||||||
- docker compose up -d
|
mkdir -p "$PROJECTDIR"/{css,novaconium/{cache,uploads,data}}
|
||||||
|
|
||||||
## Documentation
|
docker pull git.4lt.ca/4lt/novaconium:2.0.0-beta
|
||||||
|
|
||||||
The full framework documentation lives inside the framework itself, at `/admin/docs` on any running instance — so it travels with the code, no internet connection needed. That's the canonical reference for everything: requirements, running locally, deploying on Apache or Docker, starting a new project, updating the framework, adding a page, routing, sidecars, libraries, database, session, content index, XML sitemap, RSS feeds, layouts, static caching, SEO, Matomo analytics, admin authentication, access control, draft pages, media manager, styling, and project layout.
|
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
|
||||||
|
|
||||||
`AGENTS.md` is the short, agent-facing version for coding assistants working in this repo, and `novaconium/ISSUES.md` is the roadmap/backlog.
|
```
|
||||||
|
|
||||||
|
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
|
## Third-party
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user