Re: [armstrong] deploy Armstrong CMS on production server

114 views
Skip to first unread message

Travis Swicegood

unread,
Nov 30, 2012, 10:07:03 AM11/30/12
to armstr...@googlegroups.com
Hi John,

Welcome aboard! Unfortunately, I haven't tried running Armstrong on Google App Engine, so I'm not 100% on my advice. From the sound of it, I believe if you set the DJANGO_SETTINGS_MODULE to the appropriate value (should be either settings.production, or settings.development, depending on your environment), GAE will pick up the correct settings and you're off to the races.

Do you have the ability to set environment variables in GAE?

-T
--
Travis Swicegood | @tswicegood (most everywhere) | Director of Technology @ Texas Tribune

On Nov 29, 2012, at 11:00 PM, John Sun <jsu...@gmail.com> wrote:

> Hi all, this is my first time here. I could not find the information I need anywhere on the Internet as Armstrong is still a little under-used, and there is not much documentation available. I really would like to get this to work, since I am building a website for a news organization with forward thinking in terms of features. I found that Armstrong CMS goals are very compatible with what we want to do.
>
> I try to install Armstrong CMS on Google Appengine using Google Cloud SQL as database. I was able to get my armstrong demo to run on local machine with the command "armstrong runserver", was able to create amstrong to create databse tables on Google Cloud SQL, however I am not sure how to deploy it on google appserver. Do I just upload it as is, and expect the server to interprete it as a django app, or more configurations are required? I did try to upload it, but the system does not seem to locate the right settings.
>
> Thanks in advance for any help can be offered.
> Best regards,
> J Sun

Dave McLain

unread,
Nov 30, 2012, 10:29:45 AM11/30/12
to armstr...@googlegroups.com
John -

I don't know what your requirements are with regards to a cloud hosting provider, but you may save yourself some hassles by checking out Heroku (http://heroku.com). There's a ton of people in the Django community who have switched or are moving in that direction and there's a large and growing ecosystem of addon providers. 

I don't think there's any documentation specific to deploying Armstrong apps to Heroku, but there is a ton of documentation about deploying Django apps to the platform, and Armstrong strives to just be a layer on top of Django.


dave

Brent O'Connor

unread,
Nov 30, 2012, 11:15:12 AM11/30/12
to armstr...@googlegroups.com
Heroku is expensive! Especially if you think you'll have a large Postgres database. I think Heroku is good for small sites where you can basically host your Django app for free. Here is a link my example base Django site on Heroku if you want an example, https://github.com/epicserve/django-heroku-base-site.

Regarding GAE, I've managed and updated some GAE sites and my experience with GAE has been very frustrating. Trying to run a Django site with all the other apps and libraries a modern Django dev uses would be very frustrating I would think.

If your comfortable configuring a Linux box I would consider using Linode or Rackspace and just setup your own servers. However, if you don't have the time or knowledge, then I would suggest bitting the bullet and just paying for something like Heroku.

John Sun

unread,
Dec 2, 2012, 12:14:12 AM12/2/12
to armstr...@googlegroups.com
Hi all,

Thanks very much for the advices. I decided to sign up with webfaction.com, it seems to get good reviews as a Django-friendly host provider. I am still struggling trying to install armstrong.

One thing I am not quite sure is, does the command "armstrong runserver" do anything more than "django-admin.py runserver"? If it does, how can I make it become a generic django application so that I can deploy under an Apache server using normal Django deployment instructions? Or what would be an alternative procedure to deploy armstrong applications directly into Apache server?

Thanks,
JSun


Travis Swicegood

unread,
Dec 2, 2012, 3:09:29 PM12/2/12
to armstr...@googlegroups.com
Hi John,

You're correct, `armstrong runserver` is essentially the same thing as running `django-admin.py runserver`.  That said, production Armstrong is exactly the same as production Django.  The standard template generates a wsgi.py file, and you use that to handle deployments, the same way that you would in Django.

Hope that helps!

-T
--
Travis Swicegood | @tswicegood (most everywhere)

John Sun

unread,
Dec 2, 2012, 8:17:49 PM12/2/12
to armstr...@googlegroups.com
Hi Travis,

Thanks very much for your pointers, I was able to get it to work on the host provider environment.

I created an armstrong site using --template=demo as a starting point, and noticed that the user interface for editing articles seems to be missing something as it does not have the richtext editors similar to the local development version on my machine. It also does not have the image selection tool in the "related content "section. 

I suspect that some packages are missing. Do you know?
Thanks,
JSun

John Sun

unread,
Dec 3, 2012, 10:55:54 AM12/3/12
to armstr...@googlegroups.com

I got it figured out. On the host provider's environment, static files are served from a front-end nginx server for enhanced performance. I just have to set up the STATIC_ROOT entry in the settings defaults.py of my armstrong application to reflect this fact.

Thanks all,
JSun
Reply all
Reply to author
Forward
0 new messages