Git Product home page Git Product logo

place's Introduction

Dynastic Development

Dynastic Place

An open-source place alternative, made by Dynastic Development. Want to chat? Join our Discord.

Getting started

These instructions will help you get a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

  • MongoDB
  • Node 8 or higher
  • Yarn
  • An internet connection

Installing

  • Copy config/config.example.js to config/config.js
  • Configure your Place server as you see fit by modifying the values
    • Set a strong secret in the secret field!
  • Run yarn install to install the dependencies
  • Finally, run node app.js

Deployment

Ensure /var/log/place exists, and the app can write to it.

Please only host your own copy if you are willing to abide by the clearly defined license. Failure to comply with the listed terms will result in legal action.

When deploying, it is recommended you use a daemon to keep the server alive. We use pm2, but any daemon utility, such as forever, should work.

Deploying with pm2

  1. Get pm2 installed globally by running npm i -g pm2.
  2. Once pm2 is installed, starting Place is as simple as running pm2 start app.js --name=Place.

You can manage your pm2 instances using pm2 show Place.

You can instruct pm2 to save the currently running pm2 instances and start them at boot with pm2 startup.

Other notes

It's recommended that you use a reverse proxy rather than running Place direcly on port 80. Below is our nginx configuration.

server {
        listen 80;
        listen [::]:80;

        server_name canvas.place;

        include /etc/nginx/global/*;

        error_page 502 /502-error.html;

        location = /502-error.html {
                root   /var/www/place.dynastic.co;
                internal;
        }

        location / {
                proxy_pass http://127.0.0.1:3000;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection 'upgrade';
                proxy_set_header Host $host;
                proxy_cache_bypass $http_upgrade;
        }

}

Contributing

Please make a pull request. Before making a pull request, come and chat with us on Discord in #contributors.

Ensure that all code lints successfully - we have CI that requires this.

Roadmap

Check our currently open issues for an idea on what to work on!

Authors

Also see the list of contributors who participated in this project and helped to make it as great as it is!

License

Dynastic Place is licensed under a modified version of the APGL-3.0 license. Please see it for details.

Acknowledgments

Thank you to:

  • Reddit for the original Place
  • The many subreddits and groups who we work with to make cool art!

place's People

Contributors

aydenp avatar nullpixel avatar mstrodl avatar toficofi avatar ericrabil avatar deadbaed avatar xshotd avatar tylervick avatar mgiuffrida avatar nathanaccidentally avatar zelarpmaster avatar jsdelivrbot avatar tennyzhuang avatar

Stargazers

Jeffery cline avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.