Board engine behind Fanboi Channel written in Python.
For production environment, Fanboi2 has the following runtime requirements:
Additionally, the following packages are build-time requirements for compiling assets:
After all packages are installed, setup the application with:
$ git clone https://git.sr.ht/~sirn/fanboi2 fanboi2 $ cd fanboi2/ $ poetry install --no-dev $ npm install && npm run gulp
Then configure environment variables according to the configuring section below, and run:
$ poetry run alembic upgrade head $ poetry run fbctl serve
You also need to run the worker (each in its own terminal window) with:
$ poetry run fbcelery worker $ poetry run fbcelery beat
And you're done! Please visit http://localhost:6543/admin/ to perform initial configuration.
Fanboi2 uses environment variable to configure the application. You may want to use something like Direnv to manage these environment variables.
AUTH_SECRET-- Required. Secret for authentication/authorization cookie.
CELERY_BROKER_URL-- Required. Redis URL for Celery broker, e.g. redis://127.0.0.1/1
DATABASE_URL-- Required. Database URL, e.g. postgres://127.0.0.1/fanboi2
REDIS_URL-- Required. Redis URL, e.g. redis://127.0.0.1/0
SESSION_SECRET-- Required. Secret for session cookie. Must not reuse
GEOIP_PATH-- Path to GeoIP database, e.g. /usr/share/geoip/GeoLite2-Country.mmdb
SERVER_DEV-- Boolean flag whether to enable dev console, default False
SERVER_SECURE-- Boolean flag whether to only authenticate via HTTPS, default False.
To setup Fanboi2 in development mode, run the following commands after performing production setup steps:
$ poetry install
And run the server with (each in its own terminal window):
$ poetry run fbctl serve --reload --workers=1 --threads=4 $ npm run gulp watch
To submit patches to mailing list:
git clone https://git.sr.ht/~sirn/fanboi2
git config sendemail.to ~firstname.lastname@example.org
git format-patch -1 HEAD(refer to
git-format-patch(1)for more info)
git send-email -1(refer to
git-send-email(1)for more info)
To submit patches via GitHub Pull Request:
Forkbutton on the top right of the GitHub project page.
Submitting patches via mailing list is recommended in case you wish to remain anonymous (e.g. using thrown-away email address). GitHub, on the other hand, require you to create account with them and GitHub terms of service explicitly forbids having more than one account. Whether method you choose, our reviewer will review and merge the patch as soon as possible. It would be much appreciated if you could follow the following guidelines:
Copyright © 2013-2019, Kridsada Thanabulpong. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.