Compare commits
3 commits
v2026.01.2
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
8ebf61d72d |
|||
|
7e34b8a732 |
|||
|
cf33bea333 |
4 changed files with 182 additions and 3 deletions
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'name' => env('APP_NAME', 'wah.moe'),
|
'name' => env('APP_NAME', 'wah.moe'),
|
||||||
'version' => '2026.01.23-patch0',
|
'version' => '2026.01.25',
|
||||||
'env' => env('APP_ENV', 'production'),
|
'env' => env('APP_ENV', 'production'),
|
||||||
'debug' => (bool)env('APP_DEBUG', false),
|
'debug' => (bool)env('APP_DEBUG', false),
|
||||||
'url' => env('APP_URL', 'http://localhost'),
|
'url' => env('APP_URL', 'http://localhost'),
|
||||||
|
|
|
||||||
178
nixpacks.toml
Normal file
178
nixpacks.toml
Normal file
|
|
@ -0,0 +1,178 @@
|
||||||
|
[phases.setup]
|
||||||
|
nixPkgs = ["...", "python311Packages.supervisor"]
|
||||||
|
|
||||||
|
[phases.build]
|
||||||
|
cmds = [
|
||||||
|
"mkdir -p /etc/supervisor/conf.d/",
|
||||||
|
"cp /assets/worker-*.conf /etc/supervisor/conf.d/",
|
||||||
|
"cp /assets/supervisord.conf /etc/supervisord.conf",
|
||||||
|
"chmod +x /assets/start.sh",
|
||||||
|
"..."
|
||||||
|
]
|
||||||
|
|
||||||
|
[start]
|
||||||
|
cmd = '/assets/start.sh'
|
||||||
|
|
||||||
|
[staticAssets]
|
||||||
|
"start.sh" = '''
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Transform the nginx configuration
|
||||||
|
node /assets/scripts/prestart.mjs /assets/nginx.template.conf /etc/nginx.conf
|
||||||
|
|
||||||
|
# Start supervisor
|
||||||
|
supervisord -c /etc/supervisord.conf -n
|
||||||
|
'''
|
||||||
|
|
||||||
|
"supervisord.conf" = '''
|
||||||
|
[unix_http_server]
|
||||||
|
file=/assets/supervisor.sock
|
||||||
|
|
||||||
|
[supervisord]
|
||||||
|
logfile=/var/log/supervisord.log
|
||||||
|
logfile_maxbytes=50MB
|
||||||
|
logfile_backups=10
|
||||||
|
loglevel=info
|
||||||
|
pidfile=/assets/supervisord.pid
|
||||||
|
nodaemon=false
|
||||||
|
silent=false
|
||||||
|
minfds=1024
|
||||||
|
minprocs=200
|
||||||
|
|
||||||
|
[rpcinterface:supervisor]
|
||||||
|
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
|
||||||
|
|
||||||
|
[supervisorctl]
|
||||||
|
serverurl=unix:///assets/supervisor.sock
|
||||||
|
|
||||||
|
[include]
|
||||||
|
files = /etc/supervisor/conf.d/*.conf
|
||||||
|
'''
|
||||||
|
|
||||||
|
"worker-nginx.conf" = '''
|
||||||
|
[program:worker-nginx]
|
||||||
|
process_name=%(program_name)s_%(process_num)02d
|
||||||
|
command=nginx -c /etc/nginx.conf
|
||||||
|
autostart=true
|
||||||
|
autorestart=true
|
||||||
|
stdout_logfile=/var/log/worker-nginx.log
|
||||||
|
stderr_logfile=/var/log/worker-nginx.log
|
||||||
|
'''
|
||||||
|
|
||||||
|
"worker-phpfpm.conf" = '''
|
||||||
|
[program:worker-phpfpm]
|
||||||
|
process_name=%(program_name)s_%(process_num)02d
|
||||||
|
command=php-fpm -y /assets/php-fpm.conf -F
|
||||||
|
autostart=true
|
||||||
|
autorestart=true
|
||||||
|
stdout_logfile=/var/log/worker-phpfpm.log
|
||||||
|
stderr_logfile=/var/log/worker-phpfpm.log
|
||||||
|
'''
|
||||||
|
|
||||||
|
"worker-laravel.conf" = '''
|
||||||
|
[program:worker-laravel]
|
||||||
|
process_name=%(program_name)s_%(process_num)02d
|
||||||
|
command=bash -c 'exec php /app/artisan queue:work --sleep=3 --tries=3 --max-time=3600'
|
||||||
|
autostart=true
|
||||||
|
autorestart=true
|
||||||
|
stopasgroup=true
|
||||||
|
killasgroup=true
|
||||||
|
numprocs=12 # To reduce memory/CPU usage, change to 2.
|
||||||
|
startsecs=0
|
||||||
|
stopwaitsecs=3600
|
||||||
|
stdout_logfile=/var/log/worker-laravel.log
|
||||||
|
stderr_logfile=/var/log/worker-laravel.log
|
||||||
|
'''
|
||||||
|
|
||||||
|
"php-fpm.conf" = '''
|
||||||
|
[www]
|
||||||
|
listen = 127.0.0.1:9000
|
||||||
|
user = www-data
|
||||||
|
group = www-data
|
||||||
|
listen.owner = www-data
|
||||||
|
listen.group = www-data
|
||||||
|
pm = dynamic
|
||||||
|
pm.max_children = 50
|
||||||
|
pm.min_spare_servers = 4
|
||||||
|
pm.max_spare_servers = 32
|
||||||
|
pm.start_servers = 18
|
||||||
|
clear_env = no
|
||||||
|
php_admin_value[post_max_size] = 35M
|
||||||
|
php_admin_value[upload_max_filesize] = 30M
|
||||||
|
'''
|
||||||
|
|
||||||
|
"nginx.template.conf" = '''
|
||||||
|
user www-data www-data;
|
||||||
|
worker_processes 5;
|
||||||
|
daemon off;
|
||||||
|
|
||||||
|
worker_rlimit_nofile 8192;
|
||||||
|
|
||||||
|
events {
|
||||||
|
worker_connections 4096; # Default: 1024
|
||||||
|
}
|
||||||
|
|
||||||
|
http {
|
||||||
|
include $!{nginx}/conf/mime.types;
|
||||||
|
index index.html index.htm index.php;
|
||||||
|
|
||||||
|
default_type application/octet-stream;
|
||||||
|
log_format main '$remote_addr - $remote_user [$time_local] $status '
|
||||||
|
'"$request" $body_bytes_sent "$http_referer" '
|
||||||
|
'"$http_user_agent" "$http_x_forwarded_for"';
|
||||||
|
access_log /var/log/nginx-access.log;
|
||||||
|
error_log /var/log/nginx-error.log;
|
||||||
|
sendfile on;
|
||||||
|
tcp_nopush on;
|
||||||
|
server_names_hash_bucket_size 128; # this seems to be required for some vhosts
|
||||||
|
|
||||||
|
server {
|
||||||
|
listen ${PORT};
|
||||||
|
listen [::]:${PORT};
|
||||||
|
server_name localhost;
|
||||||
|
|
||||||
|
$if(NIXPACKS_PHP_ROOT_DIR) (
|
||||||
|
root ${NIXPACKS_PHP_ROOT_DIR};
|
||||||
|
) else (
|
||||||
|
root /app;
|
||||||
|
)
|
||||||
|
|
||||||
|
add_header X-Content-Type-Options "nosniff";
|
||||||
|
|
||||||
|
client_max_body_size 35M;
|
||||||
|
|
||||||
|
index index.php;
|
||||||
|
|
||||||
|
charset utf-8;
|
||||||
|
|
||||||
|
|
||||||
|
$if(NIXPACKS_PHP_FALLBACK_PATH) (
|
||||||
|
location / {
|
||||||
|
try_files $uri $uri/ ${NIXPACKS_PHP_FALLBACK_PATH}?$query_string;
|
||||||
|
}
|
||||||
|
) else (
|
||||||
|
location / {
|
||||||
|
try_files $uri $uri/ /index.php?$query_string;
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
location = /favicon.ico { access_log off; log_not_found off; }
|
||||||
|
location = /robots.txt { access_log off; log_not_found off; }
|
||||||
|
|
||||||
|
$if(IS_LARAVEL) (
|
||||||
|
error_page 404 /index.php;
|
||||||
|
) else ()
|
||||||
|
|
||||||
|
location ~ \.php$ {
|
||||||
|
fastcgi_pass 127.0.0.1:9000;
|
||||||
|
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
|
||||||
|
include $!{nginx}/conf/fastcgi_params;
|
||||||
|
include $!{nginx}/conf/fastcgi.conf;
|
||||||
|
}
|
||||||
|
|
||||||
|
location ~ /\.(?!well-known).* {
|
||||||
|
deny all;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
'''
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite",
|
"dev": "vite",
|
||||||
"build": "vite build"
|
"build": ""
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"axios": "^1.1.2",
|
"axios": "^1.1.2",
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,8 @@
|
||||||
<ul>
|
<ul>
|
||||||
<li><strong>Tech Theatre</strong> - Lighting, Sound, etc.</li>
|
<li><strong>Tech Theatre</strong> - Lighting, Sound, etc.</li>
|
||||||
<li><strong>Programming</strong> - HTML, CSS, JavaScript, C#, Java, PHP, Ruby, Python (<a
|
<li><strong>Programming</strong> - HTML, CSS, JavaScript, C#, Java, PHP, Ruby, Python (<a
|
||||||
href="https://github.com/RoscoeDaWah"><font color="#000000">GitHub</font></a>)</li>
|
href="https://codeberg.org/RoscoeDaWah"><font color="#000000">Codeberg</font></a>/
|
||||||
|
<a href="https://git.frzn.dev/RoscoeDaWah"><font color="#000000">Forgejo</font></a>)</li>
|
||||||
<li><strong>Photography</strong> - <a href="https://www.flickr.com/photos/roscoedawah/"><font color="#000000">Flickr</font></a></li>
|
<li><strong>Photography</strong> - <a href="https://www.flickr.com/photos/roscoedawah/"><font color="#000000">Flickr</font></a></li>
|
||||||
<li><strong>Gaming</strong> - <a href="https://steamcommunity.com/id/RoscoeDaWah/"><font color="#000000">Steam Profile</font></a>
|
<li><strong>Gaming</strong> - <a href="https://steamcommunity.com/id/RoscoeDaWah/"><font color="#000000">Steam Profile</font></a>
|
||||||
</li>
|
</li>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue