Hello Marc,

1. Do you have a date yet for 1.0?

I am trying to build a zotonic image to run on digital oceon. Once I can 
see it running in a manually created droplet I want to build and save an 
image on digital oceon using hashicorp Packer
then I can build a webserver using hashicorp terraform. Trying to get a 
repeatable build setup using Hashicorps popular tooling.

I have installed the basics using

sudo apt-get update

sudo apt-get install build-essential git erlang imagemagick postgresql

I have not carried out any extra configuration on this digitaloceon server 
at all - its just the basic docker + ubuntu 18.04 and I am running as root. 
(I will delete this droplet as soon as I have zotonic working and build a 
more secure basic server)

2. I just tried getting zotonic running in a basic digitaloceon droplet 
running docker on ubuntu 18.04 using the cmd below from the zotonic docs.

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


On Monday, January 14, 2019 at 4:53:17 PM UTC, Marc Worrell wrote:
>
> Hi Eddie and Lloyd,
>
> “It depends” is indeed the correct answer...
>
> Most Zotonic installations fall in two categories:
>
> 1. Deployment via a Docker container, which is updated before deployment
> 2. Deployment via git (manual or automatic)
>
> Some follow (1),  I follow (2).
>
> Nice thing of (2) is that it allows for hot code upgrades and quick 
> turnaround of small patches.
> When we are i a development cycle for new features we might have 10 to 20 
> deployments per day.
> This goes very smooth, we even deploy minor updates to Zotonic and 
> dependencies using hot code upgrades.
>
> Zotonic itself can watch changes in the file system and dynamically load 
> new files.
>
> Most of the updates we deploy have only minor changes.
> Think of changes to templates, css, or translations.
> And minor Erlang changes (ie. not completely new apps or other 
> dependencies).
> That is why we can have updates-via-git without service interruption.
>
> The orgs that deploy via Docker (option 1) - have typically less frequent 
> updates and perform periodic major updates.
> As the whole container is updated this also restarts the Zotonic server.
>
> Of course it is also possible to deploy using the OTP release mechanism.
> This is something that will be possible with the 1.0 (really soon now) of 
> Zotonic, as that version is OTP compliant.
> I personally never had the need to use OTP releases as the version control 
> via git is good enough for us.
> (Especially with rebar3 managing versions of dependencies.)
>
>
> Cheers, Marc
>
>
> On 14 Jan 2019, at 17:40, [email protected] <javascript:> wrote:
>
> 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
>
>  
>
>  
> -----Original Message-----
> From: [email protected] <javascript:>
> Sent: Monday, January 14, 2019 9:28am
> To: "Zotonic developers" <[email protected] <javascript:>>
> Subject: [Zotonic-Dev] zotonic CI deployment best practice for 2019
>
> Hi, 
> I have followed zotonic for the last couple of years and am now interested 
> in setting up a production server for zotonic.
> I have just spent some time searching zotonic users and zotonic developers 
> for an up to date guide on how you would go about developing and deploying 
> zotonic to a production environment.
> most of the links I found range from between 2010 - 2012.
> I have looked through the zotonic documentation as well.
> I have also installed locally using the zotonic full docker container and 
> the manual install.
> I am looking for a guide for Git / continuous integration / continuous 
> deployment guide and any best practice tips.
> Is something like this available?
> Many thanks
> Eddie L
> (Uk based)
> -- 
>
> --- 
> 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 [email protected] <javascript:>.
> 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 [email protected] <javascript:>.
> 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 [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to