Absolute has been developed from the ground up with love, and thus comes with a wide variety of features, such as:
You may read about Absolute's features in further detail in our FEATURES.md documentation.
This project spins up Docker containers to set up the environment, so you will need that installed and configured on the machine that you're setting up this project on.
It is possible to set-up this project without Docker, but the steps to do so are not currently documented.
Clone the repository to the necessary directory.
If you would like to also install Absolute's chat system and discord bot, clone this repository recursively. If you do not want them, do not clone it recursively.
git clone --recursive https://github.com/Toxocious/Absolute.git
Once you have Docker installed and have cloned this repository, all you need to do is run the ./start.sh script inside of your terminal.
You can do so as such:
Windows
bash ./start.sh
Linux/MacOS
./start.sh
This script does a few things in order to set-up the game on your machine:
If you're intending on running this project on a dedicated server with your own domain name, you will need to manually set the domain name for the SSL certificates. This can be done in ./certbot/generate.sh.
When you first setup Absolute, the root MySQL password is an empty string. It is highly suggested that you change this to a very secure password with the following CLI command, where 'NEW_PASSWORD'
is the password that you want the root MySQL account to have.
docker exec -it absolute-mysql bash
mariadb -u root -p'' password 'NEW_PASSWORD'
Do make sure to update the MYSQL_ROOT_PASSWORD
.env
value to reflect the new password that you've set.
When you have gotten the database set-up, you'll notice that - after navigating to your hosted copy of this repository - the stylesheets fail to load.
This is because Absolute's stylesheets are done in SCSS, which need compiled to CSS before they can be used for this project.
Install SASS for your operating system, add it to your PATH variables, open a terminal into this directory, and run the following command:
sass themes/sass:themes/css
This will compile the stylesheets a single time. If you wish to do numerous changes back-to-back - such as a layout overhaul or what have you - then use the --watch
flag appended to the command, which will have SASS watch for changes in the themes/sass
directory, and will automatically compile all changes into the themes/css
directory while the sass watch command is active.
Docker does not currently handle watching and automatically compiling our stylesheets, but will in a future update.
The source code used for Absolute's chat system can be found HERE and includes a separate, in-depth README with set-up documentation.
Docker has not yet been configured to set-up the chat system for you, but will in a future update.
The source code used for Absolute's Discord Bot can be found HERE and includes a separate, in-depth README with set-up documentation.
Absolute's docker configuration includes the necessary dockerfile to automatically build and run the Discord bot for you.
Absolute uses a continue integration and deployment pipeline to automatically sync the repository main
branch with the remote server.
We used to use a CI/CD pipeline through Gitlab to synchronize our code with a remote server, but since moving to Github and using Docker for development, we do not currently have a working Github CI/CD workflow configuration.
This project does not yet dedicated hosting and thus doesn't have a valid github workflow configuration.
If you're interested in contributing to Absolute, please check out CONTRIBUTING.md for more information.
This project is licensed under MIT.
For more information about the license, check out the LICENSE.