riipandi / altstack
Alpine.js、Laravel和Tailwind。一个替代的全栈开发解决方案。
Requires
- php: ^8.0.2
- fruitcake/laravel-cors: ^2.0.5
- guzzlehttp/guzzle: ^7.2
- laravel/framework: ^9.0
- laravel/sanctum: ^2.14
- laravel/tinker: ^2.7
Requires (Dev)
- fakerphp/faker: ^1.9.1
- laravel/sail: ^1.0.1
- mockery/mockery: ^1.4.4
- nunomaduro/collision: ^6.1
- phpunit/phpunit: ^9.5.10
- spatie/laravel-ignition: ^1.0
README
简介
AltStack是一个样板,旨在标准化几乎每个Web应用都需要的大部分设置。通过使用AltStack为您带来一点速度提升,您可以在每个新项目中节省最初的几个小时开发时间。这是使用Tailwind和Alpine.js作为默认预置的Laravel模板,并附带了一些实用的功能。
我正在使用这个模板(几乎是)所有的个人项目和商业项目,但请注意,我们不提供任何支持。我们不会保证代码(尤其是主分支)的稳定性。
简而言之:使用这个模板时,您需要自己负责。
快速开始
至少您需要PHP >= 8.0
和Nodejs >= 14.19
。对于数据库后端,您可以选择PostgreSQL >= 10
或MySQL >= 5.7
或MariaDB >= 10.3
或任何其他Laravel支持的数据库引擎。此外,您可能还想使用Redis >= 5.x
进行会话存储或缓存存储。当使用Laravel Sail进行开发时,可能需要Docker >= 20.10
。
默认情况下,我使用PostgreSQL作为主数据库。但,您可以通过.env
配置文件进行更改。
准备数据库
-- If using PostgreSQL: sudo -u postgres psql DROP DATABASE IF EXISTS "altstack"; DROP ROLE IF EXISTS "altstack"; CREATE ROLE "altstack" SUPERUSER CREATEDB CREATEROLE LOGIN ENCRYPTED PASSWORD 'passw0rd'; CREATE DATABASE "altstack"; GRANT ALL PRIVILEGES ON DATABASE "altstack" TO "altstack"; -- If using MariaDB 10.x: mysql -uroot -p DROP USER IF EXISTS `altstack`@`localhost`; DROP DATABASE IF EXISTS `altstack`; CREATE DATABASE `altstack`; GRANT ALL PRIVILEGES ON `altstack`.* TO `altstack`@`localhost` IDENTIFIED BY 'passw0rd' WITH GRANT OPTION;
创建新项目
# Use latest version: composer create-project riipandi/altstack <app_name> # If you want to use spesific version: composer create-project riipandi/altstack <app_name> <version>
将<app_name>
替换为您自己的名称,将<version>
替换为发布版本。请参阅发布页面获取版本号。
包版本
版本号将遵循Laravel版本的发布,然后是包发布号
x.y => x is Laravel version, y are AltStack version.
7.5 => Laravel 7.x.x, AltStack revision 5.
本地安装
编辑或创建.env
文件,然后执行
# Initialize project and dependencies composer install --no-suggest sail|php artisan key:generate sail|php artisan migrate:fresh --seed sail|php artisan storage:link # Compiling resources yarn install --non-interactive yarn dev
默认用户名为
admin
,密码为secret
。
示例部署
# Clone the project sudo mkdir -p /srv/altstack ; cd $_ sudo chown -R $(whoami): /srv/altstack git clone git@github.com:riipandi/altstack.git current # Fix folder permissions find /srv/altstack/. -type d -exec sudo chmod 0775 {} \; find /srv/altstack/. -type f -exec sudo chmod 0644 {} \; sudo chown -R $(whoami): /srv/altstack/current/.git sudo chmod -R 0777 /srv/altstack/current/{bootstrap/cache,storage} sudo chown -R webmaster:webmaster /srv/altstack sudo chmod 0777 /srv/altstack # Nginx virtualhost sudo touch /etc/nginx/vhost.d/altstack.conf cat /srv/altstack/current/stubs/vhost.nginx.stub | \ sudo tee /etc/nginx/vhost.d/altstack.conf > /dev/null sudo systemctl restart nginx && sudo systemctl status nginx # Supervisor daemon sudo touch /etc/supervisor/conf.d/altstack.conf cat /srv/altstack/current/stubs/supervisor.stub | \ sudo tee /etc/supervisor/conf.d/altstack.conf > /dev/null sudo supervisorctl reread && sudo supervisorctl update sudo supervisorctl restart altstack sudo systemctl status supervisor
安全问题
如果您发现任何与安全相关的问题,请通过riipandi@gmail.com发送电子邮件,而不是使用问题跟踪器。
感谢...
总的来说,我想感谢每一个开源他们的源代码的人,他们为开源社区做出贡献。您的工作意义重大!🌍 ❤️
许可证
本项目为开源软件,许可协议为MIT许可证。
本项目中的版权归其贡献者所有。有关更多信息,请参阅许可证文件。