Giter Site home page Giter Site logo

vitodeploy / vito Goto Github PK

View Code? Open in Web Editor NEW
680.0 10.0 120.0 3.26 MB

The Ultimate Server Management Tool

Home Page: https://vitodeploy.com

License: GNU Affero General Public License v3.0

Makefile 0.01% PHP 56.48% Shell 4.19% Dockerfile 0.16% JavaScript 0.35% CSS 0.64% Blade 38.18%

vito's Introduction

VitoDeploy>
    <p align= GitHub Workflow Status


About Vito

Vito is a self-hosted web application that helps you manage your servers and deploy your PHP applications into production servers without a hassle.

Quick Start

bash <(curl -Ls https://raw.githubusercontent.com/vitodeploy/vito/1.x/scripts/install.sh)

Features

  • Provisions and Manages the server
  • Easy database management, Supports Mysql and MariaDB
  • Deploy your PHP applications such as Laravel
  • Manage your server's firewall
  • Supports Custom and Letsencrypt SSL
  • Uses supervisor to handle queues
  • Manages server's services
  • Deploy your SSH Keys to the server
  • Create and Manage cron jobs on the server

Useful Links

Credits

  • Laravel
  • PHPSecLib
  • PHPUnit
  • Tailwindcss
  • Alpinejs
  • HTMX
  • Vite
  • Prettier
  • Postcss
  • Flowbite

vito's People

Contributors

austinkregel avatar borjajimnz avatar dependabot[bot] avatar devsarfo avatar ivorpad avatar kamleshpaul avatar koenhendriks avatar mesarth avatar moskoweb avatar rtraselbd avatar saeedvaziry avatar saravanasai avatar thomasenssner avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vito's Issues

No Default VPC to (truncated...)

Create New Server Problem in AWS

I understand that when deploying an application on AWS, a VPC must be set up.
Currently, I seem to be getting a No Default VPC.

[previous exception] [object] (GuzzleHttp\\Exception\\ClientException(code: 400): Client error: `POST https://ec2.ap-northeast-2.amazonaws.com` resulted in a `400 Bad Request` response:
<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<Response><Errors><Error><Code>VPCIdNotSpecified</Code><Message>No default VPC fo (truncated...)
 at /home/vito/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php:113)

PHP removal cli bug

For example.. if i have php 8.1 and i install php 8.2, then i remove php 8.1, it gets deleted from Default PHP Cli and then the PHP from sidebar menu vanishes. But if i go to servers/2/php, i can see the page. It should warn me to first change to another php version for cli and then let me delete it.

Support PostgreSQL

I think its good feature add suport for postgreSQL too, many devs use it. Im making a API (SAAS) basead on Schemas Databases and mysql don`t have it, only posgtesSQL.
I will be happy to use this project to manager my server/APIs if having support for postgreSQL.
..^_^..

Can locally installed instance manage local servers

Hi @saeedvaziry I have been trying to run Vito locally but it seems I'm finding my way out.

Let me add a screenshot here:
Screenshot from 2023-09-30 17-06-06

It is that I am doing something wrong that's why I have that warning message?

My use case is, can I use it to install a server on the same local machine, if so how will I configure the SSH details.

Thank You

Website Backup to S3

I love this project!

Would it be possible to add some sort of backup of sites / apps to S3.

Thanks!

Herd fresh installation: error on SSH

Hello
I followed instructions here: https://vitodeploy.com/introduction/installation.html#laravel-herd-or-valet for setting up VitoDeploy on my machine using Herd

When I try to create a server I get this error:

file_get_contents(): Read of 8352 bytes failed with errno=21 Is a directory

The problem is here:

@php

    $key = str(file_get_contents(storage_path(config('core.ssh_public_key_name'))))->replace("\n", "");

@endphp

I've seen that the .env.example missed some values:

SSH_PUBLIC_KEY_NAME=ssh-public.key
SSH_PRIVATE_KEY_NAME=ssh-private.pem

When I add them I get a fine not found exception

I think the documentation missed some points:

  • may I need to create a new ssh key for VitoDeploy?
  • should I put it inside strorage?

Thanks a lot for your work!

sail command is not working

i installed via docker and try to run this cmd ./vendor/bin/sail shell and getting
service "vito" is not running.

even ./vendor/bin/sail artisan migrate this is also not working

Ability to create site without connecting to source control

Hi,

First of all, thanks for the awesome work. I have been looking for something like this for ages.

I wanted to create a site without using source control, because I want to use PHP Deployer to achieve zero downtime deployment. However, the GUI does not allow me to leave these fields blank:
image

Wonder if it is possible to alter the creating new site behaviour a little bit so that users only enter minimal necessary info (e.g. site name, domain, PHP version, directory). The rest can be filled or set as a option/setting.

Cheers,
Louis

Increase test coverage

Currently, there are only Livewire tests.

Need to have unit tests to cover the Jobs and Commands as well.

The installation has been failed on step: Installing ufw (100%)

I am trying to add a new server. VPS Ubuntu 22.04 clean install.

I get the following error right at the end of the Installation on Vito

The installation has been failed on step: Installing ufw (100%)

The log file contains the following:

install-ufw

Default incoming policy changed to 'deny' (be sure to update your rules accordingly) Default outgoing policy changed to 'allow' (be sure to update your rules accordingly) Rules updated Rules updated Rules updated Firewall is active and enabled on system startup

ufw-status

โ—‹ ufw.service - Uncomplicated firewall Loaded: loaded (/lib/systemd/system/ufw.service; enabled; vendor preset: enabled) Active: inactive (dead) Docs: man:ufw(8)


I tried to troubleshoot by installing ufw using SSH, however, still the same error...

Installation without a domain

Stop forcing to have a domain for installation.

There should be an option during the installation to continue with domain or just the IP address.

in case of IP the default vhost should be deleted and default_server added to the generated vhost

Need File Manager

Its really a grate project. I would like to request for file manager feature for modifying file.

Thanks

instal my apps in the same server with vito

i install this dashboard and its working on my ip directly without domain thats fin my problem is
how to create my websites in the same server i'm using to host the dashbord

Server installation failed at 72% with empty log

I am trying to setup a server via Vito on a digital ocean and the setup failed at 72%. The failed step is installing php and log is empty for this step.
The screenshot
image

If you can guide on what did I do wrong it would be really great!
Appreciate the help.
Thanks and Regards

database backups

This will provide automated database backups and store the backups on the third-party storage providers

  • Connect to storage providers
  • Make backups
  • Upload them to storage providers
  • Ability to restore the backups

Everything already exists. Just need to prepare a UI for it.

dark mode toggle

Add an option to the menu bar to enable or disable the dark mode manually as well

Deployment Script skipping commands

My deployment script sometimes runs through all the commands fine, sometimes it only does half or 1 and 2 then stops/gets stuck, not sure if this a Vito issue or maybe a limitation on PHP's configuration or what, looking for any help here.

Here's my deployment script:

git pull origin main

composer install

npm install
npm run build

php artisan optimize:clear
php artisan config:clear
php artisan route:clear
php artisan view:clear

500 Server Error after clean install in VPS

I followed the installation instructions of the docs, I installed it in a Digital Ocean 512mb and 1vCPU with 10GB Disk space, and just got a default 500 Server Error after running command specified in docs:
(wget https://raw.githubusercontent.com/vitodeploy/vito/main/install/install.sh && bash install.sh)

I tried to test if I can login to mysql but it gave me this error, can't seem to figure out why it's not working, I got all the green OK checkmarks after running the initial install command, what else do I need to do?

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

Here's my .env file, didn't change anything, default values:

APP_NAME=Vito
APP_ENV=production
APP_KEY=base64:kXgYXYDEzpSMjZVTUmB2QfnC1R/YugrzHS249zB78Ag=
APP_DEBUG=false
APP_URL=https://vito.afanajdari.tech

LOG_CHANNEL=stack
LOG_LEVEL=debug

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=vito
DB_USERNAME=vito
DB_PASSWORD=7dDVf5Qh84EKs9sv

BROADCAST_DRIVER=pusher
CACHE_DRIVER=file
FILESYSTEM_DRIVER=local
QUEUE_CONNECTION=default
SESSION_DRIVER=database
SESSION_LIFETIME=120

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_MAILER=smtp
MAIL_HOST=mailhog
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=null
MAIL_FROM_NAME="${APP_NAME}"

AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=
AWS_USE_PATH_STYLE_ENDPOINT=false

PUSHER_APP_ID=app-id
PUSHER_APP_KEY=app-key
PUSHER_APP_SECRET=app-secret
PUSHER_HOST=soketi
PUSHER_PORT=6001
PUSHER_SCHEME=http
PUSHER_APP_CLUSTER=mt1
VITE_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
VITE_PUSHER_HOST="${PUSHER_HOST}"
VITE_PUSHER_PORT="${PUSHER_PORT}"
VITE_PUSHER_SCHEME="${PUSHER_SCHEME}"
VITE_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"

SSH_PUBLIC_KEY_NAME=ssh-public.key
SSH_PRIVATE_KEY_NAME=ssh-private.pem

GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=

ABLY_KEY=
ABLY_PUBLIC_KEY=

Also ran a linux command to see what services are running, only these are, don't know if anything is missing from here:

image

System Settings:

image

Unable to run in docker

When trying to run it in docker container, the following errors occured.
Am i doing it wrong or any specific instructions to run it in docker?

docker-compose up -d

=> ERROR [ 6/11] RUN groupadd --force -g  sail                                                                                                                                                                                                                                                                       0.2s
------
> [ 6/11] RUN groupadd --force -g  sail:
0.203 groupadd: invalid group ID 'sail'
------
Dockerfile:51
--------------------
 49 |     RUN setcap "cap_net_bind_service=+ep" /usr/bin/php8.1
 50 |     
 51 | >>> RUN groupadd --force -g $WWWGROUP sail
 52 |     RUN useradd -ms /bin/bash --no-user-group -g $WWWGROUP -u 1337 sail
 53 |     
--------------------
ERROR: failed to solve: process "/bin/sh -c groupadd --force -g $WWWGROUP sail" did not complete successfully: exit code: 3
ERROR: Service 'worker' failed to build : Build failed

.env file is not saving

Update .env file is not working for weird reason.
I have to manually login via ssh and update.

Node JS Version

Trying to install a site that requires Node JS version v18, but by default Vito installs Node v12, I changed the node version manually on the site/VPS that Vito created using nvm but it still shows me the v12 version, any help?

Deployment script, just to test version and try to install node packages:

npm --version
node --version

npm install

Result

8.5.1
v12.22.9
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '[email protected]',
npm WARN EBADENGINE required: { node: '>=14' },
npm WARN EBADENGINE current: { node: 'v12.22.9', npm: '8.5.1' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '[email protected]',
npm WARN EBADENGINE required: { node: '>=14.0.0' },
npm WARN EBADENGINE current: { node: 'v12.22.9', npm: '8.5.1' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '[email protected]',
npm WARN EBADENGINE required: { node: '>= 14' },
npm WARN EBADENGINE current: { node: 'v12.22.9', npm: '8.5.1' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '[email protected]',
npm WARN EBADENGINE required: { node: '>=14.18.0', npm: '>=8.0.0' },
npm WARN EBADENGINE current: { node: 'v12.22.9', npm: '8.5.1' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '[email protected]',
npm WARN EBADENGINE required: { node: '>=14.0.0' },
npm WARN EBADENGINE current: { node: 'v12.22.9', npm: '8.5.1' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '[email protected]',
npm WARN EBADENGINE required: { node: '^14.18.0 || >=16.0.0' },
npm WARN EBADENGINE current: { node: 'v12.22.9', npm: '8.5.1' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '[email protected]',
npm WARN EBADENGINE required: { node: '>= 14' },
npm WARN EBADENGINE current: { node: 'v12.22.9', npm: '8.5.1' }
npm WARN EBADENGINE }

up to date, audited 119 packages in 2s

20 packages are looking for funding
run `npm fund` for details

found 0 vulnerabilities

Actual node version of the site/VPS of the site I'm trying to install (logged in as SSH):

image

Upgrade Livewire to 3

Looks like there is no new version on Livewire 2 to cover #101 and Livewire 2 will eventually come to an EOL.

Add 2FA

Hi,

for security measure it would be good to be able to activatr 2FA.

regards

Create site empty

I want to request for a feature of creating a site without github, so it will be blank. some people might have file on pc they want to just upload for a quicktest

Is there a way to migrate from forge.laravel.com ?

Hi,

Thanks a lot for this wonderful project.

Is there a way to migrate a server currently managed by forge.laravel.com to VitoDeploy ?
I would like to use an existing server without having to reinstall it and all the websites.

Regards,

Site with Bitbucket repository creation error.

Hi, I keep getting an error when creating a site with a Bitbucket repository. I've created a repository level access token and I'm able to view repository information using Postman and the token. However the site creation fails with the following error in Vito's logs:

production.ERROR: install-site-error {"error":"App\\Exceptions\\FailedToDeployGitKey: This API is not accessible by this authentication mechanism in /home/vito/xxxx/app/SourceControlProviders/Bitbucket.php:120

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.