mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-07-22 13:53:40 -04:00
habitica is not even working #635
Closed
opened 2025-11-20 04:51:25 -05:00 by saavagebueno
·
5 comments
No Branch/Tag Specified
main
github-action-update-changelog
fix/nextcloudpi-debian13
fix/invoiceninja-snappdf-update
fix/nametag-update-tailwindcss
fix/anytype-mongodb-datadir
core_checkOS
fix_opnsensevm
fix/return-trap-leak
MickLesk-patch-1
readd_ca
ref_safedelete
github/close-invalid-pr-template
fix/heimdall-php-update-15767
add-script-tor-snowflake-1783689151
add-script-skylite-ux-1783689148
cleanup/tools-func-dead-code
host-backup-migration
feature/firmware-update-fwupd
feature/iommu-setup
pocketbase-sync/seerr
feat/create-backup-rollout
feat/update-recovery-standard
feat/optional-vzdump-after-install
pocketbase-sync/semaphore
pocketbase-sync/grafana
unififix
fix/openobserve-password-policy
pocketbase-sync/authentik
pocketbase-sync/pve-scripts-local
fix/odoo-lxml-html-clean-14780
fix/fireshare-update-frontend-build
fix/fileflows-node-server-address
arm64-port-1
copilot/fix-pnpm-tools-func-install-version-10
2026-07-21
2026-07-20
2026-07-19
2026-07-18
2026-07-17
2026-07-16
2026-07-15
2026-07-14
2026-07-13
2026-07-12
2026-07-11
2026-07-10
2026-07-09
2026-07-08
2026-07-07
2026-07-06
2026-07-05
2026-07-04
2026-07-03
2026-07-02
2026-07-01
2026-06-30
2026-06-29
2026-06-28
2026-06-27
2026-06-26
2026-06-25
2026-06-24
2026-06-23
2026-06-22
2026-06-21
2026-06-20
2026-06-19
2026-06-18
2026-06-17
2026-06-16
2026-06-15
2026-06-14
2026-06-13
2026-06-12
2026-06-11
2026-06-10
2026-06-09
2026-06-08
2026-06-07
2026-06-06
2026-06-05
2026-06-04
2026-06-03
2026-06-02
2026-06-01
2026-05-31
2026-05-30
2026-05-29
2026-05-28
2026-05-27
2026-05-26
2026-05-25
2026-05-24
2026-05-23
2026-05-22
2026-05-21
2026-05-20
2026-05-19
2026-05-18
2026-05-17
2026-05-16
2026-05-15
2026-05-14
2026-05-13
2026-05-12
2026-05-11
2026-05-10
2026-05-09
2026-05-08
2026-05-07
2026-05-06
2026-05-05
2026-05-04
2026-05-03
2026-05-02
2026-05-01
2026-04-30
2026-04-29
2026-04-28
2026-04-27
2026-04-26
2026-04-25
2026-04-24
2026-04-23
2026-04-22
2026-04-21
2026-04-20
2026-04-19
2026-04-18
2026-04-17
2026-04-16
2026-04-15
2026-04-14
2026-04-13
2026-04-12
2026-04-11
2026-04-10
2026-04-09
2026-04-08
2026-04-07
2026-04-06
2026-04-05
2026-04-04
2026-04-03
2026-04-02
2026-04-01
2026-03-31
2026-03-30
2026-03-29
2026-03-28
2026-03-27
2026-03-26
2026-03-25
2026-03-24
2026-03-23
2026-03-22
2026-03-21
2026-03-20
2026-03-19
2026-03-18
2026-03-17
2026-03-16
2026-03-15
2026-03-14
2026-03-13
2026-03-12
2026-03-11
2026-03-10
2026-03-09
2026-03-08
2026-03-07
2026-03-06
2026-03-05
2026-03-04
2026-03-03
2026-03-02
2026-03-01
2026-02-28
2026-02-27
2026-02-26
2026-02-25
2026-02-24
2026-02-23
2026-02-22
2026-02-21
2026-02-20
2026-02-19
2026-02-18
2026-02-17
2026-02-16
2026-02-15
2026-02-14
2026-02-13
2026-02-12
2026-02-11
2026-02-10
2026-02-09
2026-02-08
2026-02-07
2026-02-06
2026-02-05
2026-02-04
2026-02-03
2026-02-02
2026-02-01
2026-01-31
2026-01-30
2026-01-29
2026-01-28
2026-01-27
2026-01-26
2026-01-25
2026-01-24
2026-01-23
2026-01-22
2026-01-21
2026-01-20
2026-01-19
2026-01-18
2026-01-17
2026-01-16
2026-01-15
2026-01-14
2026-01-13
2026-01-12
2026-01-11
2026-01-10
2026-01-09
2026-01-08
2026-01-07
2026-01-06
2026-01-05
2026-01-04
2026-01-03
2026-01-02
2026-01-01
2025-12-31
2025-12-30
2025-12-29
2025-12-28
2025-12-27
2025-12-26
2025-12-25
2025-12-24
2025-12-23
2025-12-22
2025-12-21
2025-12-20
2025-12-19
2025-12-18
2025-12-17
2025-12-16
2025-12-15
2025-12-14
2025-12-13
2025-12-12
2025-12-11
2025-12-10
2025-12-09
2025-12-08
2025-12-07
2025-12-06
2025-12-05
2025-12-04
2025-12-03
2025-12-02
2025-12-01
2025-11-30
2025-11-29
2025-11-28
2025-11-27
2025-11-26
2025-11-25
2025-11-24
2025-11-23
2025-11-22
2025-11-21
2025-11-20
2025-11-19
2025-11-18
2025-11-17
2025-11-16
2025-11-15
2025-11-14
2025-11-13
2025-11-12
2025-11-11
2025-11-10
2025-11-09
2025-11-08
2025-11-07
2025-11-06
2025-11-05
2025-11-04
2025-11-03
2025-11-02
2025-11-01
2025-10-31
2025-10-30
2025-10-29
2025-10-28
2025-10-27
2025-10-26
2025-10-25
2025-10-24
2025-10-23
2025-10-22
2025-10-21
2025-10-20
2025-10-19
2025-10-18
2025-10-17
2025-10-16
2025-10-15
2025-10-14
2025-10-13
2025-10-12
2025-10-11
2025-10-10
2025-10-09
2025-10-08
2025-10-07
2025-10-06
2025-10-05
2025-10-04
2025-10-03
2025-10-02
2025-10-01
2025-09-30
2025-09-29
2025-09-28
2025-09-27
2025-09-26
2025-09-25
2025-09-24
2025-09-23
2025-09-22
2025-09-21
2025-09-20
2025-09-19
2025-09-18
2025-09-17
2025-09-16
2025-09-15
2025-09-14
2025-09-13
2025-09-12
2025-09-11
2025-09-10
2025-09-09
2025-09-08
2025-09-07
2025-09-06
2025-09-05
2025-09-04
2025-09-03
2025-09-02
2025-09-01
2025-08-31
2025-08-30
2025-08-29
2025-08-28
2025-08-27
2025-08-26
2025-08-25
2025-08-24
2025-08-23
2025-08-22
2025-08-21
2025-08-20
2025-08-19
2025-08-18
2025-08-17
2025-08-16
2025-08-15
2025-08-14
2025-08-13
2025-08-12
2025-08-11
2025-08-10
2025-08-09
2025-08-08
2025-08-07
2025-08-06
2025-08-05
2025-08-04
2025-08-03
2025-08-02
2025-08-01
2025-07-31
2025-07-30
2025-07-29
2025-07-28
2025-07-27
2025-07-26
2025-07-25
2025-07-24
2025-07-23
2025-07-22
2025-07-21
2025-07-20
2025-07-19
2025-07-18
2025-07-17
2025-07-16
2025-07-15
2025-07-14
2025-07-11
2025-07-10
2025-07-09
2025-07-08
2025-07-07
2025-07-06
2025-07-05
2025-07-04
2025-07-03
2025-07-02
2025-07-01
2025-06-30
2025-06-29
2025-06-28
2025-06-27
2025-06-26
2025-06-25
2025-06-24
2025-06-23
2025-06-22
2025-06-21
2025-06-20
2025-06-19
2025-06-18
2025-06-17
2025-06-16
2025-06-15
2025-06-14
2025-06-13
2025-06-12
2025-06-11
2025-06-10
2025-06-09
2025-06-08
2025-06-07
2025-06-06
2025-06-05
2025-06-04
2025-06-03
2025-06-02
2025-06-01
2025-05-31
2025-05-30
2025-05-29
2025-05-28
2025-05-27
2025-05-26
2025-05-25
2025-05-24
2025-05-23
2025-05-22
2025-05-21
2025-05-20
2025-05-19
2025-05-18
2025-05-17
2025-05-16
2025-05-15
2025-05-14
2025-05-13
2025-05-12
2025-05-11
2025-05-10
2025-05-09
2025-05-08
2025-05-07
2025-05-06
2025-05-05
2025-05-04
2025-05-03
2025-05-02
2025-05-01
2025-04-30
2025-04-29
2025-04-28
2025-04-27
2025-04-26
2025-04-25
2025-04-24
2025-04-23
2025-04-22
2025-04-20
2025-04-21
2025-04-19
2025-04-18
2025-04-17
2025-04-15
2025-04-16
2025-04-14
2025-04-13
2025-04-12
2025-04-11
2025-04-10
2025-04-09
2025-04-08
2025-04-07
2025-04-06
2025-04-05
2025-04-04
2025-04-03
2025-04-02
2025-04-01
2025-03-31
2025-03-30
2025-03-29
2025-03-28
2025-03-27
2025-03-26
2025-03-25
2025-03-24
2025-03-23
2025-03-22
2025-03-21
2025-03-20
2025-03-19
2025-03-18
2025-03-17
2025-03-16
2025-03-15
2025-03-14
2025-03-13
2025-03-12
2025-03-11
2025-03-10
2025-03-09
2025-03-08
2025-03-07
2025-03-06
2025-03-05
2025-03-04
2025-03-03
2025-03-02
2025-03-01
2025-02-28
2025-02-27
2025-02-26
2025-02-25
2025-02-24
2025-02-23
2025-02-21
2025-02-20
2025-02-19
2025-02-18
2025-02-17
2025-02-16
2025-02-15
2025-02-14
2025-02-13
2025-02-12
2025-02-11
2025-02-10
2025-02-09
2025-02-08
2025-02-07
2025-02-06
2025-02-05
2025-02-04
2025-02-03
2025-02-02
2025-02-01
2025-01-31
2025-01-30
2025-01-29
2025-01-28
2025-01-27
2025-01-26
2025-01-24
2025-01-23
2025-01-22
2025-01-21
2025-01-20
2025-01-19
2025-01-18
2025-01-17
2025-01-16
2025-01-15
2025-01-14
2025-01-13
2025-01-11
2025-01-10
2025-01-09
2025-01-08
2025-01-07
2025-01-06
2025-01-05
2025-01-04
2025-01-03
2025-01-02
2025-01-01
2024-12-31
2024-12-30
2024-12-29
2024-12-28
2024-12-27
2024-12-26
2024-12-25
2024-12-23
2024-12-21
2024-12-20
2024-12-19
2024-12-18
2024-12-17
2024-12-16
2024-12-13
2024-12-12
2024-12-09
2024-12-08
2024-12-07
2024-12-06
2024-12-05
2024-12-04
2024-12-03
2024-12-02
2024-11-30
2024-11-29
2024-11-28
2024-11-27
2024-11-26
2024-11-25
2024-11-24
2024-11-23
Labels
Clear labels
🛑 Failure to comply with the guidelines
breaking change
bug
bug
bugfix
deferred
delete script
dependencies
enhancement
external
feature
github
help wanted
Implemented in VED waiting push to Main
in project pipeline
invalid
investigation
json
maintenance
new script
new script
nice to have
not a script issue
not planned
organization
pull-request
question
refactor
rename script
security
update script
website
wontdo
Mirrored from GitHub Pull Request
No Label
bug
Milestone
No items
No Milestone
Projects
Clear projects
No project
Assignees
saavagebueno
Clear assignees
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: SVI/ProxmoxVE#635
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @llzzrrdd on GitHub (Mar 3, 2025).
✅ Have you read and understood the above guidelines?
yes
📜 What is the name of the script you are using?
habitica
📂 What was the exact command used to execute the script?
bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/ct/habitica.sh)"
📝 Provide a clear and concise description of the issue.
it is a dev version that not working behind a proxy and it is not even stable or tested... why bothering putting it up to the main scripts if this is broken?
⚙️ What settings are you using?
🖥️ Which Linux distribution are you using?
No response
🔄 Steps to reproduce the issue.
just install it and try adding it behind a proxy
❌ Paste the full error output (if available).
n/a
🖼️ Additional context (optional).
No response
@MickLesk commented on GitHub (Mar 3, 2025):
@tremor021
@MickLesk commented on GitHub (Mar 3, 2025):
1st)
Use the current Release, Not Dev, IT crawles the latest stable Release
RELEASE=$(curl -s https://api.github.com/repos/HabitRPG/habitica/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
2nd)
You can expect a little gratitude, right? What's this stupid comment about being under-tested? We test the scripts as much as we can.
3th)
If you want to do it behind a proxy, that is not part of the script and your topic. We can support, but that is not part of the script.
Next time be more friendly, otherwise we will think 10 times about what we include in such scripts.
@llzzrrdd commented on GitHub (Mar 3, 2025):
I apreciate your time and effort to put up to these scripts, I think I got overexited to get this working and by failing to see a stable result I got frustrated after many retries. I could have been more friendly indeed. Apologies and keep on the good work!
@tremor021 commented on GitHub (Mar 3, 2025):
@llzzrrdd I'm the author of the script. As you can imagine, we can't really be responsible how people use our scripts, hence why we focus only on installing the app and making it run. All additional configuration is really up to user, as we can't know how users are gonna use it, this includes various proxies or additional plugins some use.
@MickLesk already told you that we crawl their official github and install the app from their source. They say in their docs that github source should work and behave as their website version, so i can't really tell you or support anything more than that.
If you have troubles setting up proxy to access the web UI, you should seek help from devs, at their github.
@llzzrrdd commented on GitHub (Mar 3, 2025):
@MickLesk @tremor021 In case it helps somebody else, by making some changes at the following /opt/habitica/website/client/vue.config.js I was able to make a proxy host at "Nginx Proxy Manager" pointing at the LXC's IP address / Scheme: https / Forward Port: 8080 / Websockets: Enabled / Advanced: proxy_set_header Host $host;
(BACKUP FIRST) cp /opt/habitica/website/client/vue.config.js /opt/habitica/website/client/vue.config.js.orig
echo "" > /opt/habitica/website/client/vue.config.js
paste the following at /opt/habitica/website/client/vue.config.js
restart services or reboot LXC
`
/* eslint-disable import/no-commonjs */
const path = require('path');
const fs = require('fs');
const webpack = require('webpack');
const nconf = require('nconf');
const vueTemplateCompiler = require('vue-template-babel-compiler');
const MomentLocalesPlugin = require('moment-locales-webpack-plugin');
const setupNconf = require('../server/libs/setupNconf');
const pkg = require('./package.json');
const configFile = path.join(path.resolve(__dirname, '../../config.json'));
// Initialize configuration
setupNconf(configFile, nconf);
// Retrieve backend server URL for API proxying (Habitica Server runs on 3000)
const DEV_BASE_URL = nconf.get('BASE_URL'); // Expected to be "http://localhost:3000"
// List environment variables to inject (removed "BASE_URL" to avoid conflict)
const envVars = [
'AMAZON_PAYMENTS_SELLER_ID',
'AMAZON_PAYMENTS_CLIENT_ID',
'AMAZON_PAYMENTS_MODE',
'EMAILS_COMMUNITY_MANAGER_EMAIL',
'EMAILS_TECH_ASSISTANCE_EMAIL',
'EMAILS_PRESS_ENQUIRY_EMAIL',
// 'BASE_URL', <-- removed to prevent conflicting definitions
'GA_ID',
'STRIPE_PUB_KEY',
'GOOGLE_CLIENT_ID',
'APPLE_AUTH_CLIENT_ID',
'AMPLITUDE_KEY',
'LOGGLY_CLIENT_TOKEN',
'TRUSTED_DOMAINS',
'TIME_TRAVEL_ENABLED',
'DEBUG_ENABLED',
'CONTENT_SWITCHOVER_TIME_OFFSET',
];
const envObject = {};
envVars.forEach(key => {
envObject[
process.env.${key}] ='${nconf.get(key)}';});
const webpackPlugins = [
new webpack.ProvidePlugin({ 'window.jQuery': 'jquery' }),
new webpack.DefinePlugin(envObject),
new MomentLocalesPlugin({
localesToKeep: [
'bg', 'cs', 'da', 'de', 'en', 'es', 'fr', 'he', 'hu', 'id',
'it', 'ja', 'nl', 'pl', 'pt', 'pt-br', 'ro', 'ru', 'sk', 'sv',
'tr', 'uk', 'zh-cn', 'zh-tw',
],
}),
new webpack.IgnorePlugin({
checkResource(resource, context) {
if ((context.includes('sinon') || resource.includes('sinon') || context.includes('nise')) && nconf.get('TIME_TRAVEL_ENABLED') !== 'true') {
return true;
}
if (context.includes('yargs')) {
return true;
}
return false;
},
}),
];
module.exports = {
assetsDir: 'static',
// Use the default publicPath ("/") or adjust if needed
publicPath: '/',
configureWebpack: {
module: {
rules: [
{
test: /.svg/,
dependency: { not: ['url'] },
type: 'asset/source',
},
{
test: /.js$/,
// Exclude transpiling node_modules except for bootstrap-vue/src
exclude: /node_modules/(?!bootstrap-vue/src/)/,
use: {
loader: 'babel-loader',
options: { presets: ['@babel/preset-env'] },
},
},
{
test: /.js$/,
// Exclude transpiling node_modules except for validator
exclude: /node_modules/(?!validator)/,
use: {
loader: 'babel-loader',
options: { presets: ['@babel/preset-env'] },
},
},
],
},
resolve: {
fallback: {
crypto: false,
fs: false,
os: false,
path: false,
stream: false,
timers: require.resolve('timers-browserify'),
},
alias: {
'bootstrap-vue$': 'bootstrap-vue/src/index.js',
},
},
plugins: webpackPlugins,
},
chainWebpack: config => {
// Manually resolve dependencies to avoid duplicates
Object.keys(pkg.dependencies).forEach(dep => {
config.resolve.alias.set(dep, path.resolve(__dirname,
./node_modules/${dep}));});
// Remove preload plugin in development to address Safari caching issues
if (process.env.NODE_ENV === 'development') {
config.plugins.delete('preload');
}
// Enable optional chaining in Vue templates
config.module
.rule('vue')
.use('vue-loader')
.tap(options => {
options.compiler = vueTemplateCompiler;
return options;
});
},
devServer: {
host: '0.0.0.0', // Listen on all interfaces
port: 8080, // Dev server port
allowedHosts: 'all', // Relax host header checking
headers: { 'Cache-Control': 'no-store' },
proxy: {
// Forward API requests to the backend server on localhost:3000
'^/api/v3': { target: DEV_BASE_URL, changeOrigin: true, ws: true },
'^/api/v4': { target: DEV_BASE_URL, changeOrigin: true, ws: true },
'^/stripe': { target: DEV_BASE_URL, changeOrigin: true },
'^/amazon': { target: DEV_BASE_URL, changeOrigin: true },
'^/paypal': { target: DEV_BASE_URL, changeOrigin: true },
'^/logout-server': { target: DEV_BASE_URL, changeOrigin: true },
'^/export': { target: DEV_BASE_URL, changeOrigin: true },
'^/analytics': { target: DEV_BASE_URL, changeOrigin: true },
},
client: {
// Configure WebSocket connections to use wss:// when the page is served over HTTPS
webSocketURL: {
protocol: 'wss',
hostname: 'habitica.nuclearlighters.net',
port: 443,
pathname: '/ws',
},
},
// Enable HTTPS on the dev server (using snake-oil certificates; replace with valid ones if available)
https: {
key: fs.readFileSync('/etc/ssl/private/ssl-cert-snakeoil.key'),
cert: fs.readFileSync('/etc/ssl/certs/ssl-cert-snakeoil.pem'),
},
},
};
`