Infinity Next is an imageboard suite utilizing the Laravel framework.
Infinity Next was never completed and is currently in an unusable state. I am currently working on refactoring it to Laravel 6 and modernizing some backend work, but it is just something I am doing for myself. For some reason, I just can't stand to see it unfinished.
Use at your own risk: I can't help you.
Infinity Next is an imageboard using the Laravel Framework. It was conceived as a way to replace existing free imageboard software that have aged poorly. Infinity Next is completely free to use, but modifications to the source code must be made open source as well.
If you are submitting an issue to developers, please supply the following:
Please don't assume we'll understand exactly what you're talking about. If I can read an error, copy+paste something, or upload a file and reproduce an error in 30 seconds after opening your message, I can fix it without having to ask you for more information. If you do not provide an error case or details on how to recreate what you're experiencing, the first response to your issue will be "please provide an example".
Larachan runs on Laravel 5 and has the same requirements.
PHP 7.2
or greater.
php-bcmath
for dealing with IP addresses.php-mcrypt
for bcrypt functions.php-gd
for captcha codes and other image manipulation.You may also need the following because not all PHP packages include them:
mbstring
for Lavarel.fileinfo
for Composer requirement.When installing from source,
composer
You can also pass --prefer-source
to composer
to forego the Github OAuth requirement.
Infinity Next is currently below its first release version. When it is finished, a compiled archive will be available with an installation process. Right now, however, you must build it yourself and have access to a command line interface.
sudo: command not found
, you probably shouldn't be doing this.oldstable main
and buster-backports main
to /etc/apt/sources.list
apt update
apt install php7.3 php7.3-common php-bcmath php-mcrypt php-gd php-mbstring php-xml php-curl php-redis php-pgsql php-zip php-gmp
apt install postgresql
sudo -u postgres psql
or runuser -u postgres psql
create user chan;
create database chan owner chan;
\c chan
CREATE EXTENSION fuzzystrmatch;
\password chan
\q
apt install redis git
apt autoremove apache2
apt install nginx-full
apt install php-fpm
curl -sL https://deb.nodesource.com/setup_14.x | bash -
apt-get install -y nodejs
adduser --system infinitynext --home /var/www/infinity-next
git clone https://github.com/infinity-next/infinity-next.git /var/www/infinity-next
chown -hR infinitynext /var/www/infinity-next
sudo -u infinitynext /bin/bash
or runuser -u infinitynext /bin/bash
cp .env.example .env
.env
, set:
APP_KEY
.DB_DATABASE
,DB_USERNAME
,DB_PASSWORD
as configured.php composer.phar update
and wait as 3rd party libraries are installed.php artisan migrate
php artisan db:seed
crontab.txt
cat ./docs/crontab.txt
crontab -e
exit
cp /var/www/infinity-next/docs/nginx.txt /etc/nginx/sites-available/infinity-next
/etc/nginx/sites-available/infinity-next
as required.ln -s /etc/nginx/sites-available/infinity-next /etc/nginx/sites-enabled/infinity-next
nginx -t
systemctl restart nginx
www-data
read/write access to application storage:
chown -hR infinitynext:www-data /var/www/infinity-next/storage/
chmod -R g+rw /var/www/infinity-next/storage/
sudo -u infinitynext /bin/bash
or runuser -u infinitynext /bin/bash
npm install
npm run prod
package.json
for npm script definitions./test/
board.Admin
.sudo -u infinitynext /bin/bash
or runuser -u infinitynext /bin/bash
php artisan vendor:publish
config/trustedproxy.php
as required..env
- you need this for password resets.ffmpeg
for multimedia assets to work!WebSockets will play an increasingly important part of the software as they increase the responsiveness of the entire application. It is suggested to set it up, though it is somewhat complicated.
artisan queue:work redis
. Example in docs/supervisor.txt
.npm install -g laravel-echo-server
or yarn global add laravel-echo-server
.laravel-echo-server config
and generate a laravel-echo-server.json
.
docs/nginx.txt
configuration with a /socket.io
proxy pass to the server instead of exposing it directly.laravel-echo-server start
. This does not launch as a daemon, so consider using a program like screen
to keep it running without a terminal attached.Further documentation about Laravel Queues and Laravel Broadcasting can be found in the official Laravel documentation.
Infinity Next is distributed under the AGPL 3.0.
In short:
However, you also agree that:
The AGPL3 license is designed to protect the end user by keeping modified copies of the source open and free.
While not binding, I do ask that users link back to this git repository on their website. Sharing is caring. ♥
Everyone is welcome to contribute, but please follow repository etiquette.
It would benefit you to make sure your solution has the OK before writing any code.
In the name of preventing conflict and keeping the codebase clean, I am implementing the exact same standards of Laravel contributors.
Laravel follows the PSR-0 and PSR-1 coding standards. In addition to these standards, the following coding standards should be followed:
- The class namespace declaration must be on the same line as
<?php
.- A class's opening
{
must be on the same line as the class name.- Functions and control structures must use Allman style braces. Indent with tabs, align with spaces.
"Allman style braces" refer to having a curly-brace on a new line at the same level of indentation as the conditional itself.
if (condition)
{
// Code here.
}