Skip to content

GoServe! is a simple static website server that is standalone and enables quick website deployment and serving.

License

Notifications You must be signed in to change notification settings

pathaugen/GoServe

Repository files navigation

GoServe!

Build Status CircleCI Build status

Code Climate Test Coverage Issue Count

v1.0.0-alpha-4 (CURRENTLY IN DEV) v1.0.0-alpha-3 Launched for testing (New GUI)

GoServe! is a powerful and simple to use cross platform web server that is fully standalone.

The entire web stack is contained in a single binary, and enables quick web deployment and powerful web serving capabilities.

Platforms: OSX, Unix, Linux, Windows

Fully Standalone: Doesn't require Apache, NGINX, or anything other than this single GoServe! binary. No dependencies!

GoServe! was started as an open source version of enterprise features used in various large companies serving single or multiple web projects both internally and externally.

GoServe! was created for friends, and the community as a whole, to quickly spin up projects ranging from a single static website, to enterprise scale for entire webhosts.

GoServe! is perfect in the education field, mainly those teaching HTML/CSS/JS, with zero need for platform dependant server setup. Focus on the content your students are learning and developing, instead of them getting lost and frustrated in the setup process.

For more information on GoServe! in education, view the education specific wiki documentation: https://github.com/pathaugen/GoServe/wiki/GoServe!-in-Education

If you are using GoServe! in your company or organization, please consider adding them to the list and any details you wish to provide! https://github.com/pathaugen/GoServe/wiki/Those-Using-GoServe!

Thank you from the GoServe! team


Quick Start

  1. Download latest release of GoServe! for your platform (OSX, Unix, Linux, Windows)
  2. Launch Binary/Executable
  3. In the GoServe! console, listen on a port by typing this example:
    • $ listen 8080
  4. Open any web browser and visit:

For more information and full documentation, view the wiki: https://github.com/pathaugen/GoServe/wiki


Feature List

  • Multiple Server and Domain Support
    • Power of a large webhost in a single binary
    • Multiple domains pointed to same application instance supported
    • Spin up one webserver on a port, or multiple webservers on different ports
      • Outside the application can route differing bandwidth, static or dynamic IPs to these various servers/ports
    • Each webserver on each port customizable with one or more domains
    • Perfect for one website or hundreds
  • Content and Pages
    • Static website pages support and switchable between text (.txt), HTML (.html), and Markdown (.md)
      • MarkDown pages translated and output to HTML
      • Text pages translated to HTML with simple whitespace translations
      • Pure HTML pages support linked CSS and JS per-page
  • Templates
    • Templates following Golang standard template format
    • Templates selectable per domain in application: domain.com/templates
    • Template include HTML, CSS, and JS resources
  • HTTPS
    • HTTPS SSL with pre-generated placeholder certificate (make sure to replace with your own!)
  • Speed and Caching
    • File based caching for low server load and speed
    • Memory based caching for high performance and high number of users
  • Administration
    • Console Controls
      • Full console controlling on all platforms (Unix/Linux/Windows)
      • Full monitoring via console command: monitor
      • Full monitoring of active users via console command: active
    • Form based administration and editing of all templates: /templates
      • Full form editing of HTML, CSS, JS for each template
    • Form based editing of all page data via extension: .edit
      • HTML content also includes administration of CSS and JS per page
  • API
    • API endpoints baked into the website URLs themselves via dot notation
      • .create
      • .edit
      • .save
      • .text
      • .md
      • .html
      • .css
      • .js
      • .template

External Libraries

Migrated from /external to /vendor per Vendor changes to Golang 1.6: https://golang.org/cmd/go/#hdr-Vendor_Directories https://docs.google.com/document/d/1Bz5-UB7g2uPBdOx-rw5t9MxJwkfpx90cqG9AFL0JAYo


External Libraries (No Longer Used)


v1.0.0 (UNRELEASED)

  • Added:
  • Major Changes:
  • Minor Changes:
  • Bugs Fixed:

License

TBA

About

GoServe! is a simple static website server that is standalone and enables quick website deployment and serving.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published