Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs

Dashboard
Notifications
Mark all as read

Review Suggested Edit

Approved.
This suggested edit was approved and applied to the post 3 months ago by luap42‭.

  • Before you can get started, you need to check, whether you have all the prerequisites. QPixel is built with Ruby on Rails, therefore you'll need:
  • * a Linux or Mac computer (Windows WSL is also okay, but slower; running Ruby on Windows is ultra-slow)
  • * Ruby installed (we recommend [RVM](https://rvm.io/) or [rbenv](https://github.com/rbenv/rbenv#installation))
  • <div id="prerequisites">
  • ## Prerequisites
  • If you have all of that, we can continue with installing the necessary packages. For Linux, run these commands:
  • ```bash
  • sudo apt update
  • sudo apt install gcc
  • sudo apt install make
  • sudo apt install libmysqlclient-dev
  • sudo apt install autoconf bison build-essential libssl-dev libyaml-dev libreadline-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm-dev
  • sudo apt install mysql-server
  • ```
  • For Mac, run:
  • ```bash
  • xcode-select --install
  • brew install mysql bison openssl mysql-client
  • bundle config --global build.mysql2 --with-opt-dir="$(brew --prefix openssl)"
  • ```
  • </div>
  • Next, you need to install the following helper applications:
  • * [NodeJS](https://nodejs.org/en/download/)
  • * [Redis](https://redis.io/download)
  • * [Imagemagick](https://imagemagick.org/script/download.php)
  • ## Installing QPixel
  • Once you have completed installing the prerequisites, you can download QPixel:
  • ```bash
  • git clone https://github.com/codidact/qpixel
  • cd qpixel
  • ```
  • After downloading QPixel, you need to install all the dependencies. For that, you need to run
  • ```bash
  • bundle install
  • ```
  • If Ruby complains, that the Bundler hasn't been installed yet, use `gem install bundler` and then re-run the above command.
  • ## Setting up the Database
  • Before we can create, setup and seed the database, we need to make sure that we have a MySQL user. Sign into the MySQL console (`sudo mysql -u root` for the default installation) and execute the following commands (replace the dummy credentials with secure ones):
  • ```mysql
  • CREATE USER [email protected] IDENTIFIED BY 'choose_a_password_here';
  • GRANT ALL ON qpixel_dev.* TO [email protected];
  • GRANT ALL ON qpixel_test.* TO [email protected];
  • GRANT ALL ON qpixel.* TO [email protected];
  • ```
  • Then you'll have to tell QPixel which credentials to use. Copy the `config/database.sample.yml` to `config/database.yml` and fill in the correct host, username and password. Also, you will need to set the Redis connection details there too. Assuming that you always chose the default installation options, you'll only need to make changes to the username and the password from the sample file.
  • Now we want to create the database and the tables. Run:
  • ```bash
  • rails db:create
  • rails db:schema:load
  • rails r db/scripts/create_tags_path_view.rb
  • rails db:migrate
  • ```
  • Before we can continue and seed the data, you'll have to create the record for your (first) community. Open the Rails console with `rails c` and run these two commands:
  • ```ruby
  • Community.create(name: 'Dev Community', host: 'localhost:3000')
  • Rails.cache.clear
  • ```
  • After that you can call `rails db:seed` to fill the database with necessary seed data, such as settings, help posts and default templates.
  • Now comes the big moment: You can start the QPixel server for the first time. Run:
  • ```bash
  • rails s
  • ```
  • Open a web browser and visit your server, which should be running under http://localhost:3000.
  • ## Creating an administrator account
  • On the dev server, create a new account through the "Sign up" route. Then switch back to the console to confirm your account (as sending mails shouldn't have been configured yet) and to promote your account to an administrator one. Open the rails console again and run:
  • ```ruby
  • User.last.update(confirmed_at: DateTime.now, is_global_admin: true)
  • ```
  • Reload the web browser and you should see the elevated access.
  • ## New site setup
  • There's one more thing before your development server is fully up and running: the new site setup.
  • While being logged into your administrator account, go to http://localhost:3000/admin/setup. Review the settings (if you want; you can change them later) and click "Save and continue" to complete setting up the dev server.
  • ✨ Your dev server is now ready.
  • Before you can get started, you need to check, whether you have all the prerequisites. QPixel is built with Ruby on Rails, therefore you'll need:
  • * a Linux or Mac computer (Windows WSL is also okay, but slower; running Ruby on Windows is ultra-slow)
  • * Ruby installed (we recommend [RVM](https://rvm.io/) or [rbenv](https://github.com/rbenv/rbenv#installation))
  • <div id="prerequisites">
  • ## Prerequisites
  • If you have all of that, we can continue with installing the necessary packages. For Linux, run these commands:
  • ```bash
  • sudo apt update
  • sudo apt install gcc
  • sudo apt install make
  • sudo apt install libmysqlclient-dev
  • sudo apt install autoconf bison build-essential libssl-dev libyaml-dev libreadline-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm-dev
  • sudo apt install mysql-server
  • ```
  • For Mac, run:
  • ```bash
  • xcode-select --install
  • brew install mysql bison openssl mysql-client
  • bundle config --global build.mysql2 --with-opt-dir="$(brew --prefix openssl)"
  • ```
  • </div>
  • Next, you need to install the following helper applications:
  • * [NodeJS](https://nodejs.org/en/download/)
  • * [Redis](https://redis.io/download)
  • * [Imagemagick](https://imagemagick.org/script/download.php)
  • ## Installing QPixel
  • Once you have completed installing the prerequisites, you can download QPixel:
  • ```bash
  • git clone https://github.com/codidact/qpixel
  • cd qpixel
  • ```
  • After downloading QPixel, you need to install all the dependencies. For that, you need to run
  • ```bash
  • bundle install
  • ```
  • If Ruby complains, that the Bundler hasn't been installed yet, use `gem install bundler` and then re-run the above command.
  • ## Setting up the Database
  • Before we can create, setup and seed the database, we need to make sure that we have a MySQL user. Sign into the MySQL console (`sudo mysql -u root` for the default installation) and execute the following commands (replace the dummy credentials with secure ones):
  • ```mysql
  • CREATE USER [email protected] IDENTIFIED BY 'choose_a_password_here';
  • GRANT ALL ON qpixel_dev.* TO [email protected];
  • GRANT ALL ON qpixel_test.* TO [email protected];
  • GRANT ALL ON qpixel.* TO [email protected];
  • ```
  • Then you'll have to tell QPixel which credentials to use. Copy the `config/database.sample.yml` to `config/database.yml` and fill in the correct host, username and password. Also, you will need to set the Redis connection details there too. Assuming that you always chose the default installation options, you'll only need to make changes to the username and the password from the sample file.
  • Now we want to create the database and the tables. Run:
  • ```bash
  • rails db:create
  • rails db:schema:load
  • rails r db/scripts/create_tags_path_view.rb
  • rails db:migrate
  • ```
  • Before we can continue and seed the data, you'll have to create the record for your (first) community. Open the Rails console with `rails c` and run these two commands:
  • ```ruby
  • Community.create(name: 'Dev Community', host: 'localhost:3000')
  • Rails.cache.clear
  • ```
  • After that you can call `rails db:seed` to fill the database with necessary seed data, such as settings, help posts and default templates.
  • Now comes the big moment: You can start the QPixel server for the first time. Run:
  • ```bash
  • rails s
  • ```
  • Open a web browser and visit your server, which should be running under http://localhost:3000.
  • ## Creating an administrator account
  • On the dev server, create a new account through the "Sign up" route. Then switch back to the console to confirm your account (as sending mails shouldn't have been configured yet) and to promote your account to an administrator one. Open the rails console again and run:
  • ```ruby
  • User.last.update(confirmed_at: DateTime.now, is_global_admin: true)
  • ```
  • If you prefer confirming accounts from the web, you can visit http://localhost:3000/letter_opener to access the confirmation email and then promote your user to admin with ``rails r "User.last.update(is_global_admin: true)"``.
  • Reload the web browser and you should see the elevated access.
  • ## New site setup
  • There's one more thing before your development server is fully up and running: the new site setup.
  • While being logged into your administrator account, go to http://localhost:3000/admin/setup. Review the settings (if you want; you can change them later) and click "Save and continue" to complete setting up the dev server.
  • ✨ Your dev server is now ready.

Suggested 3 months ago by sau226‭