Bitcoin Forum
March 28, 2024, 08:26:12 PM *
News: Latest Bitcoin Core release: 26.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Epochtalk installation readme  (Read 755 times)
Rizzrack (OP)
Copper Member
Hero Member
*****
Offline Offline

Activity: 764
Merit: 694


Defend Bitcoin and its PoW: bitcoincleanup.com


View Profile WWW
February 17, 2020, 11:13:09 PM
Last edit: October 07, 2020, 11:30:54 AM by Rizzrack
Merited by mprep (8), suchmoon (7), malevolent (7), Halab (5), o_e_l_e_o (4), hugeblack (3), DdmrDdmr (3), TryNinja (2), TheBeardedBaby (2), bones261 (2), Heisenberg_Hunter (2), mocacinno (1), Husna QA (1), Rengga Jati (1), 3dOOm (1)
 #1

@iasenko asked us for a helping hand for all those who would like to install and use Epochtalk
The readme was recently updated and thought useful to also have it here.
https://github.com/epochtalk/epochtalk
Will update thread if anything changes
For issues you can drop a question here or open an issue on their github repo. May look scary to some but not that bad once you get the hang of it.


Edits:
- Updated with latest release 1.32.14


Features

 - Epochtalk is a single page web application created with AngularJS
 - Web/Mobile ready responsive design using Bourbon
 - Code is bundled and loaded as needed, for performance, using Webpack
 - Designed with performance in mind. Epochtalk's backend utilizes Postgres as a database.
 - Customizable Theming (Branding, coloring, fonts, sizes)
 - Fully modular permissions system with roles



System Dependencies (you need to have these installed on the server/VPS)

 - node
 - yarn
 - Postgres
 - Redis
 - Nginx



Installation

 1. Checkout repository using git:
Code:
$ git clone --single-branch --branch v1.32.14 https://github.com/epochtalk/epochtalk.git

 2. SSL and Nginx setup:
Install an SSL cert and edit the nginx .conf file (located /etc/nginx/default.conf) with server info and SSL cert info

 3. Change directories to /epochtalk and install dependencies using yarn:
Code:
$ cd epochtalk
$ yarn

 4. Copy the example.env file
This file specifies the server configurations and is necessary to run the server. You can edit the .env file later to specify the configurations as outlined in the Configuration section.
Code:
$ cd .. # cd back to project root
$ cp example.env .env
You need to rename that file to ".env", so there is no name before the extension

 5. Checkout and Run Migrations
Note: If you do not have brew installed, you must manually install Elixir
Code:
$ cd .. # (or just change directories outside of the epochtalk directory)
$ brew install elixir # this installs elixir so we can run epoch migrations
$ git clone git@github.com:epochtalk/epoch.git
$ cd epoch
$ mix deps.get # install project deps
$ mix ecto.setup # create and migrate epochtalk database
$ cd ../epochtalk # change directories back to epochtalk root

 6. Initialize First User
First ensure that Postgres is installed and running. Before running Epochtalk for the first time, it is necessary to setup the database and first user account. The CLI tool will create the first board and admin account for the forum. From the root directory of the project run the following command:
Code:
$ node cli create-user <username> <email> --password <password> --admin

 7. Start the Epochtalk server
Running the "yarn run serve" command will start the Epochtalk webserver and compile all JavaScript and css. Once the server is running, the forum can be viewed at http://localhost:8080
Code:
$ yarn run serve

 8. Log in and change admin account information
Login to the admin account using the username and password set at step 6. Visit your profile by clicking the link in the top right corner of the page, then change your username and password.



Configuration
Forum configurations can be set either manually or using the admin panel.

 - Manual Configuration
The forum server configs can and must be set manually with a .env file in the root directory of the project.
Code:
DATABASE_URL="postgres://localhost/epochtalk_dev"
HOST="localhost"
PORT="8080"
PUBLIC_URL="http://localhost:8080"
REDIS_HOST="localhost"
REDIS_PORT="6379"
REDIS_AUTH_PASS=""

 - Admin Panel Configuration
Some configurations can also be set using the settings tab in the administration panel.


Congrats, you have a forum !

1711657572
Hero Member
*
Offline Offline

Posts: 1711657572

View Profile Personal Message (Offline)

Ignore
1711657572
Reply with quote  #2

1711657572
Report to moderator
1711657572
Hero Member
*
Offline Offline

Posts: 1711657572

View Profile Personal Message (Offline)

Ignore
1711657572
Reply with quote  #2

1711657572
Report to moderator
1711657572
Hero Member
*
Offline Offline

Posts: 1711657572

View Profile Personal Message (Offline)

Ignore
1711657572
Reply with quote  #2

1711657572
Report to moderator
Activity + Trust + Earned Merit == The Most Recognized Users on Bitcointalk
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1711657572
Hero Member
*
Offline Offline

Posts: 1711657572

View Profile Personal Message (Offline)

Ignore
1711657572
Reply with quote  #2

1711657572
Report to moderator
1711657572
Hero Member
*
Offline Offline

Posts: 1711657572

View Profile Personal Message (Offline)

Ignore
1711657572
Reply with quote  #2

1711657572
Report to moderator
suchmoon
Legendary
*
Offline Offline

Activity: 3640
Merit: 8906


