A tumblelog in the style of Tumblr.
Swanye is still incredibly pre-alpha software; it is highly unrecommended to run Swanye in anything other than a local setup, at this point in time.
Swanye relies on a few dependencies:
In order to run Swanye, make sure you have these installed; basic,
out-of-the-box configuration should suffice to get Swanye working. Do
remember to create a user, in your database, for the
password defined under config/dev.exs.
With those installed, – to start your Phoenix server –:
- Install dependencies with
- Create and migrate your database with
Install Node.js dependencies with
npm installinside the
- this is primarily to run the SASS monitor when developing which will build the CSS files we need for production
- Start Phoenix endpoint with
Now you can visit localhost:4000">
localhost:4000 from your
Ready to run in production? Please check Phoenix's deployment guides.
For Guix Users
mix will try to build certain dependencies locally, you will
need the packages
gcc-toolchain; you will also need to
mix commands as it will look for
gcc, as well.
In order for Elixir to monitor the system as it runs, it will complain
about a lack of
inotify-tools and the
RsaEx dependency will expect
openssl to be executable for it.
For now, running
guix shell elixir node mariadb make gcc-toolchain
inotify-tools openssl should be sufficient to get you up and running,
I think (without polluting your profile with dependencies you probably
don't want to keep).
I am hoping to create a Guix file so you can just run
from the root of the project and not worry about the details but
haven't found the time, yet.
The relevant files for the first buildpack are Procfile
sets which environment is being used and holds the command to start
elixir_buildpack.config's most relevant bits are
setting the versions of both Erlang and Elixir.
The relevant files for the second buildpack is compile, overwriting
compile script of Phoenix Static Buildpack. The main
difference from the default script is using
While MariaDB variables are already hardcoded so that the don't need to
be provided to connect to a database when running locally, the variables
MAILGUN_DOMAIN must be provided for E-mail
functionality. Currently, Swanye is setup to use Mailgun to send
E-mails; obviously, providing greater choice (and, hopefully, more libre
options) is a desire, for the future.
be provided to test image uploading and storage usage; you must have a
DreamObjects account for this, however.
Production environment variables in use are:
DREAM_OBJECTS_ACCESS_KEY_ID– DreamObjects ID, for image storage
DREAM_OBJECTS_SECRET_ACCESS_KEY– DreamObjects Secret, for image storage
MARIADB_USERNAME– MariaDB username for database access
MARIADB_PASSWORD– MariaDB password for database access
MARIADB_HOST– MariaDB host/domain for database access
MARIADB_DATABASE– MariaDB database name for database access
SECRET_KEY_BASE– Used by Phoenix; generate with
MAILGUN_API_KEY– Your Mailgun-given API key
MAILGUN_DOMAIN– The Mailgun domain of your Mailgun account
PHX_HOST(for Prod.) – The domain of your site
PORT(optional) – The port you need your application to connect to, if not
Other places to find us
If you want to follow for updates about the development progress, general updates (including my thoughts about new features and how development is going) can be found at our Mastodon account.
If you're interested in helping support me so I can work on Swanye, the project also has a Liberapay.