JavaScript Python HTML Java CSS Makefile
Latest commit 8312740 Jan 22, 2017 @hyena hyena committed on GitHub Merge pull request #185 from charmander/throw-on-read-failure
Remove unused `` parameters; let errors propagate
Failed to load latest commit information.
assets/scss Remove vendor prefixes Jan 21, 2017
config Use psycopg2cffi instead of psycopg2 Jun 23, 2016
etc Revert "Revert "Marketplace (Commission Search)"" Dec 31, 2016
libweasyl Merge pull request #185 from charmander/throw-on-read-failure Jan 23, 2017
static update help images Jan 14, 2017
templates Use LOGIN for building links to users Jan 17, 2017
weasyl-apidocs Update link to directory on github/copyright year Jun 26, 2016
weasyl Merge pull request #185 from charmander/throw-on-read-failure Jan 23, 2017
.editorconfig Add Makefile rule to .editorconfig Oct 30, 2016
.gitignore Start untangling ball of CSS into Sass Jun 16, 2016
.jshintrc Initial commit May 29, 2016 `make setup` when necessary. Jun 12, 2016 Yet another python inconsistency. Jun 12, 2016
.travis.yml Use PostgreSQL 9.5 for CI Jul 6, 2016 Move bugs to publicly visible and combine them; fix mood Sep 10, 2016 Clarify conditions around sexual imagery examples Jun 17, 2016
LICENSE-Apache-2.0.txt Initial commit May 29, 2016
Makefile Separate asset reloading from template reloading Jun 22, 2016
README.rst Make a README sentence less awkward Jan 2, 2017 Integrate coding style guide Aug 7, 2016
Vagrantfile Fix Vagrantfile database extraction and adjust libweasyl requirements Dec 31, 2016
gulpfile.js Add sass:watch Gulp task Aug 11, 2016
package.json Use Autoprefixer Jun 16, 2016 Update Aug 24, 2016
setup.cfg Rename section to tool:pytest in setup.cfg Sep 2, 2016


Welcome to Weasyl!

Weasyl is a social gallery website designed for artists, writers, musicians, and more to share their work with other artists and fans. We seek to bring the creative world together in one easy to use, friendly, community website.


The easiest way to get Weasyl running is within a virtual environment using Vagrant (1.6 or greater) with VirtualBox (4.3.16 or greater). From inside the weasyl directory, simply run:

$ make setup-vagrant

After libweasyl is cloned, Vagrant will fetch the base box and then provision the VM. Expect this step to take a while as it downloads a virtual machine image, installs all of Weasyl's dependencies, and populates a small database.

To start the server inside the VM, run:

$ make guest-run

Weasyl will then start running on <>. Ignore any warnings about the self-signed certificate.

Next Steps

At this point Weasyl is running within a virtual machine. Your Weasyl repo is mounted as /home/vagrant/weasyl inside the guest so edits made locally will be reflected inside the VM. To make changes, stop the make guest-run process, edit the code, and rerun make guest-run.

If you need to examine the virtual machine (e.g. to look at the database directly), run vagrant ssh.

The Sample Database

The downloaded database contains sample content pulled and scrubbed from Weasyl staff accounts. No content should be included from non-staff users except from those who have explicitly given permission to use their account.

For privacy and technical reasons, not all content is included: Hidden submissions, private messages, journals, hidden favorites, notifications, and similar things have been removed. If you want to develop around such functionality, they will have to be added manually.

All passwords in the database have been set to 'password'.

Troubleshooting and Getting Help

If the make setup-vagrant step fails halfway through, you can resume it with the standard vagrant commands vagrant up followed by vagrant provision.

If you have questions or get stuck, you can trying talking to Weasyl project members in the project's gitter room.

The above instructions have been tested on Linux and OS X. It should be possible to run Weasyl in a virtual environment under Windows, but it hasn't been thoroughly tested.

When developing under Windows hosts with a Linux guest, ensure that either Intel VT-x/EPT or AMD-V/RVI are exposed to the virtual machine (e.g., the "Virtualize Intel VT-x/EPT or AMD-V/RVI" setting under the Processors device settings for the guest VM in VMware). If this setting is not selected, the configuration of the Weasyl VM via make setup-vagrant may hang when Vagrant attempts to SSH to the VM to perform configuration of the guest.

Code of Conduct

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Style Guide

When committing code, be sure to follow the Style and Best Practices Guide.