From fd730226f42471aad84880ed71ae7ef0a8cbee8b Mon Sep 17 00:00:00 2001 From: Dane Everitt Date: Sat, 19 May 2018 18:36:20 -0700 Subject: [PATCH] Getting started with the new documentation --- .gitignore | 62 +------------------------------- .vuepress/config.js | 60 ++++++++++++++++++++++++++++--- .vuepress/dist/.gitignore | 2 ++ README.md | 6 ++++ panel/downloading.md | 1 + panel/getting_started.md | 76 +++++++++++++++++++++++++++++++++++++++ 6 files changed, 142 insertions(+), 65 deletions(-) create mode 100644 .vuepress/dist/.gitignore create mode 100644 panel/downloading.md create mode 100644 panel/getting_started.md diff --git a/.gitignore b/.gitignore index ad46b308..9f11b755 100644 --- a/.gitignore +++ b/.gitignore @@ -1,61 +1 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release - -# Dependency directories -node_modules/ -jspm_packages/ - -# TypeScript v1 declaration files -typings/ - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# Yarn Integrity file -.yarn-integrity - -# dotenv environment variables file -.env - -# next.js build output -.next +.idea/ diff --git a/.vuepress/config.js b/.vuepress/config.js index 6328901f..d2ce565e 100644 --- a/.vuepress/config.js +++ b/.vuepress/config.js @@ -1,5 +1,57 @@ module.exports = { - base: '/docs/', - title: 'Pterodactyl Documentation', - description: 'Still in testing.' -} + base: '/docs/', + title: 'Pterodactyl Documentation', + description: 'Leanr how to install and use Pterodactyl.', + themeConfig: { + repo: 'pterodactyl/panel', + docsRepo: 'pterodactyl/documentation', + repoLabel: 'Contribute', + editLinkText: 'Help us improve this page.', + editLinks: true, + nav: [ + { + text: 'Get Started', + link: '/panel/server_requirements/', + }, + { + text: 'API Reference', + link: '/api/' + }, + { + text: 'Get Help', + link: 'https://pterodactyl.io/discord' + } + ], + sidebar: [ + { + title: 'Project Information', + collapsable: false, + children: [ + '/', + ] + }, + { + title: 'Panel', + collapsable: false, + children: [ + '/panel/getting_started', + '/panel/downloading', + ] + }, + { + title: 'Daemon', + collapsable: true, + children: [ + '/', + ] + }, + { + title: 'API Reference', + collapsable: true, + children: [ + '/', + ] + } + ] + } +}; diff --git a/.vuepress/dist/.gitignore b/.vuepress/dist/.gitignore new file mode 100644 index 00000000..934fe842 --- /dev/null +++ b/.vuepress/dist/.gitignore @@ -0,0 +1,2 @@ +!.gitkeep +* diff --git a/README.md b/README.md index f59f0df0..4d38c9c0 100644 --- a/README.md +++ b/README.md @@ -1 +1,7 @@ # Pterodactyl Documentation + +Pterodactyl is the open-source game server management panel built with PHP7, Nodejs, and Go. Designed with security in mind, +Pterodactyl runs all game servers in isolated Docker containers while exposing a beautiful and intuitive UI to administrators +and users. + +What more are you waiing for? Make game servers a first class citizen on your platform today. diff --git a/panel/downloading.md b/panel/downloading.md new file mode 100644 index 00000000..81c88363 --- /dev/null +++ b/panel/downloading.md @@ -0,0 +1 @@ +# Download diff --git a/panel/getting_started.md b/panel/getting_started.md new file mode 100644 index 00000000..62c9baf7 --- /dev/null +++ b/panel/getting_started.md @@ -0,0 +1,76 @@ +# Getting Started +Pterodactyl Panel is designed to run on your own web server. You will need to have root access to your server in order to run and use this panel. + +You are expected to understand how to read documentation to use this Panel. We have spent many hours detailing how to install or upgrade our +software; take some time and read rather than copy and pasting and then complaining when things do not work. This panel does +not exist as a drag-and-drop service to run your servers. It is a highly complex system requiring multiple dependencies and +administrators willing to spend some time learning how to use it. **If you expect to be able to install this with no understanding +of basic linux system administration you should stop and turn around now.** + +## Picking a Server OS +Pterodactyl runs on a wide range of operating systems, so pick whichever you are most comfortable using. + +::: warning +Pterodactyl does not support most OpenVZ systems due to incompatabilities with Docker. If you are planning on running +this software on an OpenVZ based system you will not be successful. +::: + +| Operating System | Version | Supported | Notes | +| ---------------- | ------- | :-------: | ----- | +| **Ubuntu** | 14.04 | :warning: | Documentation assumes changes to `systemd` introduced in `16.04` | +| | 16.04 | :white_check_mark: | Recommended. | +| | 18.04 | :white_check_mark: | | +| **CentOS** | 6 | :no_entry_sign: | Does not support all of the required packages. | +| | 7 | :white_check_mark: | | +| **Debian** | 8 | :white_check_mark: | | +| | 9 | :white_check_mark: | | + +## Dependencies +* PHP `7.2` with the following extensions: `cli`, `openssl`, `gd`, `mysql`, `PDO`, `mbstring`, `tokenizer`, `bcmath`, `xml` or `dom`, `curl`, `zip` +* MySQL `5.7` or higher **or** MariaDB `10.1.3` or higher +* Redis (`redis-server`) +* A webserver (Apache, NGINX, Caddy, etc.) +* `curl` +* `tar` +* `unzip` +* `git` + +### Example Dependency Installation +The commands below are simply an example of how you might install these dependencies. Please consult with your +operating system's package manager to determine the correct packages to install. + +```sh +# Add "add-apt-repository" command +apt -y install software-properties-common + +# Add additional repositories for PHP, Redis, and MariaDB +add-apt-repository -y ppa:ondrej/php +add-apt-repository -y ppa:chris-lea/redis-server +curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash + +# Update repositories list +apt update + +# Install Dependencies +apt -y install php7.2 php7.2-cli php7.2-gd php7.2-mysql php7.2-pdo php7.2-mbstring php7.2-tokenizer php7.2-bcmath php7.2-xml php7.2-fpm php7.2-curl php7.2-zip mariadb-server nginx curl tar unzip git redis-server +``` + +## Download Files +The first step in this process is to create the folder where the panel will live and then move ourselves into that +newly created folder. Below is an example of how to perform this operation. + +``` sh +mkdir -p /var/www/pterodactyl +cd /var/www/pterodactyl +``` + +Once you have created a new directory for the Panel and moved into it you'll need to download the Panel files. This +is as simple as using `curl` to download our pre-packaged content. Once it is downloaded you'll need to unpack the archive +and then set the correct permissions on the `storage/` and `bootstrap/cache/` directories. These directories +allow us to store files as well as keep a speedy cache available to reduce load times. + +``` +curl -Lo panel.tar.gz https://github.com/pterodactyl/panel/releases/download/v0.7.6/panel.tar.gz +tar --strip-components=1 -xzvf panel.tar.gz +chmod -R 755 storage/* bootstrap/cache/ +```