diff --git a/pterodactyl-panel/.env.ci b/pterodactyl-panel/.env.ci
new file mode 100644
index 0000000..1a9e848
--- /dev/null
+++ b/pterodactyl-panel/.env.ci
@@ -0,0 +1,20 @@
+APP_ENV=testing
+APP_DEBUG=true
+APP_KEY=SomeRandomString3232RandomString
+APP_THEME=pterodactyl
+APP_TIMEZONE=UTC
+APP_URL=http://localhost/
+APP_ENVIRONMENT_ONLY=true
+
+DB_CONNECTION=mysql
+DB_HOST=127.0.0.1
+DB_DATABASE=testing
+DB_USERNAME=root
+DB_PASSWORD=
+
+CACHE_DRIVER=array
+SESSION_DRIVER=array
+MAIL_DRIVER=array
+QUEUE_DRIVER=sync
+
+HASHIDS_SALT=test123
diff --git a/pterodactyl-panel/.env.example b/pterodactyl-panel/.env.example
new file mode 100644
index 0000000..fc97db9
--- /dev/null
+++ b/pterodactyl-panel/.env.example
@@ -0,0 +1,44 @@
+APP_ENV=production
+APP_DEBUG=false
+APP_KEY=
+APP_THEME=pterodactyl
+APP_TIMEZONE=UTC
+APP_URL=http://panel.example.com
+APP_LOCALE=en
+APP_ENVIRONMENT_ONLY=true
+
+LOG_CHANNEL=daily
+LOG_DEPRECATIONS_CHANNEL=null
+LOG_LEVEL=debug
+
+DB_CONNECTION=mysql
+DB_HOST=127.0.0.1
+DB_PORT=3306
+DB_DATABASE=panel
+DB_USERNAME=pterodactyl
+DB_PASSWORD=
+
+REDIS_HOST=127.0.0.1
+REDIS_PASSWORD=null
+REDIS_PORT=6379
+
+CACHE_DRIVER=file
+QUEUE_CONNECTION=redis
+SESSION_DRIVER=file
+
+HASHIDS_SALT=
+HASHIDS_LENGTH=8
+
+MAIL_MAILER=smtp
+MAIL_HOST=smtp.example.com
+MAIL_PORT=25
+MAIL_USERNAME=
+MAIL_PASSWORD=
+MAIL_ENCRYPTION=tls
+MAIL_FROM_ADDRESS=no-reply@example.com
+MAIL_FROM_NAME="Pterodactyl Panel"
+# You should set this to your domain to prevent it defaulting to 'localhost', causing
+# mail servers such as Gmail to reject your mail.
+#
+# @see: https://github.com/pterodactyl/panel/pull/3110
+# MAIL_EHLO_DOMAIN=panel.example.com
diff --git a/pterodactyl-panel/.gitignore b/pterodactyl-panel/.gitignore
deleted file mode 100644
index f59b05d..0000000
--- a/pterodactyl-panel/.gitignore
+++ /dev/null
@@ -1,37 +0,0 @@
-/vendor
-*.DS_Store*
-!.env.ci
-!.env.example
-.env*
-.vagrant/*
-.vscode/*
-storage/framework/*
-/.idea
-/nbproject
-/.direnv
-
-node_modules
-*.log
-_ide_helper.php
-_ide_helper_models.php
-.phpstorm.meta.php
-.yarn
-public/assets/manifest.json
-
-# For local development with docker
-# Remove if we ever put the Dockerfile in the repo
-.dockerignore
-docker-compose.*
-!docker-compose.example.yml
-!docker-compose.example.yaml
-
-# for image related files
-misc
-.php-cs-fixer.cache
-coverage.xml
-resources/lang/locales.js
-.phpunit.result.cache
-
-/public/build
-/public/hot
-result
diff --git a/pterodactyl-panel/bootstrap/cache/.gitignore b/pterodactyl-panel/bootstrap/cache/.gitignore
deleted file mode 100644
index d6b7ef3..0000000
--- a/pterodactyl-panel/bootstrap/cache/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*
-!.gitignore
diff --git a/pterodactyl-panel/database/.gitignore b/pterodactyl-panel/database/.gitignore
deleted file mode 100644
index 9b1dffd..0000000
--- a/pterodactyl-panel/database/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-*.sqlite
diff --git a/pterodactyl-panel/public/.gitignore b/pterodactyl-panel/public/.gitignore
deleted file mode 100644
index 477f0a1..0000000
--- a/pterodactyl-panel/public/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-assets
-assets/*
-!assets/svgs
-!assets/svgs/*.svg
diff --git a/pterodactyl-panel/public/assets/svgs/not_found.svg b/pterodactyl-panel/public/assets/svgs/not_found.svg
new file mode 100644
index 0000000..222a415
--- /dev/null
+++ b/pterodactyl-panel/public/assets/svgs/not_found.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pterodactyl-panel/public/assets/svgs/pterodactyl.svg b/pterodactyl-panel/public/assets/svgs/pterodactyl.svg
new file mode 100755
index 0000000..f3582ad
--- /dev/null
+++ b/pterodactyl-panel/public/assets/svgs/pterodactyl.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pterodactyl-panel/public/assets/svgs/server_error.svg b/pterodactyl-panel/public/assets/svgs/server_error.svg
new file mode 100644
index 0000000..726fa10
--- /dev/null
+++ b/pterodactyl-panel/public/assets/svgs/server_error.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pterodactyl-panel/public/assets/svgs/server_installing.svg b/pterodactyl-panel/public/assets/svgs/server_installing.svg
new file mode 100644
index 0000000..d2a0ae4
--- /dev/null
+++ b/pterodactyl-panel/public/assets/svgs/server_installing.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/pterodactyl-panel/storage/app/.gitignore b/pterodactyl-panel/storage/app/.gitignore
deleted file mode 100755
index fedb287..0000000
--- a/pterodactyl-panel/storage/app/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-*
-!private/
-!public/
-!.gitignore
diff --git a/pterodactyl-panel/storage/app/private/.gitignore b/pterodactyl-panel/storage/app/private/.gitignore
deleted file mode 100644
index d6b7ef3..0000000
--- a/pterodactyl-panel/storage/app/private/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*
-!.gitignore
diff --git a/pterodactyl-panel/storage/app/public/.gitignore b/pterodactyl-panel/storage/app/public/.gitignore
deleted file mode 100644
index d6b7ef3..0000000
--- a/pterodactyl-panel/storage/app/public/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*
-!.gitignore
diff --git a/pterodactyl-panel/storage/clockwork/.gitignore b/pterodactyl-panel/storage/clockwork/.gitignore
deleted file mode 100755
index d6b7ef3..0000000
--- a/pterodactyl-panel/storage/clockwork/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*
-!.gitignore
diff --git a/pterodactyl-panel/storage/logs/.gitignore b/pterodactyl-panel/storage/logs/.gitignore
deleted file mode 100755
index d6b7ef3..0000000
--- a/pterodactyl-panel/storage/logs/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*
-!.gitignore