automated-setup 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +69 -0
- package/compose_file/api_template.yaml +51 -0
- package/compose_file/full_template.yaml +64 -0
- package/compose_file/ui_template.yaml +17 -0
- package/config/nginx/conf.d/default.conf +48 -0
- package/config/nginx/error/access.log +28 -0
- package/config/nginx/error/error.log +399 -0
- package/config/php/local.ini +1948 -0
- package/config/php/pool.d/www.conf +490 -0
- package/docker_file/angular/Dockerfile +11 -0
- package/docker_file/astro/Dockerfile +12 -0
- package/docker_file/bun/Dockerfile +12 -0
- package/docker_file/django/Dockerfile +18 -0
- package/docker_file/dotnet/Dockerfile +11 -0
- package/docker_file/elixir/Dockerfile +20 -0
- package/docker_file/golang/Dockerfile +14 -0
- package/docker_file/java/Dockerfile +15 -0
- package/docker_file/kotlin/Dockerfile +15 -0
- package/docker_file/laravel/Dockerfile +24 -0
- package/docker_file/nextjs/Dockerfile +12 -0
- package/docker_file/nodejs/Dockerfile +13 -0
- package/docker_file/python/Dockerfile +17 -0
- package/docker_file/react/Dockerfile +11 -0
- package/docker_file/ruby/Dockerfile +18 -0
- package/docker_file/rust/Dockerfile +18 -0
- package/docker_file/svelte/Dockerfile +11 -0
- package/docker_file/vue/Dockerfile +11 -0
- package/package.json +28 -0
- package/setup.sh +143 -0
package/README.md
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# 🚀 Automated Project Setup
|
|
2
|
+
|
|
3
|
+
A powerful, dynamic tool to scaffold full-stack development environments with Docker. Automatically creates a standardized project structure with custom API, UI, and Database frameworks.
|
|
4
|
+
|
|
5
|
+
## ✨ Features
|
|
6
|
+
|
|
7
|
+
- **Multi-Language Support**: Laravel, Bun, Elixir, Java, Kotlin, .NET, Rust, Go, Python, Next.js, Astro, React, Vue, Svelte, Angular, etc.
|
|
8
|
+
- **Dynamic Database Selection**: PostgreSQL, MySQL, MariaDB, MongoDB, or Redis.
|
|
9
|
+
- **Granular Scaffolding**: Automatically selects the best `compose.yaml` for your project type.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 📦 Option A: NPM / NPX (Recommended)
|
|
14
|
+
|
|
15
|
+
The easiest way to use the tool without downloading the repository manually.
|
|
16
|
+
|
|
17
|
+
### 💨 Zero-Install (NPX)
|
|
18
|
+
|
|
19
|
+
Run it instantly from any folder:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npx automated-setup <PROJECT_NAME> <API_LANG> <UI_LANG> [DB_TYPE]
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### 🌍 Global Install (NPM)
|
|
26
|
+
|
|
27
|
+
Install it permanently on your system:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
npm install -g automated-setup
|
|
31
|
+
automated-setup <PROJECT_NAME> <API_LANG> <UI_LANG> [DB_TYPE]
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## 🛠 Option B: Manual Installation (GitHub)
|
|
37
|
+
|
|
38
|
+
Best for users who want to modify the templates or prefer a manual setup.
|
|
39
|
+
|
|
40
|
+
1. **Clone & Enter**:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
git clone https://github.com/your-username/AutomatedSetup.git
|
|
44
|
+
cd AutomatedSetup
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
2. **Install Globally**:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
chmod +x install.sh
|
|
51
|
+
sudo ./install.sh
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
3. **Usage**:
|
|
55
|
+
You can now run `auto-setup` from any folder.
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## 📁 Supported Options
|
|
60
|
+
|
|
61
|
+
| Category | Options |
|
|
62
|
+
| :----------------- | :------------------------------------------------------------------------------------------------------------- |
|
|
63
|
+
| **API / Monolith** | `bun`, `elixir`, `kotlin`, `laravel`, `java`, `dotnet`, `nodejs`, `python`, `django`, `rust`, `golang`, `ruby` |
|
|
64
|
+
| **UI** | `nextjs`, `astro`, `vue`, `react`, `angular`, `svelte` |
|
|
65
|
+
| **Database** | `postgres`, `mysql`, `mariadb`, `mongo`, `redis`, `none` |
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
_Maintained by Dxcode_
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
networks:
|
|
2
|
+
network:
|
|
3
|
+
driver: bridge
|
|
4
|
+
|
|
5
|
+
services:
|
|
6
|
+
api:
|
|
7
|
+
networks:
|
|
8
|
+
- network
|
|
9
|
+
build:
|
|
10
|
+
context: ./api
|
|
11
|
+
dockerfile: Dockerfile
|
|
12
|
+
container_name: api
|
|
13
|
+
restart: always
|
|
14
|
+
volumes:
|
|
15
|
+
- ./api:/var/www/html/api
|
|
16
|
+
- /var/www/html/api/vendor
|
|
17
|
+
environment:
|
|
18
|
+
- DB_HOST=db
|
|
19
|
+
- DB_PORT=__DB_PORT__
|
|
20
|
+
- DB_DATABASE=${DB_DATABASE:-project_db}
|
|
21
|
+
- DB_USERNAME=${DB_USERNAME:-user}
|
|
22
|
+
- DB_PASSWORD=${DB_PASSWORD:-password}
|
|
23
|
+
|
|
24
|
+
db:
|
|
25
|
+
networks:
|
|
26
|
+
- network
|
|
27
|
+
image: __DB_IMAGE__
|
|
28
|
+
container_name: db
|
|
29
|
+
restart: always
|
|
30
|
+
environment:
|
|
31
|
+
__DB_ENV__
|
|
32
|
+
ports:
|
|
33
|
+
- "__DB_PORT__:__DB_PORT__"
|
|
34
|
+
volumes:
|
|
35
|
+
- db_data:/var/lib/backend/data
|
|
36
|
+
|
|
37
|
+
webserver:
|
|
38
|
+
networks:
|
|
39
|
+
- network
|
|
40
|
+
image: nginx:alpine
|
|
41
|
+
container_name: webserver
|
|
42
|
+
restart: always
|
|
43
|
+
ports:
|
|
44
|
+
- "80:80"
|
|
45
|
+
volumes:
|
|
46
|
+
- ./api:/var/www/html/api
|
|
47
|
+
- ./infra/config/nginx/conf.d:/etc/nginx/conf.d
|
|
48
|
+
- ./infra/config/nginx/error:/var/log/nginx
|
|
49
|
+
|
|
50
|
+
volumes:
|
|
51
|
+
db_data:
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
networks:
|
|
2
|
+
network:
|
|
3
|
+
driver: bridge
|
|
4
|
+
|
|
5
|
+
services:
|
|
6
|
+
ui:
|
|
7
|
+
networks:
|
|
8
|
+
- network
|
|
9
|
+
build:
|
|
10
|
+
context: ./ui
|
|
11
|
+
dockerfile: Dockerfile
|
|
12
|
+
container_name: ui
|
|
13
|
+
ports:
|
|
14
|
+
- "3000:3000"
|
|
15
|
+
volumes:
|
|
16
|
+
- ./ui:/usr/src/app/ui
|
|
17
|
+
- /usr/src/app/ui/node_modules
|
|
18
|
+
|
|
19
|
+
api:
|
|
20
|
+
networks:
|
|
21
|
+
- network
|
|
22
|
+
build:
|
|
23
|
+
context: ./api
|
|
24
|
+
dockerfile: Dockerfile
|
|
25
|
+
container_name: api
|
|
26
|
+
restart: always
|
|
27
|
+
volumes:
|
|
28
|
+
- ./api:/var/www/html/api
|
|
29
|
+
- /var/www/html/api/vendor
|
|
30
|
+
environment:
|
|
31
|
+
- DB_HOST=db
|
|
32
|
+
- DB_PORT=__DB_PORT__
|
|
33
|
+
- DB_DATABASE=${DB_DATABASE:-project_db}
|
|
34
|
+
- DB_USERNAME=${DB_USERNAME:-user}
|
|
35
|
+
- DB_PASSWORD=${DB_PASSWORD:-password}
|
|
36
|
+
|
|
37
|
+
db:
|
|
38
|
+
networks:
|
|
39
|
+
- network
|
|
40
|
+
image: __DB_IMAGE__
|
|
41
|
+
container_name: db
|
|
42
|
+
restart: always
|
|
43
|
+
environment:
|
|
44
|
+
__DB_ENV__
|
|
45
|
+
ports:
|
|
46
|
+
- "__DB_PORT__:__DB_PORT__"
|
|
47
|
+
volumes:
|
|
48
|
+
- db_data:/var/lib/backend/data
|
|
49
|
+
|
|
50
|
+
webserver:
|
|
51
|
+
networks:
|
|
52
|
+
- network
|
|
53
|
+
image: nginx:alpine
|
|
54
|
+
container_name: webserver
|
|
55
|
+
restart: always
|
|
56
|
+
ports:
|
|
57
|
+
- "80:80"
|
|
58
|
+
volumes:
|
|
59
|
+
- ./api:/var/www/html/api
|
|
60
|
+
- ./infra/config/nginx/conf.d:/etc/nginx/conf.d
|
|
61
|
+
- ./infra/config/nginx/error:/var/log/nginx
|
|
62
|
+
|
|
63
|
+
volumes:
|
|
64
|
+
db_data:
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
networks:
|
|
2
|
+
network:
|
|
3
|
+
driver: bridge
|
|
4
|
+
|
|
5
|
+
services:
|
|
6
|
+
ui:
|
|
7
|
+
networks:
|
|
8
|
+
- network
|
|
9
|
+
build:
|
|
10
|
+
context: ./ui
|
|
11
|
+
dockerfile: Dockerfile
|
|
12
|
+
container_name: ui
|
|
13
|
+
ports:
|
|
14
|
+
- "3000:3000"
|
|
15
|
+
volumes:
|
|
16
|
+
- ./ui:/usr/src/app/ui
|
|
17
|
+
- /usr/src/app/ui/node_modules
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
server {
|
|
2
|
+
listen 80; # Listen on port 80
|
|
3
|
+
index index.php index.html; # Default index files
|
|
4
|
+
error_log /var/log/nginx/error.log debug; # Log errors to specified file
|
|
5
|
+
access_log /var/log/nginx/access.log; # Log access to specified file
|
|
6
|
+
root /var/www/html/api/public; # Root directory for serving files (matches volume mount)
|
|
7
|
+
|
|
8
|
+
# Security headers
|
|
9
|
+
add_header X-Frame-Options "SAMEORIGIN";
|
|
10
|
+
add_header X-XSS-Protection "1; mode=block";
|
|
11
|
+
add_header X-Content-Type-Options "nosniff";
|
|
12
|
+
|
|
13
|
+
# PHP handling
|
|
14
|
+
location ~ \.php$ {
|
|
15
|
+
try_files $uri =404;
|
|
16
|
+
fastcgi_split_path_info ^(.+\.php)(/.+)$;
|
|
17
|
+
fastcgi_pass api:9000; # Change 'api' to your PHP-FPM service name if different
|
|
18
|
+
fastcgi_index index.php;
|
|
19
|
+
include fastcgi_params;
|
|
20
|
+
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
|
21
|
+
fastcgi_param PATH_INFO $fastcgi_path_info;
|
|
22
|
+
|
|
23
|
+
fastcgi_intercept_errors off;
|
|
24
|
+
fastcgi_buffer_size 16k;
|
|
25
|
+
fastcgi_buffers 4 16k;
|
|
26
|
+
fastcgi_connect_timeout 300;
|
|
27
|
+
fastcgi_send_timeout 300;
|
|
28
|
+
fastcgi_read_timeout 300;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
# Static file serving and Laravel 500 errors
|
|
32
|
+
location / {
|
|
33
|
+
add_header 'Access-Control-Allow-Origin' '*';
|
|
34
|
+
add_header 'Access-Control-Allow-Methods' '*';
|
|
35
|
+
add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
|
|
36
|
+
add_header 'Access-Control-Max-Age' 1728000;
|
|
37
|
+
add_header 'Content-Type' 'text/plain; charset=utf-8';
|
|
38
|
+
add_header 'Content-Length' 0;
|
|
39
|
+
|
|
40
|
+
try_files $uri $uri/ /index.php?$query_string;
|
|
41
|
+
gzip_static on;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
# Deny access to hidden files
|
|
45
|
+
location ~ /\.(?!well-known).* {
|
|
46
|
+
deny all;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
172.22.0.1 - - [16/Sep/2025:07:15:41 +0000] "GET / HTTP/1.1" 404 555 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"
|
|
2
|
+
172.22.0.1 - - [16/Sep/2025:07:15:43 +0000] "GET / HTTP/1.1" 404 555 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"
|
|
3
|
+
172.22.0.1 - - [16/Sep/2025:07:15:43 +0000] "GET / HTTP/1.1" 404 555 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"
|
|
4
|
+
172.22.0.1 - - [16/Sep/2025:07:15:46 +0000] "GET / HTTP/1.1" 404 555 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"
|
|
5
|
+
172.22.0.1 - - [16/Sep/2025:07:17:27 +0000] "GET / HTTP/1.1" 404 555 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"
|
|
6
|
+
172.22.0.1 - - [16/Sep/2025:07:17:28 +0000] "GET / HTTP/1.1" 404 555 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"
|
|
7
|
+
172.22.0.1 - - [16/Sep/2025:07:17:40 +0000] "GET / HTTP/1.1" 404 555 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"
|
|
8
|
+
172.22.0.1 - - [16/Sep/2025:07:17:42 +0000] "GET / HTTP/1.1" 404 555 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"
|
|
9
|
+
172.22.0.1 - - [16/Sep/2025:07:17:42 +0000] "GET / HTTP/1.1" 404 555 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"
|
|
10
|
+
172.22.0.1 - - [16/Sep/2025:07:17:42 +0000] "GET / HTTP/1.1" 404 555 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"
|
|
11
|
+
172.22.0.1 - - [16/Sep/2025:07:18:56 +0000] "GET / HTTP/1.1" 404 555 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"
|
|
12
|
+
172.22.0.1 - - [16/Sep/2025:07:18:57 +0000] "GET / HTTP/1.1" 404 555 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"
|
|
13
|
+
172.22.0.1 - - [16/Sep/2025:07:18:57 +0000] "GET / HTTP/1.1" 404 555 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"
|
|
14
|
+
172.22.0.1 - - [16/Sep/2025:07:19:09 +0000] "GET / HTTP/1.1" 500 579 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"
|
|
15
|
+
172.22.0.1 - - [16/Sep/2025:07:19:12 +0000] "GET / HTTP/1.1" 500 579 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"
|
|
16
|
+
172.22.0.1 - - [16/Sep/2025:07:19:12 +0000] "GET / HTTP/1.1" 500 579 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"
|
|
17
|
+
172.22.0.1 - - [16/Sep/2025:07:19:12 +0000] "GET / HTTP/1.1" 500 579 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"
|
|
18
|
+
172.22.0.1 - - [16/Sep/2025:07:22:04 +0000] "GET / HTTP/1.1" 500 579 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"
|
|
19
|
+
172.22.0.1 - - [16/Sep/2025:07:22:05 +0000] "GET / HTTP/1.1" 500 579 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"
|
|
20
|
+
172.22.0.1 - - [16/Sep/2025:07:22:05 +0000] "GET / HTTP/1.1" 500 579 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"
|
|
21
|
+
172.22.0.1 - - [16/Sep/2025:07:22:06 +0000] "GET / HTTP/1.1" 500 579 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"
|
|
22
|
+
172.22.0.1 - - [16/Sep/2025:07:23:10 +0000] "GET / HTTP/1.1" 500 579 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"
|
|
23
|
+
172.22.0.1 - - [16/Sep/2025:07:23:10 +0000] "GET / HTTP/1.1" 500 579 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"
|
|
24
|
+
172.22.0.1 - - [16/Sep/2025:07:28:37 +0000] "GET / HTTP/1.1" 500 165273 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"
|
|
25
|
+
172.22.0.1 - - [16/Sep/2025:07:30:38 +0000] "GET / HTTP/1.1" 200 81793 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"
|
|
26
|
+
172.22.0.1 - - [16/Sep/2025:07:34:47 +0000] "GET / HTTP/1.1" 200 81770 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"
|
|
27
|
+
172.22.0.1 - - [16/Sep/2025:23:42:08 +0000] "GET /favicon.ico HTTP/1.1" 404 555 "http://127.0.0.1/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"
|
|
28
|
+
172.22.0.1 - - [17/Sep/2025:03:14:20 +0000] "GET /login HTTP/1.1" 404 555 "http://127.0.0.1/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"
|