https://bpip.org


View Profile WWW
February 18, 2020, 01:14:36 AM
Merited by hugeblack (2), Husna QA (1), TheBeardedBaby (1)
 #2

6. Initialize First User
First ensure that Postgres is installed and running. Before running Epochtalk for the first time, it is necessary to setup the database and first user account. The CLI tool will create the first board and admin account for the forum. From the root directory of the project run the following command:
Code:
$ node cli --create

Are you sure this is supposed to work?

Code:
*censored*:~/epochtalk$ node cli --create
error: unknown option `--create'

The only other similar cli option that I could find is "seed" but that fails too:

Code:
*censored*:~/epochtalk$ node cli seed
~/epochtalk/modules/ept-images/routes/localUpload.js:12
        maxBytes: internalConfig.images.maxSize,
                                 ^

TypeError: Cannot read property 'images' of undefined
    at module.exports (~/epochtalk/modules/ept-images/routes/localUpload.js:12:34)
    at Object.module.exports [as routes] (~/epochtalk/modules/ept-images/routes/index.js:5:56)
    at Object.modules.load (~/epochtalk/server/plugins/modules/index.js:47:49)
    at ~/epochtalk/server/plugins/modules/index.js:29:13
    at Array.forEach (<anonymous>)
    at Object.modules.install (~/epochtalk/server/plugins/modules/index.js:28:16)
    at Object.verifyRoles (~/epochtalk/modules/ept-roles/plugins/acls.js:138:26)
    at Command.<anonymous> (~/epochtalk/cli/index.js:41:11)
    at Command.listener (~/epochtalk/node_modules/commander/index.js:315:8)
    at emitTwo (events.js:126:13)
    at Command.emit (events.js:214:7)
    at Command.parseArgs (~/epochtalk/node_modules/commander/index.js:651:12)
    at Command.parse (~/epochtalk/node_modules/commander/index.js:474:21)
    at Object.<anonymous> (~/epochtalk/cli/index.js:80:9)
    at Module._compile (module.js:653:30)
    at Object.Module._extensions..js (module.js:664:10)

There is an executable node script cli/create_admin.js that does work but it creates only an admin account, no boards. Once that's done you can create boards manually with the horrible drag-n-drop UI but that's a story for another day.

BTW "mix ecto.setup" in step 5 creates a board named "Tesing Board" (spelled exactly like that), not sure why that's needed.
Rizzrack (OP)
Copper Member
Hero Member
*****
Offline Offline

Activity: 764
Merit: 694


Defend Bitcoin and its PoW: bitcoincleanup.com


View Profile WWW
February 18, 2020, 02:52:49 AM
 #3

Are you sure this is supposed to work?

Seems I forgot that part needs some TLC as well
This should do the trick

Code:
$ node cli create-user <username> <email> --password <password> --admin
as an example
$ node cli create-user suchmoon suchmoon@domain.com --password  myrandompass --admin

BTW "mix ecto.setup" in step 5 creates a board named "Tesing Board" (spelled exactly like that), not sure why that's needed.

A dummy board never hurts (with our without typos) Tongue

TheBeardedBaby
Legendary
*
Offline Offline

Activity: 2184
Merit: 3134


₿uy / $ell


View Profile
February 18, 2020, 10:09:55 AM
 #4

Thank you so much, this will be much easier for all those who want to test run the forum. Out of smerit Sad Sorry.
I really hope that this guide will push forward the Epochtalk project and finally we can migrate to the new platform. I will share this link to my twitter, not so many followers, but anyway we have to spread the word. Smiley

This thread deserves a pin to the top!!! Please any mod to do it.

mocacinno
Legendary
*
Offline Offline

Activity: 3346
Merit: 4911


https://merel.mobi => buy facemasks with BTC/LTC


View Profile WWW
March 13, 2020, 10:10:57 AM
Merited by DdmrDdmr (2), Chikito (1), TheBeardedBaby (1), Heisenberg_Hunter (1), Rizzrack (1)
 #5

Thank you for this walktrough, it really helped me out...

I did a quick test spin-up using your walktrough:
https://blog.mocacinno.com/
There were a couple of pitfalls, for example the correct configuration and installation of many of the prereqs (like setting up nginx as a reverse proxy for localhost:8080, ssl certificates, security concerns, correct postgres config,...)


I've taken some notes on how to setup everything on a clean ubuntu 18.04 VPS, so in case anybody is interested, i might scratch the vps again and do a complete setup while taking screenshots or something.

This installation will only exist as long as i don't need the resources, it's not even completely configured. Don't use this forum for anything more than making testposts, chances are that everything will be scratched in less than a week...

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
Rizzrack (OP)
Copper Member
Hero Member
*****
Offline Offline

Activity: 764
Merit: 694


Defend Bitcoin and its PoW: bitcoincleanup.com


View Profile WWW
March 13, 2020, 06:22:43 PM
 #6

Thank you for this walktrough, it really helped me out...

Very glad to hear that and even more so that it is being used/tested/installed out of curiosity by more users Smiley

True... was not very specific regarding nginx, ssl etc. I assumed the terminal would scare off most "newbies". Might be wrong tho.

Thanks for having a look and testing it a bit. Hope more will follow Cheesy

Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!