mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-02-05 00:29:55 +03:00
habitica is not even working #578
Closed
opened 2026-02-04 20:05:02 +03:00 by OVERLORD
·
5 comments
No Branch/Tag Specified
main
github-action-update-changelog
pr-update-app-files
docker_deb13
feat/cloudinit-sshkeys
feat/sqlserver2025
automated/update-github-versions
add-script-opencloud-1770212555
add-script-openclaw-1770212634
github-action-archive-changelog
update_apps_tool
add-script-wishlist-1770193085
MickLesk-patch-2
add-script-writefreely-1770188758
add-script-wealthfolio-1770143943
fix/vaultwarden-update-script
remove_memos
disable_npm
feature/codeberg-functions-forgejo-readeck
add-script-rustypaste-1770019426
add-script-kitchenowl-1770017260
fix/2fauth-php-version
tools_func_addcodeberg
CrazyWolf13-patch-2
add-script-shelfmark-1769790178
CrazyWolf13-patch-1
add-script-ampache-1769790139
add-script-languagetool-1769790155
remove_php_deps
ref_koilection
fix/php-module-improvements
tremor021-patch-1
fix/open-archiver-meilisearch-migration
cloudflare_dns
MickLesk-patch-1
michelroegl-brunner-patch-2
fix/version-display
fix/debian13-root-ownership
feat/interactive_prompts
feature/smart-error-recovery
core_stable
update_docs
refactor/tools-func-stability
certbot_npm
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
Implemented in VED waiting push to Main
breaking change
bug
bug
bugfix
deferred
delete script
dependencies
enhancement
external
feature
github
help wanted
in project pipeline
invalid
investigation
json
maintenance
needs triage
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
🛑 Failure to comply with the guidelines
Mirrored from GitHub Pull Request
No Label
bug
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/ProxmoxVE#578
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 @papadopouloskyriakos 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.
@papadopouloskyriakos 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.
@papadopouloskyriakos commented on GitHub (Mar 4, 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'),
},
},
};
`