Hi Eddie,
I'm in a similar situation--- planning soon to release a Nitrogen web application but feeling profound apprehension since I don't have a clear understanding of risks and how to minimize them.
No doubt the flip answer is, "It depends..." Are we talking cloud hosting or on-premises? What are projected traffic patterns? Etc. Etc.
But "It depends..." doesn't help folks like us who lack experience or organizational support.
One can find considerable information on the web covering firewalls, proxy servers, load balancers, site hardening, etc. But, like you, I've found little in the Erlang corpus that provides sufficiently clear patterns and guidelines to assuage my Erlang release/production apprehensions.
It may well be a book-length topic or more, but even a thoughtful, thorough tutorial, or even a checklist, would be helpful.
Please do let me know what you come up with.
All the best,
Lloyd
Hi Marc,
Many thanks for your prompt response.
This addresses one part of the puzzle. I can't speak for Eddie, but as a total DevOps noob, a big-picture perspective would give me greater comfort as I move into my own deployments.
I'm guessing that there are different issues if we're considering on-premises vs. cloud deployment, so considering the two hosting scenarios...
What are the specific security, scaling, or other issues we need to attend to? And how do we implement them? For instance, if on-premises: Do we need a dmz to protect our LAN or is port-forwarding sufficient? Should we put a proxy server such as nginx or HAProxy in front of our app? How can we most effectively harden our servers and applications against exploits?
I understand much of this goes beyond the realm of Zotonic, Erlang, and Nitrogen. But when I step out into the web for answers I'm totally overwhelmed with confusing and oft contradictory info.
I'd love to create a living-document tutorial and checklist for, at least, the simplest deployments, but wouldn't know where to start.
Thanks again,
Lloyd
Hi Eddie and Lloyd,
To unsubscribe from this group and stop receiving emails from it, send an email to zotonic-developers+unsub...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
---
You received this message because you are subscribed to the Google Groups "Zotonic developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to zotonic-developers+unsub...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
---
You received this message because you are subscribed to the Google Groups "Zotonic developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to zotonic-developers+unsub...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
---
You received this message because you are subscribed to the Google Groups "Zotonic developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to zotonic-developers+unsub...@googlegroups.com.
Hi Eddie and Lloyd,
To unsubscribe from this group and stop receiving emails from it, send an email to zotonic-developers+unsub...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
---
You received this message because you are subscribed to the Google Groups "Zotonic developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to zotonic-developers+unsub...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
---
You received this message because you are subscribed to the Google Groups "Zotonic developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to zotonic-developers+unsub...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
---
You received this message because you are subscribed to the Google Groups "Zotonic developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to zotonic-developers+unsub...@googlegroups.com.
Hi Marc,
Really helpful!
You're the best.
Hi Eddie,
By all means lets keep in touch on this. We're running on parallel tracks.
Thanks for opening up the thread.
Best wishes,
Hi Eddie and Lloyd,
To unsubscribe from this group and stop receiving emails from it, send an email to zotonic-develop...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
---
You received this message because you are subscribed to the Google Groups "Zotonic developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to zotonic-develop...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
---
You received this message because you are subscribed to the Google Groups "Zotonic developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to zotonic-develop...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
---
You received this message because you are subscribed to the Google Groups "Zotonic developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to zotonic-develop...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
sudo apt-get update
sudo apt-get install build-essential git erlang imagemagick postgresql
it fails like this...
root@docker-s-1vcpu-1gb-lon1-01:~/zotonic# docker run -v `pwd`:/opt/zotonic/user/sites -p 8443:8443 zotonic/zotonic-heavy
+ HOME=/tmp
+ ZOTONIC_PIDFILE=/tmp/zotonic.pid
+ ZOTONIC_CONFIG_DIR=/etc/zotonic
+ SHELL=/bin/sh
+ export HOME ZOTONIC_PIDFILE ZOTONIC_CONFIG_DIR SHELL
+ touch /run/zotonic.pid
+ chown zotonic /run/zotonic.pid
+ mkdir /opt/zotonic/priv
+ chown -R zotonic /opt/zotonic/priv
+ chown -R zotonic /opt/zotonic/_build/default/lib/mimetypes/ebin
chown: /opt/zotonic/_build/default/lib/mimetypes/ebin: No such file or directory
+ chown -R zotonic /opt/zotonic/_build/default/lib/zotonic_site_status/priv/
chown: /opt/zotonic/_build/default/lib/zotonic_site_status/priv/: No such file or directory
+ sed -i -e s/{password, ""}/{password, ""}/ /etc/zotonic/zotonic.config
+ exec /usr/bin/gosu zotonic /opt/zotonic/bin/zotonic start-nodaemon
2019-01-28 17:09:07.467 UTC [9] LOG: listening on IPv4 address "127.0.0.1", port 5432
2019-01-28 17:09:07.468 UTC [9] LOG: could not bind IPv6 address "::1": Address not available
2019-01-28 17:09:07.468 UTC [9] HINT: Is another postmaster already running on port 5432? If not, wait a few seconds and retry.
2019-01-28 17:09:07.471 UTC [9] LOG: listening on Unix socket "/run/postgresql/.s.PGSQL.5432"
2019-01-28 17:09:07.476 UTC [9] LOG: listening on Unix socket "/tmp/.s.PGSQL.5432"
2019-01-28 17:09:07.530 UTC [55] LOG: database system was shut down at 2019-01-23 17:31:35 UTC
2019-01-28 17:09:07.534 UTC [9] LOG: database system is ready to accept connections
Zotonic has not been compiled and cannot run. Exiting.
2019-01-28 17:09:12.870 UTC [9] LOG: received smart shutdown request
3. Installing from git it fails with this after running bin/zotonic debug (it compiles OK with erlang 20.0)
16:56:36.867 [info] Application zotonic_notifier started on node 'zotonic001@docker-s-1vcpu-1gb-lon1-01'
16:56:36.867 [info] Application zotonic_core started on node 'zotonic001@docker-s-1vcpu-1gb-lon1-01'
16:56:36.906 [error] CRASH REPORT Process exec with 0 neighbours exited with reason: bad return value: "Port program /root/zotonic/_build/default/lib/erlexec/priv/x86_64-pc-linux-gnu/exec-port with SUID bit set is not allowed to run without setting effective user!" in gen_server:init_it/6 line 357
16:56:36.906 [error] Supervisor exec_app had child exec started with exec:start_link([]) at undefined exit with reason bad return value: "Port program /root/zotonic/_build/default/lib/erlexec/priv/x86_64-pc-linux-gnu/exec-port with SUID bit set is not allowed to run without setting effective user!" in context start_error
16:56:36.906 [error] CRASH REPORT Process <0.310.0> with 0 neighbours exited with reason: {{shutdown,{failed_to_start_child,exec,{bad_return_value,"Port program /root/zotonic/_build/default/lib/erlexec/priv/x86_64-pc-linux-gnu/exec-port with SUID bit set is not allowed to run without setting effective user!"}}},{exec_app,start,[normal,[]]}} in application_master:init/4 line 134
16:56:36.907 [error] zotonic:49 Zotonic start error: {{shutdown,{failed_to_start_child,exec,{bad_return_value,"Port program /root/zotonic/_build/default/lib/erlexec/priv/x86_64-pc-linux-gnu/exec-port with SUID bit set is not allowed to run without setting effective user!"}}},{exec_app,start,[normal,[]]}}
16:56:36.907 [info] Application erlexec exited with reason: {{shutdown,{failed_to_start_child,exec,{bad_return_value,"Port program /root/zotonic/_build/default/lib/erlexec/priv/x86_64-pc-linux-gnu/exec-port with SUID bit set is not allowed to run without setting effective user!"}}},{exec_app,start,[normal,[]]}}
Many thanks
Edlay
Hi Eddie and Lloyd,
To unsubscribe from this group and stop receiving emails from it, send an email to zotonic-developers+unsub...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
---
You received this message because you are subscribed to the Google Groups "Zotonic developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to zotonic-developers+unsub...@googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to zotonic-develop...@googlegroups.com.