Compare commits
16 Commits
e640d38400
...
master
Author | SHA1 | Date | |
---|---|---|---|
37d9fae8c9 | |||
244ac11588 | |||
fd6aa5c0f0 | |||
f512afc53f | |||
b0ca0ef49c | |||
c315498391 | |||
6e23807a8a | |||
2f0fe97933 | |||
054f6c9e2f | |||
2a26247028 | |||
b2cd55b0ca | |||
60fc1b3aaf | |||
0148db9864 | |||
93775b7375 | |||
1b5dd39a11 | |||
d51149df29 |
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
CloudronPackagingWorkspace/Docker/*
|
||||||
|
CloudronPackagingWorkspace/NonDocker/*
|
@@ -1,3 +0,0 @@
|
|||||||
# 3d print farm
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/280
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Trading Desk
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/226
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Acme
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/177
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Agency
|
|
||||||
|
|
||||||
https://projects.knownelement.com/issues/178
|
|
@@ -1,3 +0,0 @@
|
|||||||
# APIGW
|
|
||||||
|
|
||||||
https://projects.knownelement.com/issues/179
|
|
@@ -1,3 +0,0 @@
|
|||||||
# ATAK Info
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/180
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Autobom
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/278
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Billing
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/181
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Boinc
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/182
|
|
@@ -1,3 +0,0 @@
|
|||||||
# CanvasLMS
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/296
|
|
@@ -1,3 +0,0 @@
|
|||||||
# CDE
|
|
||||||
|
|
||||||
https://projects.knownelement.com/issues/231
|
|
@@ -1,3 +0,0 @@
|
|||||||
# chirpstack
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/184
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Craig
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/185
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Danswer
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/186
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Dashboard
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/54
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Digital Assets Manager
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/275
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Docassemble
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/277
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Draw.io
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/272
|
|
@@ -1,3 +0,0 @@
|
|||||||
# ElabFTW
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/188
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Errortrack
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/220
|
|
@@ -1,3 +0,0 @@
|
|||||||
# ETL
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/301
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Functions
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/232
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Fuzz
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/281
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Governance
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/189
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Grist
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/191
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Grocy
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/193
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Healthcheck
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/192
|
|
@@ -1,38 +0,0 @@
|
|||||||
{
|
|
||||||
"id": "software.homebox.cloudronapp",
|
|
||||||
"title": "Homebox",
|
|
||||||
"author": "CloudronApp",
|
|
||||||
"description": "Homebox is an inventory and organization system built for home users. Manage your home inventory with a simple, fast, and lightweight application.",
|
|
||||||
"tagline": "Simple home inventory management",
|
|
||||||
"version": "1.0.0",
|
|
||||||
"healthCheckPath": "/",
|
|
||||||
"httpPort": 7745,
|
|
||||||
"addons": {
|
|
||||||
"localstorage": {
|
|
||||||
"description": "Data directory for Homebox"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"manifestVersion": 2,
|
|
||||||
"website": "https://homebox.software/",
|
|
||||||
"contactEmail": "support@homebox.software",
|
|
||||||
"icon": "file://logo.png",
|
|
||||||
"tags": [
|
|
||||||
"inventory",
|
|
||||||
"organization",
|
|
||||||
"asset-management",
|
|
||||||
"home"
|
|
||||||
],
|
|
||||||
"minBoxVersion": "7.5.0",
|
|
||||||
"documentationUrl": "https://homebox.software/en/",
|
|
||||||
"forumUrl": "https://github.com/sysadminsmedia/homebox/discussions",
|
|
||||||
"postInstallMessage": "Homebox has been successfully installed! The first user to register will be the administrator. You can disable registration after creating the first account.",
|
|
||||||
"memoryLimit": 256000000,
|
|
||||||
"targetBoxVersion": "7.5.0",
|
|
||||||
"changelog": "Initial Cloudron package",
|
|
||||||
"mediaLinks": [],
|
|
||||||
"containerOptions": {
|
|
||||||
"securityContext": {
|
|
||||||
"allowPrivilegeEscalation": false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,46 +0,0 @@
|
|||||||
FROM cloudron/base:4.2.0
|
|
||||||
|
|
||||||
# Add version specifics
|
|
||||||
ARG VERSION=latest
|
|
||||||
ARG DEBIAN_FRONTEND=noninteractive
|
|
||||||
|
|
||||||
# Update the system and install dependencies
|
|
||||||
RUN apt-get update && \
|
|
||||||
apt-get install -y \
|
|
||||||
curl \
|
|
||||||
ca-certificates \
|
|
||||||
wget \
|
|
||||||
&& apt-get clean && rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
# Set up directory structure following Cloudron filesystem layout
|
|
||||||
RUN mkdir -p /app/code /app/data /tmp/data
|
|
||||||
|
|
||||||
# Set working directory
|
|
||||||
WORKDIR /app/code
|
|
||||||
|
|
||||||
# Download and install the latest Homebox release
|
|
||||||
RUN if [ "$VERSION" = "latest" ]; then \
|
|
||||||
DOWNLOAD_URL=$(curl -s https://api.github.com/repos/sysadminsmedia/homebox/releases/latest | grep "browser_download_url.*linux_amd64" | cut -d '"' -f 4); \
|
|
||||||
else \
|
|
||||||
DOWNLOAD_URL="https://github.com/sysadminsmedia/homebox/releases/download/v${VERSION}/homebox_${VERSION}_linux_amd64.tar.gz"; \
|
|
||||||
fi && \
|
|
||||||
wget -O /tmp/homebox.tar.gz ${DOWNLOAD_URL} && \
|
|
||||||
tar -xzf /tmp/homebox.tar.gz -C /app/code && \
|
|
||||||
rm /tmp/homebox.tar.gz && \
|
|
||||||
chmod +x /app/code/homebox
|
|
||||||
|
|
||||||
# Copy initialization template for /app/data
|
|
||||||
COPY data_init /tmp/data/
|
|
||||||
|
|
||||||
# Copy application scripts
|
|
||||||
COPY start.sh /app/code/
|
|
||||||
RUN chmod +x /app/code/start.sh
|
|
||||||
|
|
||||||
# Copy NGINX configuration
|
|
||||||
COPY nginx.conf /app/code/
|
|
||||||
|
|
||||||
# Set ownership to cloudron user
|
|
||||||
RUN chown -R cloudron:cloudron /app/code /tmp/data
|
|
||||||
|
|
||||||
# Set entrypoint
|
|
||||||
ENTRYPOINT ["/app/code/start.sh"]
|
|
@@ -1,67 +0,0 @@
|
|||||||
worker_processes auto;
|
|
||||||
pid /run/nginx.pid;
|
|
||||||
|
|
||||||
events {
|
|
||||||
worker_connections 768;
|
|
||||||
multi_accept on;
|
|
||||||
}
|
|
||||||
|
|
||||||
http {
|
|
||||||
sendfile on;
|
|
||||||
tcp_nopush on;
|
|
||||||
tcp_nodelay on;
|
|
||||||
keepalive_timeout 65;
|
|
||||||
types_hash_max_size 2048;
|
|
||||||
server_tokens off;
|
|
||||||
|
|
||||||
# Mime types
|
|
||||||
include /etc/nginx/mime.types;
|
|
||||||
default_type application/octet-stream;
|
|
||||||
|
|
||||||
# Logging
|
|
||||||
access_log /dev/stdout;
|
|
||||||
error_log /dev/stderr;
|
|
||||||
|
|
||||||
# Gzip settings
|
|
||||||
gzip on;
|
|
||||||
gzip_disable "msie6";
|
|
||||||
gzip_vary on;
|
|
||||||
gzip_proxied any;
|
|
||||||
gzip_comp_level 6;
|
|
||||||
gzip_buffers 16 8k;
|
|
||||||
gzip_http_version 1.1;
|
|
||||||
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
|
|
||||||
|
|
||||||
# Virtual Host Configs
|
|
||||||
server {
|
|
||||||
listen 8000 default_server;
|
|
||||||
listen [::]:8000 default_server;
|
|
||||||
|
|
||||||
server_name _;
|
|
||||||
|
|
||||||
# Maximum upload size
|
|
||||||
client_max_body_size 100M;
|
|
||||||
|
|
||||||
# Proxy settings
|
|
||||||
proxy_buffers 16 16k;
|
|
||||||
proxy_buffer_size 16k;
|
|
||||||
|
|
||||||
location / {
|
|
||||||
proxy_pass http://127.0.0.1:7745;
|
|
||||||
proxy_http_version 1.1;
|
|
||||||
proxy_set_header Upgrade $http_upgrade;
|
|
||||||
proxy_set_header Connection "upgrade";
|
|
||||||
proxy_set_header Host $host;
|
|
||||||
proxy_set_header X-Real-IP $remote_addr;
|
|
||||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
||||||
proxy_set_header X-Forwarded-Proto $scheme;
|
|
||||||
proxy_set_header X-Forwarded-Host $host;
|
|
||||||
proxy_set_header X-Forwarded-Port $server_port;
|
|
||||||
|
|
||||||
# Set timeouts
|
|
||||||
proxy_connect_timeout 60s;
|
|
||||||
proxy_send_timeout 60s;
|
|
||||||
proxy_read_timeout 300s;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,108 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
# Ensure proper directory structure in /app/data
|
|
||||||
if [ ! -d "/app/data/.database" ]; then
|
|
||||||
echo "Initializing data directory structure..."
|
|
||||||
mkdir -p /app/data/.database
|
|
||||||
mkdir -p /app/data/uploads
|
|
||||||
|
|
||||||
# Copy initialization files if provided
|
|
||||||
if [ -d "/tmp/data" ]; then
|
|
||||||
cp -r /tmp/data/* /app/data/
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Fix permissions
|
|
||||||
chown -R cloudron:cloudron /app/data
|
|
||||||
chmod -R 750 /app/data
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Set environment variables for Homebox
|
|
||||||
export HBOX_MODE=production
|
|
||||||
export HBOX_STORAGE_DATA=/app/data
|
|
||||||
export HBOX_DATABASE_DRIVER=sqlite3
|
|
||||||
export HBOX_DATABASE_SQLITE_PATH="/app/data/.database/homebox.db"
|
|
||||||
export HBOX_WEB_PORT=7745
|
|
||||||
export HBOX_WEB_HOST=127.0.0.1
|
|
||||||
export HBOX_LOG_LEVEL=info
|
|
||||||
export HBOX_LOG_FORMAT=text
|
|
||||||
export HBOX_WEB_MAX_FILE_UPLOAD=50
|
|
||||||
|
|
||||||
# Check if registration should be disabled by default
|
|
||||||
# If this is a fresh install, we'll allow registration for first user
|
|
||||||
if [ ! -f "/app/data/.database/homebox.db" ]; then
|
|
||||||
export HBOX_OPTIONS_ALLOW_REGISTRATION=true
|
|
||||||
else
|
|
||||||
export HBOX_OPTIONS_ALLOW_REGISTRATION=false
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Configure NGINX
|
|
||||||
echo "Configuring NGINX..."
|
|
||||||
mkdir -p /run/nginx
|
|
||||||
cat > /app/data/nginx.conf <<EOF
|
|
||||||
worker_processes auto;
|
|
||||||
daemon off;
|
|
||||||
pid /run/nginx/nginx.pid;
|
|
||||||
|
|
||||||
events {
|
|
||||||
worker_connections 1024;
|
|
||||||
}
|
|
||||||
|
|
||||||
http {
|
|
||||||
include /etc/nginx/mime.types;
|
|
||||||
default_type application/octet-stream;
|
|
||||||
|
|
||||||
client_max_body_size 50M;
|
|
||||||
|
|
||||||
# Logging to stdout for Cloudron to capture
|
|
||||||
access_log /dev/stdout;
|
|
||||||
error_log /dev/stderr;
|
|
||||||
|
|
||||||
server {
|
|
||||||
listen 8000;
|
|
||||||
server_name localhost;
|
|
||||||
|
|
||||||
location / {
|
|
||||||
proxy_pass http://127.0.0.1:7745;
|
|
||||||
proxy_set_header Host \$host;
|
|
||||||
proxy_set_header X-Real-IP \$remote_addr;
|
|
||||||
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
|
|
||||||
proxy_set_header X-Forwarded-Proto \$scheme;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
|
|
||||||
# Start Supervisor which will manage our processes
|
|
||||||
echo "Starting supervisor..."
|
|
||||||
cat > /etc/supervisor/conf.d/homebox.conf <<EOF
|
|
||||||
[supervisord]
|
|
||||||
nodaemon=true
|
|
||||||
logfile=/dev/null
|
|
||||||
logfile_maxbytes=0
|
|
||||||
|
|
||||||
[program:homebox]
|
|
||||||
command=/app/code/homebox
|
|
||||||
directory=/app/code
|
|
||||||
stdout_logfile=/dev/stdout
|
|
||||||
stdout_logfile_maxbytes=0
|
|
||||||
stderr_logfile=/dev/stderr
|
|
||||||
stderr_logfile_maxbytes=0
|
|
||||||
user=cloudron
|
|
||||||
autostart=true
|
|
||||||
autorestart=true
|
|
||||||
priority=10
|
|
||||||
|
|
||||||
[program:nginx]
|
|
||||||
command=nginx -c /app/data/nginx.conf
|
|
||||||
stdout_logfile=/dev/stdout
|
|
||||||
stdout_logfile_maxbytes=0
|
|
||||||
stderr_logfile=/dev/stderr
|
|
||||||
stderr_logfile_maxbytes=0
|
|
||||||
autostart=true
|
|
||||||
autorestart=true
|
|
||||||
priority=20
|
|
||||||
EOF
|
|
||||||
|
|
||||||
# Start supervisor
|
|
||||||
exec /usr/bin/supervisord -c /etc/supervisor/supervisord.conf
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Homebox
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/233
|
|
@@ -1,40 +0,0 @@
|
|||||||
{
|
|
||||||
"id": "app.homechart.cloudron",
|
|
||||||
"title": "HomeChart",
|
|
||||||
"author": "HomeChart Package Maintainer",
|
|
||||||
"description": "Your all-in-one household management platform. Organize calendars, budgets, shopping lists, and more in one place. Enjoy features like shared calendars, meal planning, task management, and multilingual support. Secure, private, and ad-free.",
|
|
||||||
"tagline": "Your Family's Mission Control",
|
|
||||||
"version": "1.0.0",
|
|
||||||
"upstreamVersion": "2024.09.0",
|
|
||||||
"healthCheckPath": "/",
|
|
||||||
"httpPort": 3000,
|
|
||||||
"memoryLimit": 512,
|
|
||||||
"addons": {
|
|
||||||
"localstorage": {},
|
|
||||||
"postgresql": {
|
|
||||||
"version": "16"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"tags": [
|
|
||||||
"household",
|
|
||||||
"family",
|
|
||||||
"organization",
|
|
||||||
"calendar",
|
|
||||||
"budget",
|
|
||||||
"tasks"
|
|
||||||
],
|
|
||||||
"postInstallMessage": "HomeChart has been installed successfully! You can now access your family's mission control panel.\n\nThe default administrator credentials are:\nUsername: admin@example.com\nPassword: changeme\n\nPlease login and change these credentials immediately.",
|
|
||||||
"manifestVersion": 2,
|
|
||||||
"website": "https://homechart.app/",
|
|
||||||
"contactEmail": "support@example.com",
|
|
||||||
"icon": "file://logo.png",
|
|
||||||
"minBoxVersion": "5.4.0",
|
|
||||||
"forumUrl": "https://forum.cloudron.io/",
|
|
||||||
"documentationUrl": "https://homechart.app/docs/",
|
|
||||||
"changelog": "Initial Cloudron package for HomeChart",
|
|
||||||
"configurePath": "/settings",
|
|
||||||
"oauth": {
|
|
||||||
"loginRedirectUri": "/oidc",
|
|
||||||
"scope": "openid email profile"
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,45 +0,0 @@
|
|||||||
FROM cloudron/base:4.2.0
|
|
||||||
|
|
||||||
# Install required dependencies
|
|
||||||
RUN apt-get update && \
|
|
||||||
apt-get install -y --no-install-recommends \
|
|
||||||
ca-certificates \
|
|
||||||
curl \
|
|
||||||
supervisor \
|
|
||||||
nginx \
|
|
||||||
tzdata \
|
|
||||||
gosu && \
|
|
||||||
apt-get clean && \
|
|
||||||
rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
# Create the application directory structure
|
|
||||||
RUN mkdir -p /app/code /app/data /run/nginx
|
|
||||||
|
|
||||||
# Create homechart data directories structure
|
|
||||||
RUN mkdir -p /tmp/data
|
|
||||||
|
|
||||||
# Download the latest HomeChart release
|
|
||||||
RUN curl -L -o /app/code/homechart.tar.gz https://github.com/candiddev/homechart/releases/latest/download/homechart_linux_amd64.tar.gz && \
|
|
||||||
tar -xzf /app/code/homechart.tar.gz -C /app/code && \
|
|
||||||
rm /app/code/homechart.tar.gz && \
|
|
||||||
mv /app/code/homechart_linux_amd64 /app/code/homechart && \
|
|
||||||
chmod +x /app/code/homechart
|
|
||||||
|
|
||||||
# Add NGINX configuration
|
|
||||||
COPY nginx.conf /etc/nginx/sites-enabled/homechart.conf
|
|
||||||
RUN rm -f /etc/nginx/sites-enabled/default
|
|
||||||
|
|
||||||
# Add Supervisor configuration
|
|
||||||
COPY supervisor.conf /etc/supervisor/conf.d/homechart.conf
|
|
||||||
|
|
||||||
# Add the startup script
|
|
||||||
COPY start.sh /app/code/
|
|
||||||
RUN chmod +x /app/code/start.sh
|
|
||||||
|
|
||||||
# Set permissions
|
|
||||||
RUN chown -R cloudron:cloudron /app/code /app/data /run/nginx
|
|
||||||
|
|
||||||
# Expose the port (should match the httpPort in the CloudronManifest.json)
|
|
||||||
EXPOSE 3000
|
|
||||||
|
|
||||||
CMD ["/app/code/start.sh"]
|
|
@@ -1,107 +0,0 @@
|
|||||||
# HomeChart Cloudron Package - Build Notes
|
|
||||||
|
|
||||||
This document provides instructions for building, testing, and deploying the HomeChart Cloudron package.
|
|
||||||
|
|
||||||
## Prerequisites
|
|
||||||
|
|
||||||
1. A running Cloudron instance
|
|
||||||
2. Docker installed on your local machine
|
|
||||||
3. Cloudron CLI tool installed (`npm install -g cloudron`)
|
|
||||||
4. Git for cloning the repository
|
|
||||||
|
|
||||||
## Files Overview
|
|
||||||
|
|
||||||
- **CloudronManifest.json**: Contains metadata and configuration for the Cloudron app
|
|
||||||
- **Dockerfile**: Defines how to build the Docker image for HomeChart
|
|
||||||
- **start.sh**: Startup script that handles initialization and configuration
|
|
||||||
- **nginx.conf**: NGINX configuration for proxying requests
|
|
||||||
- **supervisor.conf**: Supervisor configuration for process management
|
|
||||||
|
|
||||||
## Building and Deploying
|
|
||||||
|
|
||||||
### Step 1: Clone the repository
|
|
||||||
|
|
||||||
```bash
|
|
||||||
git clone https://github.com/yourusername/homechart-cloudron.git
|
|
||||||
cd homechart-cloudron
|
|
||||||
```
|
|
||||||
|
|
||||||
### Step 2: Build the Docker image
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Login to Docker Hub if not already logged in
|
|
||||||
docker login
|
|
||||||
|
|
||||||
# Build the image
|
|
||||||
cloudron build
|
|
||||||
```
|
|
||||||
|
|
||||||
When prompted, enter a repository name in the format `username/homechart` where `username` is your Docker Hub username.
|
|
||||||
|
|
||||||
### Step 3: Install on your Cloudron
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Install the app
|
|
||||||
cloudron install —image username/homechart:latest
|
|
||||||
```
|
|
||||||
|
|
||||||
You’ll be prompted to select a subdomain for the app.
|
|
||||||
|
|
||||||
### Step 4: Configure the app
|
|
||||||
|
|
||||||
After installation, you’ll need to:
|
|
||||||
|
|
||||||
1. Log in using the default credentials provided in the post-install message
|
|
||||||
2. Change the default administrator password
|
|
||||||
3. Set up your household and invite family members
|
|
||||||
|
|
||||||
## Updating the App
|
|
||||||
|
|
||||||
To update the app after making changes:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Rebuild the Docker image
|
|
||||||
cloudron build
|
|
||||||
|
|
||||||
# Update the installed app
|
|
||||||
cloudron update —app homechart
|
|
||||||
```
|
|
||||||
|
|
||||||
## Authentication
|
|
||||||
|
|
||||||
HomeChart is configured to use Cloudron’s OIDC provider for authentication. Users from your Cloudron instance can log in to HomeChart using their Cloudron credentials.
|
|
||||||
|
|
||||||
## Data Persistence
|
|
||||||
|
|
||||||
All HomeChart data is stored in:
|
|
||||||
- PostgreSQL database (managed by Cloudron)
|
|
||||||
- `/app/data` directory (backed up by Cloudron)
|
|
||||||
|
|
||||||
## Troubleshooting
|
|
||||||
|
|
||||||
### View logs
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cloudron logs -f —app homechart
|
|
||||||
```
|
|
||||||
|
|
||||||
### Database access
|
|
||||||
|
|
||||||
To access the PostgreSQL database directly:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cloudron exec —app homechart
|
|
||||||
psql -U “$CLOUDRON_POSTGRESQL_USERNAME” -h “$CLOUDRON_POSTGRESQL_HOST” “$CLOUDRON_POSTGRESQL_DATABASE”
|
|
||||||
```
|
|
||||||
|
|
||||||
### Common Issues
|
|
||||||
|
|
||||||
- **OIDC configuration issues**: Ensure the Cloudron environment variables are correctly passed to the app
|
|
||||||
- **Database connection errors**: Check PostgreSQL connection details in the app config
|
|
||||||
- **Memory limits**: If the app crashes due to memory issues, increase the memory limit in the CloudronManifest.json
|
|
||||||
|
|
||||||
## Resources
|
|
||||||
|
|
||||||
- [HomeChart Documentation](https://homechart.app/docs/)
|
|
||||||
- [Cloudron Documentation](https://docs.cloudron.io/)
|
|
||||||
- [HomeChart GitHub Repository](https://github.com/candiddev/homechart)
|
|
@@ -1,42 +0,0 @@
|
|||||||
server {
|
|
||||||
listen 3000;
|
|
||||||
server_name localhost;
|
|
||||||
|
|
||||||
# Add proper headers for running behind Cloudron's proxy
|
|
||||||
proxy_set_header Host $host;
|
|
||||||
proxy_set_header X-Real-IP $remote_addr;
|
|
||||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
||||||
proxy_set_header X-Forwarded-Proto $scheme;
|
|
||||||
|
|
||||||
client_max_body_size 100M;
|
|
||||||
|
|
||||||
# Custom Cloudron error pages
|
|
||||||
error_page 403 /error/403.html;
|
|
||||||
error_page 404 /error/404.html;
|
|
||||||
error_page 50x /error/50x.html;
|
|
||||||
location ^~ /error/ {
|
|
||||||
alias /app/code/public/error/;
|
|
||||||
internal;
|
|
||||||
}
|
|
||||||
|
|
||||||
# Use Cloudron's runtime directory for nginx (read-only filesystem)
|
|
||||||
client_body_temp_path /run/nginx/body;
|
|
||||||
proxy_temp_path /run/nginx/proxy;
|
|
||||||
fastcgi_temp_path /run/nginx/fastcgi;
|
|
||||||
uwsgi_temp_path /run/nginx/uwsgi;
|
|
||||||
scgi_temp_path /run/nginx/scgi;
|
|
||||||
|
|
||||||
location / {
|
|
||||||
proxy_pass http://127.0.0.1:8000;
|
|
||||||
proxy_http_version 1.1;
|
|
||||||
proxy_set_header Upgrade $http_upgrade;
|
|
||||||
proxy_set_header Connection "upgrade";
|
|
||||||
proxy_read_timeout 86400;
|
|
||||||
}
|
|
||||||
|
|
||||||
# Needed for Cloudron's health checks
|
|
||||||
location = /healthcheck {
|
|
||||||
access_log off;
|
|
||||||
return 200;
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,53 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
# Create required runtime directories
|
|
||||||
mkdir -p /run/nginx/body /run/nginx/proxy /run/nginx/fastcgi /run/nginx/uwsgi /run/nginx/scgi
|
|
||||||
chown -R cloudron:cloudron /run/nginx
|
|
||||||
|
|
||||||
# Initialize data directory if not existing
|
|
||||||
if [ ! -d "/app/data/config" ]; then
|
|
||||||
mkdir -p /app/data/config
|
|
||||||
chown -R cloudron:cloudron /app/data
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Configuration
|
|
||||||
CONFIG_FILE="/app/data/config/homechart.json"
|
|
||||||
if [ ! -f "$CONFIG_FILE" ]; then
|
|
||||||
echo "Creating initial configuration file..."
|
|
||||||
cat > "$CONFIG_FILE" <<EOL
|
|
||||||
{
|
|
||||||
"app": {
|
|
||||||
"baseURL": "${CLOUDRON_APP_ORIGIN}",
|
|
||||||
"proxyAddr": "127.0.0.1, 172.18.0.1"
|
|
||||||
},
|
|
||||||
"postgresql": {
|
|
||||||
"hostname": "${CLOUDRON_POSTGRESQL_HOST}",
|
|
||||||
"username": "${CLOUDRON_POSTGRESQL_USERNAME}",
|
|
||||||
"password": "${CLOUDRON_POSTGRESQL_PASSWORD}",
|
|
||||||
"database": "${CLOUDRON_POSTGRESQL_DATABASE}"
|
|
||||||
},
|
|
||||||
"oidc": {
|
|
||||||
"cloudron": {
|
|
||||||
"clientID": "${CLOUDRON_OIDC_CLIENT_ID}",
|
|
||||||
"clientSecret": "${CLOUDRON_OIDC_CLIENT_SECRET}",
|
|
||||||
"displayName": "Cloudron",
|
|
||||||
"oidcIssuerURL": "${CLOUDRON_OIDC_ISSUER}"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"logging": {
|
|
||||||
"level": "info"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
EOL
|
|
||||||
chown cloudron:cloudron "$CONFIG_FILE"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Link HomeChart configuration
|
|
||||||
export HOMECHART_CONFIG_FILE="$CONFIG_FILE"
|
|
||||||
|
|
||||||
# Set the port for HomeChart to run on (internal port)
|
|
||||||
export HOMECHART_APP_PORT=8000
|
|
||||||
|
|
||||||
# Start supervisor which manages nginx and homechart
|
|
||||||
exec /usr/bin/supervisord --configuration /etc/supervisor/supervisord.conf
|
|
@@ -1,28 +0,0 @@
|
|||||||
[supervisord]
|
|
||||||
nodaemon=true
|
|
||||||
logfile=/dev/null
|
|
||||||
logfile_maxbytes=0
|
|
||||||
pidfile=/var/run/supervisord.pid
|
|
||||||
|
|
||||||
[program:nginx]
|
|
||||||
priority=10
|
|
||||||
command=nginx -g "daemon off;"
|
|
||||||
autostart=true
|
|
||||||
autorestart=true
|
|
||||||
stdout_logfile=/dev/stdout
|
|
||||||
stdout_logfile_maxbytes=0
|
|
||||||
stderr_logfile=/dev/stderr
|
|
||||||
stderr_logfile_maxbytes=0
|
|
||||||
|
|
||||||
[program:homechart]
|
|
||||||
priority=20
|
|
||||||
directory=/app/code
|
|
||||||
command=/app/code/homechart
|
|
||||||
user=cloudron
|
|
||||||
autostart=true
|
|
||||||
autorestart=true
|
|
||||||
stdout_logfile=/dev/stdout
|
|
||||||
stdout_logfile_maxbytes=0
|
|
||||||
stderr_logfile=/dev/stderr
|
|
||||||
stderr_logfile_maxbytes=0
|
|
||||||
environment=HOME="/app/data"
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Homechart
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/284
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Huginn
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/194
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Inventree
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/173
|
|
@@ -1,3 +0,0 @@
|
|||||||
# IT-fleet
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/195
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Jamovi
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/196
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Jenkins
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/234
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Kicad CI
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/197
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Langfuse
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/198
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Lists
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/199
|
|
@@ -1,3 +0,0 @@
|
|||||||
# llm-ops
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/304
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Graylog
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/190
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Mailpiler
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/200
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Maker
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/282
|
|
@@ -1,3 +0,0 @@
|
|||||||
# MLOPS
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/305
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Netbox
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/201
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Netdata
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/202
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Netmon
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/203
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Oncall
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/204
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Openblocks
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/274
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Openboxes
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/205
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Opensearch
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/206
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Openvas
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/207
|
|
@@ -1,3 +0,0 @@
|
|||||||
# OTA
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/300
|
|
@@ -1,3 +0,0 @@
|
|||||||
#cfssl docker compose for tsys
|
|
||||||
|
|
||||||
#git subtree add --prefix upstream/cloudflare-cfssl https://github.com/rjrivero/docker-cfssl.git master --squash
|
|
@@ -1,2 +0,0 @@
|
|||||||
This directory contains template files for the application at FQDN indidicated by the parent directory. They will be processed using mo (bash mustache).
|
|
||||||
|
|
@@ -1,3 +0,0 @@
|
|||||||
This directory contains files from the vendor unmodified. They serve as a base for the input-files sibling directory
|
|
||||||
|
|
||||||
https://github.com/Payroll-Engine/PayrollEngine/wiki
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Payroute
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/209
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Phish Test
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/211
|
|
@@ -1,3 +0,0 @@
|
|||||||
# PHPList
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/303
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Platform
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/212
|
|
@@ -1,3 +0,0 @@
|
|||||||
# PLM
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/279
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Reactive Resume
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/249
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Resgrid
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/214
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Resume Matcher
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/170
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Reviewboard
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/216
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Rundeck
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/217
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Satnogs
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/218
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Sdrangel
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/219
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Wazuh
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/229
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Signoz
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/221
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Slurm
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/222
|
|
@@ -1,3 +0,0 @@
|
|||||||
# SQL Proxy
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/273
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Sqlfluff
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/302
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Talent-test
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/223
|
|
@@ -1,3 +0,0 @@
|
|||||||
# TheThingsNet
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/224
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Tunnel
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/225
|
|
@@ -1,3 +0,0 @@
|
|||||||
# VDI
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/286
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Voiceapps
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/227
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Voting
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/174
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Warp
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/228
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Webhookso
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/271
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Windmill
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/285
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Wireflow
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/50
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Wireviz
|
|
||||||
|
|
||||||
- https://projects.knownelement.com/issues/276
|
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user