A minimalist platform for hosting webcomics. Gives a nice browsing experience due to AJAX navigation.
Switch branches/tags
Nothing to show
Clone or download
Thane Brimhall
Latest commit 0bb2694 Oct 25, 2018

README.md

License

This minimal webcomics platform is available under the terms of the permissive MIT license. While not required, if you do something interesting with the code, please drop us a line; we'd love to know what you're up to!

Project Setup

Want to run a comics server for yourself? Maybe you'd rather send us a bug fix or new feature? Get started here.

##Docker Setup

If you're unfamiliar with Docker, this might be a little tricky for you. It's worth learning though; power through it until you understand!

  • Install Docker and Docker Compose for your platform
  • Run docker-compose build
  • Run docker-compose up -d
  • The site will now be running on http://localhost
  • Enter a shell on the docker django machine docker exec -it YOUR_CONTAINER_ID bash
  • Create the database python3 manage.py migrate
  • Add a superuser python3 manage.py createsuperuser
  • Collect static files python3 manage.py collectstatic
  • Add Data into the Django Admin.
  • Open the Site in a Web Browser.

Roadmap

  • Social link previews
  • Extended Markdown for tag links; update transcripts and wiki pages
  • Refine Tag, TagType, and Archive Pages
  • Archive/Transcript/Tag Search
  • Translations
  • Fix Navigation on VERY old browsers and crawlers (anchor fallback for no js)
  • Domain-specific routing
  • Main Page (temporarily just redirecting to swords)

AWS Ubuntu Setup

Here's a rough outline of what I did to get this server deployed on an Ubuntu AWS EC2 instance.

# Fix an annoying bug in AWS. This will be the last "unable to resolve host" error you see
sudo sh -c 'echo "127.0.0.1 $(hostname)" >> /etc/hosts'

# Get Docker
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get install docker-ce
# OPTIONAL: if you don't want to use docker as sudo
# sudo groupadd docker
# sudo usermod -aG docker $USER
# sudo systemctl enable docker
# REBOOT HERE

# Get docker-compose
sudo curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
sudo chmod 777 /usr/local/bin/docker-compose

# Get the project
git clone https://github.com/pennomi/comics.git
cd comics
sudo docker-compose build
sudo docker-compose up -d

# Configure SSL Cert with Let's Encrypt
# First, set your DNS to the public IP address of the server
sudo docker exec -it <container_id> bash
certbot --nginx -d <your_domain_name>

# Create the database for administration
./manage.py migrate
./manage.py createsuperuser
./manage.py collectstatic