cloudron 8.0.0 → 8.0.2
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/bin/cloudron +13 -2
- package/package.json +1 -1
- package/src/actions.js +105 -34
- package/src/helper.js +5 -3
- package/src/templates/flask/CloudronManifest.json +25 -0
- package/src/templates/flask/Dockerfile +16 -0
- package/src/templates/flask/app/__init__.py +5 -0
- package/src/templates/flask/app/views.py +5 -0
- package/src/templates/flask/dockerignore +5 -0
- package/src/templates/flask/requirements.txt +1 -0
- package/src/templates/flask/run.py +4 -0
- package/src/templates/flask/start.sh +8 -0
- package/src/templates/flask/supervisor/uwsgi.conf +12 -0
- package/src/templates/flask/template.json +3 -0
- package/src/templates/flask/uwsgi.ini +6 -0
- package/src/templates/lamp/CloudronManifest.json +26 -0
- package/src/templates/lamp/Dockerfile +27 -0
- package/src/templates/lamp/apache/app.conf +17 -0
- package/src/templates/lamp/apache/mpm_prefork.conf +7 -0
- package/src/templates/lamp/dockerignore +4 -0
- package/src/templates/lamp/index.php +18 -0
- package/src/templates/lamp/start.sh +9 -0
- package/src/templates/lamp/template.json +3 -0
- package/src/templates/lamp-composer/CloudronManifest.json +26 -0
- package/src/templates/lamp-composer/Dockerfile +30 -0
- package/src/templates/lamp-composer/apache/app.conf +17 -0
- package/src/templates/lamp-composer/apache/mpm_prefork.conf +7 -0
- package/src/templates/lamp-composer/composer.json +8 -0
- package/src/templates/lamp-composer/dockerignore +5 -0
- package/src/templates/lamp-composer/public/index.php +20 -0
- package/src/templates/lamp-composer/start.sh +9 -0
- package/src/templates/lamp-composer/template.json +3 -0
- package/src/templates/lemp/CloudronManifest.json +26 -0
- package/src/templates/lemp/Dockerfile +27 -0
- package/src/templates/lemp/dockerignore +4 -0
- package/src/templates/lemp/index.php +18 -0
- package/src/templates/lemp/nginx/app.conf +22 -0
- package/src/templates/lemp/start.sh +11 -0
- package/src/templates/lemp/template.json +3 -0
- package/src/templates/nextjs/CloudronManifest.json +25 -0
- package/src/templates/nextjs/Dockerfile +14 -0
- package/src/templates/nextjs/app/layout.js +12 -0
- package/src/templates/nextjs/app/page.js +7 -0
- package/src/templates/nextjs/dockerignore +5 -0
- package/src/templates/nextjs/next.config.mjs +6 -0
- package/src/templates/nextjs/package.json +15 -0
- package/src/templates/nextjs/start.sh +9 -0
- package/src/templates/nextjs/template.json +3 -0
- package/src/templates/nodejs/CloudronManifest.json +25 -0
- package/src/templates/nodejs/Dockerfile +10 -0
- package/src/templates/nodejs/dockerignore +4 -0
- package/src/templates/nodejs/package.json +11 -0
- package/src/templates/nodejs/server.js +12 -0
- package/src/templates/nodejs/start.sh +9 -0
- package/src/templates/nodejs/template.json +3 -0
- package/src/templates/nodejs-mongodb/CloudronManifest.json +26 -0
- package/src/templates/nodejs-mongodb/Dockerfile +10 -0
- package/src/templates/nodejs-mongodb/dockerignore +4 -0
- package/src/templates/nodejs-mongodb/package.json +14 -0
- package/src/templates/nodejs-mongodb/server.js +24 -0
- package/src/templates/nodejs-mongodb/start.sh +9 -0
- package/src/templates/nodejs-mongodb/template.json +3 -0
- package/src/templates/rails/CloudronManifest.json +26 -0
- package/src/templates/rails/Dockerfile +16 -0
- package/src/templates/rails/Gemfile +5 -0
- package/src/templates/rails/config/database.yml +4 -0
- package/src/templates/rails/config/puma.rb +9 -0
- package/src/templates/rails/dockerignore +7 -0
- package/src/templates/rails/public/index.html +12 -0
- package/src/templates/rails/start.sh +14 -0
- package/src/templates/rails/supervisor/puma.conf +12 -0
- package/src/templates/rails/template.json +3 -0
- package/src/templates/static/CloudronManifest.json +25 -0
- package/src/templates/static/Dockerfile +17 -0
- package/src/templates/static/apache/app.conf +13 -0
- package/src/templates/static/apache/mpm_prefork.conf +7 -0
- package/src/templates/static/dockerignore +3 -0
- package/src/templates/static/public/index.html +11 -0
- package/src/templates/static/start.sh +7 -0
- package/src/templates/static/template.json +3 -0
- package/test/test.js +1 -1
- /package/src/templates/{CloudronManifest.appstore.json.ejs → default/CloudronManifest.json.ejs} +0 -0
- /package/src/templates/{CloudronManifest.json.ejs → default/CloudronManifest.minimal.json.ejs} +0 -0
- /package/src/templates/{Dockerfile.ejs → default/Dockerfile.ejs} +0 -0
- /package/src/templates/{dockerignore.ejs → default/dockerignore.ejs} +0 -0
- /package/src/templates/{start.sh.ejs → default/start.sh.ejs} +0 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"upstreamVersion": "",
|
|
5
|
+
"minBoxVersion": "9.0.0",
|
|
6
|
+
"title": "",
|
|
7
|
+
"author": "",
|
|
8
|
+
"description": "file://DESCRIPTION.md",
|
|
9
|
+
"tagline": "",
|
|
10
|
+
"website": "",
|
|
11
|
+
"contactEmail": "",
|
|
12
|
+
"iconUrl": "file://logo.png",
|
|
13
|
+
"healthCheckPath": "/",
|
|
14
|
+
"mediaLinks": [],
|
|
15
|
+
"httpPort": 3000,
|
|
16
|
+
"tags": [],
|
|
17
|
+
"changelog": "file://CHANGELOG",
|
|
18
|
+
"postInstallMessage": "file://POSTINSTALL.md",
|
|
19
|
+
"documentationUrl": "",
|
|
20
|
+
"forumUrl": "",
|
|
21
|
+
"addons": {
|
|
22
|
+
"localstorage": {},
|
|
23
|
+
"mysql": {}
|
|
24
|
+
},
|
|
25
|
+
"manifestVersion": 2
|
|
26
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
FROM cloudron/base:5.0.0@sha256:04fd70dbd8ad6149c19de39e35718e024417c3e01dc9c6637eaf4a41ec4e596c
|
|
2
|
+
|
|
3
|
+
RUN mkdir -p /app/code
|
|
4
|
+
WORKDIR /app/code
|
|
5
|
+
|
|
6
|
+
COPY nginx/app.conf /etc/nginx/sites-available/app
|
|
7
|
+
RUN rm -f /etc/nginx/sites-enabled/* && \
|
|
8
|
+
ln -s /etc/nginx/sites-available/app /etc/nginx/sites-enabled/app
|
|
9
|
+
|
|
10
|
+
RUN crudini --set /etc/php/8.3/fpm/php.ini PHP upload_max_filesize 256M && \
|
|
11
|
+
crudini --set /etc/php/8.3/fpm/php.ini PHP post_max_size 256M && \
|
|
12
|
+
crudini --set /etc/php/8.3/fpm/php.ini PHP memory_limit 256M && \
|
|
13
|
+
crudini --set /etc/php/8.3/fpm/php.ini PHP max_execution_time 200 && \
|
|
14
|
+
crudini --set /etc/php/8.3/fpm/php.ini Session session.save_path /run/app/sessions && \
|
|
15
|
+
crudini --set /etc/php/8.3/fpm/php.ini Session session.gc_probability 1 && \
|
|
16
|
+
crudini --set /etc/php/8.3/fpm/php.ini Session session.gc_divisor 100
|
|
17
|
+
|
|
18
|
+
RUN crudini --set /etc/php/8.3/fpm/pool.d/www.conf www user cloudron && \
|
|
19
|
+
crudini --set /etc/php/8.3/fpm/pool.d/www.conf www group cloudron && \
|
|
20
|
+
crudini --set /etc/php/8.3/fpm/pool.d/www.conf www listen /run/php-fpm.sock && \
|
|
21
|
+
crudini --set /etc/php/8.3/fpm/pool.d/www.conf www listen.owner cloudron && \
|
|
22
|
+
crudini --set /etc/php/8.3/fpm/pool.d/www.conf www listen.group cloudron
|
|
23
|
+
|
|
24
|
+
COPY index.php start.sh /app/code/
|
|
25
|
+
RUN chown -R cloudron:cloudron /app/code
|
|
26
|
+
|
|
27
|
+
CMD [ "/app/code/start.sh" ]
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<?php
|
|
2
|
+
$host = getenv("CLOUDRON_MYSQL_HOST");
|
|
3
|
+
$port = getenv("CLOUDRON_MYSQL_PORT");
|
|
4
|
+
$username = getenv("CLOUDRON_MYSQL_USERNAME");
|
|
5
|
+
$password = getenv("CLOUDRON_MYSQL_PASSWORD");
|
|
6
|
+
$database = getenv("CLOUDRON_MYSQL_DATABASE");
|
|
7
|
+
|
|
8
|
+
echo "<h1>Hello from Cloudron!</h1>\n";
|
|
9
|
+
|
|
10
|
+
try {
|
|
11
|
+
$dsn = "mysql:host=$host;port=$port;dbname=$database";
|
|
12
|
+
$pdo = new PDO($dsn, $username, $password);
|
|
13
|
+
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
|
14
|
+
echo "<p>MySQL connection successful.</p>\n";
|
|
15
|
+
} catch (PDOException $e) {
|
|
16
|
+
echo "<p>MySQL connection failed: " . htmlspecialchars($e->getMessage()) . "</p>\n";
|
|
17
|
+
}
|
|
18
|
+
?>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
server {
|
|
2
|
+
listen 3000;
|
|
3
|
+
|
|
4
|
+
root /app/code;
|
|
5
|
+
index index.php index.html;
|
|
6
|
+
|
|
7
|
+
client_max_body_size 256M;
|
|
8
|
+
|
|
9
|
+
location / {
|
|
10
|
+
try_files $uri $uri/ /index.php?$query_string;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
location ~ \.php$ {
|
|
14
|
+
include snippets/fastcgi-php.conf;
|
|
15
|
+
fastcgi_pass unix:/run/php-fpm.sock;
|
|
16
|
+
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
location ~ /\. {
|
|
20
|
+
deny all;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"upstreamVersion": "",
|
|
5
|
+
"minBoxVersion": "9.0.0",
|
|
6
|
+
"title": "",
|
|
7
|
+
"author": "",
|
|
8
|
+
"description": "file://DESCRIPTION.md",
|
|
9
|
+
"tagline": "",
|
|
10
|
+
"website": "",
|
|
11
|
+
"contactEmail": "",
|
|
12
|
+
"iconUrl": "file://logo.png",
|
|
13
|
+
"healthCheckPath": "/",
|
|
14
|
+
"mediaLinks": [],
|
|
15
|
+
"httpPort": 3000,
|
|
16
|
+
"tags": [],
|
|
17
|
+
"changelog": "file://CHANGELOG",
|
|
18
|
+
"postInstallMessage": "file://POSTINSTALL.md",
|
|
19
|
+
"documentationUrl": "",
|
|
20
|
+
"forumUrl": "",
|
|
21
|
+
"addons": {
|
|
22
|
+
"localstorage": {}
|
|
23
|
+
},
|
|
24
|
+
"manifestVersion": 2
|
|
25
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
FROM cloudron/base:5.0.0@sha256:04fd70dbd8ad6149c19de39e35718e024417c3e01dc9c6637eaf4a41ec4e596c
|
|
2
|
+
|
|
3
|
+
RUN mkdir -p /app/code
|
|
4
|
+
WORKDIR /app/code
|
|
5
|
+
|
|
6
|
+
COPY package.json package-lock.json* /app/code/
|
|
7
|
+
|
|
8
|
+
RUN npm install
|
|
9
|
+
|
|
10
|
+
COPY . /app/code/
|
|
11
|
+
|
|
12
|
+
RUN npm run build
|
|
13
|
+
|
|
14
|
+
CMD [ "/app/code/start.sh" ]
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "app",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"private": true,
|
|
5
|
+
"scripts": {
|
|
6
|
+
"dev": "next dev",
|
|
7
|
+
"build": "next build",
|
|
8
|
+
"start": "next start"
|
|
9
|
+
},
|
|
10
|
+
"dependencies": {
|
|
11
|
+
"next": "^15.0.0",
|
|
12
|
+
"react": "^19.0.0",
|
|
13
|
+
"react-dom": "^19.0.0"
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"upstreamVersion": "",
|
|
5
|
+
"minBoxVersion": "9.0.0",
|
|
6
|
+
"title": "",
|
|
7
|
+
"author": "",
|
|
8
|
+
"description": "file://DESCRIPTION.md",
|
|
9
|
+
"tagline": "",
|
|
10
|
+
"website": "",
|
|
11
|
+
"contactEmail": "",
|
|
12
|
+
"iconUrl": "file://logo.png",
|
|
13
|
+
"healthCheckPath": "/",
|
|
14
|
+
"mediaLinks": [],
|
|
15
|
+
"httpPort": 3000,
|
|
16
|
+
"tags": [],
|
|
17
|
+
"changelog": "file://CHANGELOG",
|
|
18
|
+
"postInstallMessage": "file://POSTINSTALL.md",
|
|
19
|
+
"documentationUrl": "",
|
|
20
|
+
"forumUrl": "",
|
|
21
|
+
"addons": {
|
|
22
|
+
"localstorage": {}
|
|
23
|
+
},
|
|
24
|
+
"manifestVersion": 2
|
|
25
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var http = require("http");
|
|
4
|
+
|
|
5
|
+
var server = http.createServer(function (request, response) {
|
|
6
|
+
response.writeHead(200, {"Content-Type": "text/plain"});
|
|
7
|
+
response.end("Hello World\n");
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
server.listen(3000);
|
|
11
|
+
|
|
12
|
+
console.log("Server running at port 3000");
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"upstreamVersion": "",
|
|
5
|
+
"minBoxVersion": "9.0.0",
|
|
6
|
+
"title": "",
|
|
7
|
+
"author": "",
|
|
8
|
+
"description": "file://DESCRIPTION.md",
|
|
9
|
+
"tagline": "",
|
|
10
|
+
"website": "",
|
|
11
|
+
"contactEmail": "",
|
|
12
|
+
"iconUrl": "file://logo.png",
|
|
13
|
+
"healthCheckPath": "/",
|
|
14
|
+
"mediaLinks": [],
|
|
15
|
+
"httpPort": 3000,
|
|
16
|
+
"tags": [],
|
|
17
|
+
"changelog": "file://CHANGELOG",
|
|
18
|
+
"postInstallMessage": "file://POSTINSTALL.md",
|
|
19
|
+
"documentationUrl": "",
|
|
20
|
+
"forumUrl": "",
|
|
21
|
+
"addons": {
|
|
22
|
+
"localstorage": {},
|
|
23
|
+
"mongodb": {}
|
|
24
|
+
},
|
|
25
|
+
"manifestVersion": 2
|
|
26
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var http = require("http");
|
|
4
|
+
var { MongoClient } = require("mongodb");
|
|
5
|
+
|
|
6
|
+
var mongoUrl = process.env.CLOUDRON_MONGODB_URL;
|
|
7
|
+
|
|
8
|
+
var server = http.createServer(async function (request, response) {
|
|
9
|
+
response.writeHead(200, { "Content-Type": "text/plain" });
|
|
10
|
+
|
|
11
|
+
try {
|
|
12
|
+
var client = await MongoClient.connect(mongoUrl);
|
|
13
|
+
var db = client.db();
|
|
14
|
+
var result = await db.command({ ping: 1 });
|
|
15
|
+
client.close();
|
|
16
|
+
response.end("Hello World\nMongoDB connection successful: " + JSON.stringify(result) + "\n");
|
|
17
|
+
} catch (e) {
|
|
18
|
+
response.end("Hello World\nMongoDB connection failed: " + e.message + "\n");
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
server.listen(3000);
|
|
23
|
+
|
|
24
|
+
console.log("Server running at port 3000");
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"upstreamVersion": "",
|
|
5
|
+
"minBoxVersion": "9.0.0",
|
|
6
|
+
"title": "",
|
|
7
|
+
"author": "",
|
|
8
|
+
"description": "file://DESCRIPTION.md",
|
|
9
|
+
"tagline": "",
|
|
10
|
+
"website": "",
|
|
11
|
+
"contactEmail": "",
|
|
12
|
+
"iconUrl": "file://logo.png",
|
|
13
|
+
"healthCheckPath": "/",
|
|
14
|
+
"mediaLinks": [],
|
|
15
|
+
"httpPort": 3000,
|
|
16
|
+
"tags": [],
|
|
17
|
+
"changelog": "file://CHANGELOG",
|
|
18
|
+
"postInstallMessage": "file://POSTINSTALL.md",
|
|
19
|
+
"documentationUrl": "",
|
|
20
|
+
"forumUrl": "",
|
|
21
|
+
"addons": {
|
|
22
|
+
"localstorage": {},
|
|
23
|
+
"postgresql": {}
|
|
24
|
+
},
|
|
25
|
+
"manifestVersion": 2
|
|
26
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
FROM cloudron/base:5.0.0@sha256:04fd70dbd8ad6149c19de39e35718e024417c3e01dc9c6637eaf4a41ec4e596c
|
|
2
|
+
|
|
3
|
+
RUN mkdir -p /app/code
|
|
4
|
+
WORKDIR /app/code
|
|
5
|
+
|
|
6
|
+
COPY Gemfile Gemfile.lock* /app/code/
|
|
7
|
+
RUN bundle install --without development test
|
|
8
|
+
|
|
9
|
+
COPY . /app/code/
|
|
10
|
+
|
|
11
|
+
RUN RAILS_ENV=production SECRET_KEY_BASE=placeholder bundle exec rake assets:precompile 2>/dev/null || true
|
|
12
|
+
|
|
13
|
+
ADD supervisor/* /etc/supervisor/conf.d/
|
|
14
|
+
RUN ln -sf /run/supervisord.log /var/log/supervisor/supervisord.log
|
|
15
|
+
|
|
16
|
+
CMD [ "/app/code/start.sh" ]
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>Cloudron App</title>
|
|
7
|
+
</head>
|
|
8
|
+
<body>
|
|
9
|
+
<h1>Hello from Cloudron!</h1>
|
|
10
|
+
<p>Your Rails app is running. Remove this file and add your routes.</p>
|
|
11
|
+
</body>
|
|
12
|
+
</html>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
set -eu
|
|
4
|
+
|
|
5
|
+
chown -R cloudron:cloudron /app/data
|
|
6
|
+
|
|
7
|
+
export RAILS_ENV=production
|
|
8
|
+
export SECRET_KEY_BASE="${CLOUDRON_APP_ORIGIN}"
|
|
9
|
+
export DATABASE_URL="postgres://${CLOUDRON_POSTGRESQL_USERNAME}:${CLOUDRON_POSTGRESQL_PASSWORD}@${CLOUDRON_POSTGRESQL_HOST}:${CLOUDRON_POSTGRESQL_PORT}/${CLOUDRON_POSTGRESQL_DATABASE}"
|
|
10
|
+
|
|
11
|
+
bundle exec rake db:migrate 2>/dev/null || true
|
|
12
|
+
|
|
13
|
+
echo "Starting supervisor"
|
|
14
|
+
exec /usr/bin/supervisord --configuration /etc/supervisor/supervisord.conf --nodaemon -i RailsApp
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
[program:puma]
|
|
2
|
+
priority=5
|
|
3
|
+
directory=/app/code
|
|
4
|
+
command=bundle exec puma -C config/puma.rb
|
|
5
|
+
user=cloudron
|
|
6
|
+
autostart=true
|
|
7
|
+
autorestart=true
|
|
8
|
+
stdout_logfile=/dev/stdout
|
|
9
|
+
stdout_logfile_maxbytes=0
|
|
10
|
+
stderr_logfile=/dev/stderr
|
|
11
|
+
stderr_logfile_maxbytes=0
|
|
12
|
+
environment=HOME="/app/code"
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"upstreamVersion": "",
|
|
5
|
+
"minBoxVersion": "9.0.0",
|
|
6
|
+
"title": "",
|
|
7
|
+
"author": "",
|
|
8
|
+
"description": "file://DESCRIPTION.md",
|
|
9
|
+
"tagline": "",
|
|
10
|
+
"website": "",
|
|
11
|
+
"contactEmail": "",
|
|
12
|
+
"iconUrl": "file://logo.png",
|
|
13
|
+
"healthCheckPath": "/",
|
|
14
|
+
"mediaLinks": [],
|
|
15
|
+
"httpPort": 3000,
|
|
16
|
+
"tags": [],
|
|
17
|
+
"changelog": "file://CHANGELOG",
|
|
18
|
+
"postInstallMessage": "file://POSTINSTALL.md",
|
|
19
|
+
"documentationUrl": "",
|
|
20
|
+
"forumUrl": "",
|
|
21
|
+
"addons": {
|
|
22
|
+
"localstorage": {}
|
|
23
|
+
},
|
|
24
|
+
"manifestVersion": 2
|
|
25
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
FROM cloudron/base:5.0.0@sha256:04fd70dbd8ad6149c19de39e35718e024417c3e01dc9c6637eaf4a41ec4e596c
|
|
2
|
+
|
|
3
|
+
RUN mkdir -p /app/code
|
|
4
|
+
WORKDIR /app/code
|
|
5
|
+
|
|
6
|
+
RUN rm /etc/apache2/sites-enabled/*
|
|
7
|
+
RUN sed -e 's,^ErrorLog.*,ErrorLog "|/bin/cat",' -i /etc/apache2/apache2.conf
|
|
8
|
+
COPY apache/mpm_prefork.conf /etc/apache2/mods-available/mpm_prefork.conf
|
|
9
|
+
|
|
10
|
+
RUN a2disconf other-vhosts-access-log
|
|
11
|
+
COPY apache/app.conf /etc/apache2/sites-enabled/app.conf
|
|
12
|
+
RUN echo "Listen 3000" > /etc/apache2/ports.conf
|
|
13
|
+
|
|
14
|
+
COPY public/ /app/code/public/
|
|
15
|
+
COPY start.sh /app/code/
|
|
16
|
+
|
|
17
|
+
CMD [ "/app/code/start.sh" ]
|