This is the fornever.me site source code. It uses ForneverMind โ a simple homemade blog engine mainly written in F# programming language.
ForneverMind requires recent Node.js installation both for building and for running.
Backend reads its settings from the standard appsettings.json
file. The
available settings are:
baseUrl
: URL to listen when started
To compile frontend part, you'll need a recent (16.0+) Node.js installation. The bundled Yarn package manager will be automatically executed on build.
There's an additional talks archive included as a git submodule in this
repository. To prepare tasks for build, use the Scripts/Prepare-Talks.ps1
script. Talks require external Yarn installation of v1.22.0 or higher.
To compile the backend, you'll need a .NET 5 SDK installation.
Here's a sample build script:
$ dotnet build
$ cd ForneverMind
$ dotnet run
$ dotnet test
Prepare the production-ready distribution in the publish
directory:
$ dotnet publish --configuration Release --output publish ./ForneverMind
This application uses Docker for deployment. To create a Docker image, use the following command:
$ docker build -t revenrof/fornever.me:$FORNEVER_ME_VERSION -t revenrof/fornever.me:latest .
(where $FORNEVER_ME_VERSION
is the version for the image to use)
Then push the image to the Docker Hub:
$ docker login
$ docker push revenrof/fornever.me:$FORNEVER_ME_VERSION
$ docker push revenrof/fornever.me:latest
To install the application from Docker, run the following command:
$ docker run -d --restart unless-stopped -p:$PORT:80 --name $NAME revenrof/fornever.me:$VERSION
Where
$PORT
is the port you want to expose the application on$NAME
is the container name$VERSION
is the version you want to deploy, orlatest
for the latest available one
For example, a production server may use the following settings (note this command uses the Bash syntax; adapt for your shell if necessary):
PORT=5001
NAME=fornevermind
VERSION=latest
docker pull revenrof/fornever.me:$VERSION
docker rm -f $NAME
docker run -d --restart unless-stopped -p $PORT:80 --name $NAME revenrof/fornever.me:$VERSION
- EvilPlanner meant to be an integral part of the site, but it needs to be installed separately.
- fornever.me uses an easy-to-install Disqus comment system.