Python HTML Java CSS JavaScript Makefile
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
assets/scss Make thumbnails visible without JavaScript Jan 5, 2018
config Update example staff config to current staff Jul 9, 2018
etc Bump cryptography from 2.3 to 2.3.1 in /etc Aug 15, 2018
libweasyl Allow replies by default even when notes are restricted Aug 8, 2018
static Remove unused define.webpage()/common_page_start() options May 19, 2018
templates Avoid redundant friend, follow, and follower queries on profile page Jun 21, 2018
weasyl-apidocs Merge moderate rating into general Jan 23, 2017
weasyl Remove unnecessary underscore prefix Aug 8, 2018
.editorconfig Fix whitespace Jan 23, 2017
.gitignore Use Python assignments as a staff configuration format Jul 7, 2018
.jshintrc Initial commit May 29, 2016 `make setup` when necessary. Jun 12, 2016 Separate `WEASYL_ROOT` into app files and storage Sep 28, 2017
.travis.yml Install sassc in CI Aug 5, 2018 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 Be compatible with npm 5 Aug 4, 2018
README.rst Bump required versions of Vagrant and Virtualbox as per testing Sep 25, 2017 Integrate coding style guide Aug 7, 2016
Vagrantfile Replace Gulp and node-sass with a script and sassc Aug 4, 2018
build.js Remove source maps Aug 4, 2018
package-lock.json Update autoprefixer-related dependencies Aug 4, 2018
package.json Update autoprefixer-related dependencies Aug 4, 2018 Don’t create database rows for new guest sessions Jun 19, 2018
setup.cfg Incorporate Charmander's suggestions Nov 26, 2017


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 (2.0.0 or greater) with VirtualBox (5.1.28 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.