https://github.com/atomicptr/nimbus
A multi-project headless blog system made for projects like Sveltekit.
https://github.com/atomicptr/nimbus
Last synced: 4 months ago
JSON representation
A multi-project headless blog system made for projects like Sveltekit.
- Host: GitHub
- URL: https://github.com/atomicptr/nimbus
- Owner: atomicptr
- License: agpl-3.0
- Created: 2024-03-16T17:50:35.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2025-06-29T11:18:28.000Z (7 months ago)
- Last Synced: 2025-09-29T11:50:00.932Z (4 months ago)
- Language: PHP
- Size: 2.8 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# nimbus
A multi-project headless blog system made for projects like Sveltekit.
## Installation
First run the application using Docker:
Note: You have to provide an **APP\_KEY**
```sh
$ docker run --rm -e APP_KEY=... -p 8000:8000 -v mydata_dir:/app/data gcr.io/atomicptr/nimbus:latest
# next use docker ps to find this container id
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
MY_CONTAINER_ID nimbus:latest "docker-php-entrypoi…" 2 minutes ago Up 2 minutes (healthy) ........ .........
# next we apply the migrations for the database
$ docker exec -it MY_CONTAINER_ID php artisan migrate
# next we run tinker to create our admin account
$ docker exec -it MY_CONTAINER_ID php artisan tinker
> $user = new App\Models\User;
> $user->email = 'admin@example.com';
> $user->name = "Admin Adminsson";
> $user->password = Hash::make('password');
> $user->save();
```
Now you can open the site at http://localhost:8000/admin and log in, have fun!
**TODO**: Create an easier setup process
## Usage
1. Create a new blog
2. Create a new API Key and copy it
3. Create a post (that is published)
4. Look at **/admin/blogs/{blogId}/posts?api_key={apiKey}** which should list your newly created blog post
5. Check out other API end points (api_key has to be present)
- /admin/blogs/{blogId}/posts/{postId}
- /admin/blogs/{blogId}/series
- /admin/blogs/{blogId}/series/{postSeriesId}
- /admin/blogs/{blogId}/tags
- /admin/blogs/{blogId}/tags/{tagId}
## License
[]()