Not yet. We are still doing configurations and changes especially to the frontend.
How did you install it. Any links?
Hi @BSombi Just follow the guide here: Local Development Environment Setup
It should work for most parts but hopefully they will improve on it more to include things like how to setup analytics.
Thank you.
Hello @mwogi,
Can you please share some info regarding the TLS Certificates with CertBot
I have been trying to setup a frappe/press environment.
So far everything was smooth, I was able to installed and initiate the configuration… but know I’m in the creation of the proxy server
Route53 and Certbot are working fine, but when I try to create a new proxy server on press I got this error “Valid wildcard TLS Certificate not found for domain.name”
Check if you have pointed the root domain on Route53 to the right IP address. It should resolve to you IP of your Press server. From what I remember the wildcard TLS certificate was automatically created
Can we use other VPS and cloud for this Frappe Press installation?
Yes, should work with any other VPS so long as the server that you have installed press on can SSH into the other nodes.
i get this error when try to configure the proxy server:
Hey, your landing is awesome, share a little…
We actually didn’t do much. Just used the website template builder using the ‘Hero with right image’ template
Me too, did you resolve this?
Documentation says you’d need at least 3 servers, all for 3 different (f, m, n) purposes. Do you guys have any recommendation for server hardware for each? I’m guessing we don’t need a top level hardware for n server for example, but a top notch one is needed to run f server.
why this error?
An error occurred while installing press: Frappe.io URL not set up in Press Settings
Traceback (most recent call last):
File “apps/frappe/frappe/commands/site.py”, line 416, in install_app
_install_app(app, verbose=context.verbose, force=force)
File “apps/frappe/frappe/installer.py”, line 304, in install_app
frappe.get_attr(after_install)()
File “apps/press/press/install.py”, line 10, in after_install
create_administrator_team()
File “apps/press/press/install.py”, line 25, in create_administrator_team
administrator_team.insert()
File “apps/frappe/frappe/model/document.py”, line 285, in insert
self.run_post_save_methods()
File “apps/frappe/frappe/model/document.py”, line 1082, in run_post_save_methods
self.run_method(“on_update”)
File “apps/frappe/frappe/model/document.py”, line 914, in run_method
out = Document.hook(fn)(self, *args, **kwargs)
File “apps/frappe/frappe/model/document.py”, line 1264, in composer
return composed(self, method, *args, **kwargs)
File “apps/frappe/frappe/model/document.py”, line 1246, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File “apps/frappe/frappe/model/document.py”, line 911, in fn
return method_object(*args, **kwargs)
File “apps/press/press/press/doctype/team/team.py”, line 239, in on_update
self.update_billing_details_on_frappeio()
File “apps/press/press/press/doctype/team/team.py”, line 375, in update_billing_details_on_frappeio
raise e
File “apps/press/press/press/doctype/team/team.py”, line 370, in update_billing_details_on_frappeio
frappeio_client = get_frappe_io_connection()
File “apps/press/press/utils/billing.py”, line 93, in get_frappe_io_connection
frappe.throw(“Frappe.io URL not set up in Press Settings”, exc=FrappeioServerNotSet)
File “apps/frappe/frappe/init.py”, line 525, in throw
msgprint(
File “apps/frappe/frappe/init.py”, line 493, in msgprint
_raise_exception()
File “apps/frappe/frappe/init.py”, line 442, in _raise_exception
raise raise_exception(msg)
press.exceptions.FrappeioServerNotSet: Frappe.io URL not set up in Press Settings
You can comment out this line in team.py
These changes were meant for internal purposes and weren’t removed before we made it open-source.
Any one help me on this?
Traceback (most recent call last):
File “apps/frappe/frappe/app.py”, line 66, in application
response = frappe.api.handle()
File “apps/frappe/frappe/api.py”, line 54, in handle
return frappe.handler.handle()
File “apps/frappe/frappe/handler.py”, line 45, in handle
data = execute_cmd(cmd)
File “apps/frappe/frappe/handler.py”, line 83, in execute_cmd
return frappe.call(method, **frappe.form_dict)
File “apps/frappe/frappe/init.py”, line 1607, in call
return fn(*args, **newargs)
File “apps/frappe/frappe/desk/form/save.py”, line 26, in savedocs
doc.save()
File “apps/frappe/frappe/model/document.py”, line 305, in save
return self._save(*args, **kwargs)
File “apps/frappe/frappe/model/document.py”, line 327, in _save
return self.insert()
File “apps/frappe/frappe/model/document.py”, line 276, in insert
self.run_method(“after_insert”)
File “apps/frappe/frappe/model/document.py”, line 914, in run_method
out = Document.hook(fn)(self, *args, **kwargs)
File “apps/frappe/frappe/model/document.py”, line 1264, in composer
return composed(self, method, *args, **kwargs)
File “apps/frappe/frappe/model/document.py”, line 1246, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File “apps/frappe/frappe/model/document.py”, line 911, in fn
return method_object(*args, **kwargs)
File “apps/press/press/press/doctype/tls_certificate/tls_certificate.py”, line 29, in after_insert
self.obtain_certificate()
File “apps/press/press/press/doctype/tls_certificate/tls_certificate.py”, line 36, in obtain_certificate
get_current_team(),
File “apps/press/press/utils/init.py”, line 44, in get_current_team
frappe.throw(“Invalid Team”, frappe.PermissionError)
File “apps/frappe/frappe/init.py”, line 525, in throw
msgprint(
File “apps/frappe/frappe/init.py”, line 493, in msgprint
_raise_exception()
File “apps/frappe/frappe/init.py”, line 442, in _raise_exception
raise raise_exception(msg)
frappe.exceptions.PermissionError: Invalid Team
You can setup a TLS Certificate with wild card checked.
Go the TLS Certificate List and create one.
PS: You may run into certbot issues, to resolve this make sure you
-
Uninstall all existing certbot installed with
apt
-
use
snap
to install certbot and all its dependencies including theroute 53 plugin
and not apt or pip
Follow the instructions here to install
@oderao I followed your suggestion and installed certbot and the route53 plugin using snap but the TLS certificate request fails in Root Domain setup. The root domain is portal.mydomain.com and it is pointed to the instance that hosts press. If I try to obtain the certificate manually I get index out of range. The Frappe instance is running in development mode hence the url is portal.mydomain.com:8000. Could it be a problem?
This is the full traceback to the index error:
Form/TLS Certificate/*.portal.mydomain.com
Traceback
Traceback (most recent call last):
File "apps/frappe/frappe/app.py", line 66, in application
response = frappe.api.handle()
File "apps/frappe/frappe/api.py", line 54, in handle
return frappe.handler.handle()
File "apps/frappe/frappe/handler.py", line 45, in handle
data = execute_cmd(cmd)
File "apps/frappe/frappe/handler.py", line 83, in execute_cmd
return frappe.call(method, **frappe.form_dict)
File "apps/frappe/frappe/__init__.py", line 1608, in call
return fn(*args, **newargs)
File "apps/frappe/frappe/handler.py", line 304, in run_doc_method
response = doc.run_method(method)
File "apps/frappe/frappe/model/document.py", line 914, in run_method
out = Document.hook(fn)(self, *args, **kwargs)
File "apps/frappe/frappe/model/document.py", line 1264, in composer
return composed(self, method, *args, **kwargs)
File "apps/frappe/frappe/model/document.py", line 1246, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File "apps/frappe/frappe/model/document.py", line 911, in fn
return method_object(*args, **kwargs)
File "apps/press/press/press/doctype/tls_certificate/tls_certificate.py", line 36, in obtain_certificate
get_current_team(),
File "apps/press/press/utils/__init__.py", line 60, in get_current_team
team = team_dict[0].name
IndexError: list index out of range
Also, frappe 14 seems to have major and significant changes not reflected in the press deployment documentation. This makes it extremely difficult to follow and especially with the way the domain settings is described.
Frappe Press is largely WIP so its very buggy right now
When the root domain setup fails , What is the response? you can check the error logs
Usually it logs all failed attempts in the Error Log
Also have you added a TLS Certificate for the wildcard domain in your case it should be *.mydomain.com
I suggest you do this first before adding a certificate for root domain
The index error you are getting has to do with teams
you have to add a team, go to Teams List
and add a default team
@oderao Here is the error logged for the failed TLS Certificate issuance
Exception:
Traceback with variables (most recent call last):
File "apps/press/press/press/doctype/tls_certificate/tls_certificate.py", line 55, in _obtain_certificate
) = ca.obtain(
self = <TLSCertificate: *.portal.mydomain.com>
settings = <PressSettings: Press Settings>
ca = <press.press.doctype.tls_certificate.tls_certificate.LetsEncrypt object at 0x7fc285fca170>
File "apps/press/press/press/doctype/tls_certificate/tls_certificate.py", line 177, in obtain
self._obtain()
self = <press.press.doctype.tls_certificate.tls_certificate.LetsEncrypt object at 0x7fc285fca170>
domain = 'portal.mydomain.com'
rsa_key_size = ********
wildcard = 1
File "apps/press/press/press/doctype/tls_certificate/tls_certificate.py", line 209, in _obtain
if not os.path.exists(self.directory):
self = <press.press.doctype.tls_certificate.tls_certificate.LetsEncrypt object at 0x7fc285fca170>
File "/usr/lib/python3.10/genericpath.py", line 19, in exists
os.stat(path)
path = None
builtins.TypeError: stat: path should be string, bytes, os.PathLike or integer, not NoneType
Is this supposed to be done outside of the Root Domain/Press Settings configuration? The documentation expects the Root Domain setup to be done first and the TLS certificate issuance is attempted barely minutes after the Root Domain setup is done and it fails. I also noticed that the Documentation says to select Default in the Default Cluster field during the Root Domain setup but there is no Default value and creating default requires additional inputs and the documentation does not have any information on what to provide.
I have also added the Team List as you suggested but the TLS certificate issuance is still returning Index out of range error even though a team list is now created.
Any further tips on resolving these will be appreciated.