Releases: SnarpleDev/Snazzle
Snazzle Production Server v3
SPS v3: Now with 104% less bugs!
v3 has no major changes from v2. It should fix #86 though. v4 will come out Soon(TM) which will make SPS into a branch of main
and make it easier to run in a Docker container while still supporting systemd
for running on bare metal. v5 will add support for macOS' launchd
to allow running SPS in the background on that platform.
Information
A quick-and-dirty hack I did to create a version of Snazzle that can be used in prod. It's basically just Snazzle bundled with and tweaked to use bjoern as a WSGI server. It's also got a tool bundled with it to manage the server via the command line.
The file Snazzle-Prod-Posix-v3.tar.gz
contains the source code for it. Windows version is coming Soon(TM). Does not follow SemVer. The version number just increments by one for each release.
bjoern is so fast that any performance issues are probably our or your computer's fault.
Installation
Once downloading and decompressing the Snazzle-Prod-Posix-v3.tar.gz
file, you need to install an additional library called libev
which has to be done via the terminal using one of the following commands:
sudo apt install libev-dev # Ubuntu, Debian, Raspberry Pi
sudo dnf install libev-devel # Fedora, Red Hat, CentOS
sudo brew install libev # macOS (using Homebrew)
sudo pacman -S libev # Arch
After that, change the value of SNAZZLE_PATH
in the .env
file to the absolute path of where your installation is.
Then you can do python3 app.py
to run the server normally, as the compressed file has all the deps installed already. (Whoops.)
Running SPS as a systemd
service
On Linux, you can use systemd
to have software run constantly in the background. I had to tweak a lot of things to get it to work properly, which is why this took all morning for me to create.
Eventually you'll be able to do something similar on macOS, but that uses launchd
instead of systemd
which I haven't looked into yet.
To do this with SPS, once unzipped, run:
server-util.sh setup
server-util.sh create-service
which will create a systemd user service called snazzle
that is started after running this command.
To run this at all times when your server is on, add the -x
flag to create-service
. To disable this behaviour:
server-util.sh disable-extra
You might want to add this to your PATH or add an alias to it in your .bashrc
(I did this and called it snazzle
).
Other useful server-util sub-commands (prefix these with server-util.sh
or your alias):
# Self-explanatory:
start
restart
stop
# Requires explanation:
status
# Shows the status of the server (its output, if it crashed, etc.)
update-env
# Updates the global `.env` file for Snazzle stored at `/etc/snazzle/.env` to match the one in your installation directory
update-service
# Updates the service file if you've made modifications to it
# NOTE: After running this you will need to run `systemctl --user daemon-reload`
Snazzle Production Server v2
Now with a non-empty archive!
Changes from v1 -> v2:
- Now supports running as a systemd service
- Half-functional resource monitor panel
- Includes a server config tool
Information
A quick-and-dirty hack I did to create a version of Snazzle that can be used in prod. It's basically just Snazzle bundled with and tweaked to use bjoern as a WSGI server. It's also got a tool bundled with it to manage the server via the command line.
The file Snazzle-Prod-Server-v2.tar.gz
contains the source code for it. Will not work on Windows. Does not follow SemVer. The version number just increments by one for each release.
bjoern is so fast that any performance issues are probably our or your computer's fault.
Installation
Once downloading and decompressing the Snazzle-Prod-Server-v2.tar.gz
file, you need to install an additional library called libev
which has to be done via the terminal using one of the following commands:
sudo apt install libev-dev # Ubuntu, Debian, Raspberry Pi
sudo dnf install libev-devel # Fedora, Red Hat, CentOS
sudo brew install libev # macOS (using Homebrew)
sudo pacman -S libev # Arch
After that, change the value of SNAZZLE_PATH
in the .env
file to the absolute path of where your installation is.
Then you can do python3 app.py
to run the server normally, as the compressed file has all the deps installed already. (Whoops.)
Running SPS as a systemd
service
On Linux, you can use systemd
to have software run constantly in the background. I had to tweak a lot of things to get it to work properly, which is why this took all morning for me to create.
Eventually you'll be able to do something similar on macOS, but that uses launchd
instead of systemd
which I haven't looked into yet.
To do this with SPS, once unzipped, run:
server-util.sh setup
server-util.sh create-service
which will create a systemd user service called snazzle
that is started after running this command.
To run this at all times when your server is on, add the -x
flag to create-service
. To disable this behaviour:
server-util.sh disable-extra
You might want to add this to your PATH or add an alias to it in your .bashrc
(I did this and called it snazzle
).
Other useful server-util sub-commands (prefix these with server-util.sh
or your alias):
# Self-explanatory:
start
restart
stop
# Requires explanation:
status
# Shows the status of the server (its output, if it crashed, etc.)
update-env
# Updates the global `.env` file for Snazzle stored at `/etc/snazzle/.env` to match the one in your installation directory
update-service
# Updates the service file if you've made modifications to it
# NOTE: After running this you will need to run `systemctl --user daemon-reload`
Snazzle Production Server v1
Information
A quick-and-dirty hack I did to create a version of Snazzle that can be used in prod. It's basically just Snazzle bundled with and tweaked to use bjoern as a WSGI server. The file Snazzle-Prod-Server.tar.gz
contains the source code for it. Will not work on Windows. Does not follow SemVer. The version number just increments by one for each release.
bjoern is so fast that any performance issues are probably our fault.
Installation
Once downloading and decompressing the Snazzle-Prod-Posix.tar.gz
file, it's largely the same as normal Snazzle but you need to install an additional library called libev
which has to be done via the terminal using one of the following commands:
sudo apt install libev-dev # Ubuntu, Debian, Raspberry Pi
sudo dnf install libev-devel # Fedora, Red Hat, CentOS
sudo brew install libev # macOS (using Homebrew)
sudo pacman -S libev # Arch
To run the server, you must run python3 app.py
instead of flask run --with-threads
, because flask run
uses Flask's development server, and will not use bjoern.
Snazzle Stable v0.2.1
This release fixes some critical security bugs and adds some new features.
What's Changed
- Use the Search API instead of the Explore Search API by @NotFenixio in #60
- Bump urllib3 from 2.0.4 to 2.0.7 by @dependabot in #62
- Bump werkzeug from 2.3.6 to 2.3.8 by @dependabot in #61
- Bump jinja2 from 3.1.2 to 3.1.3 by @dependabot in #63
- Create WIP Dazzle docs by @NotFenixio in #65
- Security Policy Update by @dynamixbot in #66
- No longer hard code logging "message" key by @Steve0Greatness in #68
- Removed Aviate from Codebase by @Steve0Greatness in #69
- Removed the Replit link from the footer by @Steve0Greatness in #70
- Bump idna from 3.4 to 3.7 by @dependabot in #71
- Use .env Variables for Dazzle (Dazzle dir) by @Steve0Greatness in #72
- Bump requests from 2.31.0 to 2.32.2 by @dependabot in #76
- Bump werkzeug from 2.3.8 to 3.0.3 by @dependabot in #78
- Bump jinja2 from 3.1.3 to 3.1.4 by @dependabot in #77
Full Changelog: v0.2...v0.2.1
Snazzle Stable v0.2
We made it to the second release, believe it or not.
What's Changed
- Update README.md by @EngineerRunner in #4
- Update settings.html by @EngineerRunner in #9
- Add info about Arch installs by @Darth-Ness in #11
- Add a Nord theme. by @Darth-Ness in #12
- Add Gruvbox theme and some various style changes by @ajskateboarder in #13
- Subforum rework by @redstone-dev in #18
- add project studio stuff on home page by @ajskateboarder in #17
- Fix theme issue by @Darth-Ness in #22
- project pages by @EngineerRunner in #5
- add cache on all pages except for /forums, various improvements by @ajskateboarder in #25
- Revert "add cache on all pages except for /forums, various improvements" by @redstone-dev in #26
- Revert "Revert "add cache on all pages except for /forums, various im… by @redstone-dev in #27
- Fix theming issues by @Darth-Ness in #28
- Break dependency on Google Fonts by @Darth-Ness in #33
- Fix an issue with Fonts by @Darth-Ness in #36
- Add more options to .env by @davidtheplatform in #40
- migrate to sqlite by @ajskateboarder in #42
- Add contributing section to readme by @davidtheplatform in #46
- Show login information on app pages by @ajskateboarder in #47
- Changing those ugly scrollbars into prettier ones by @NotFenixio in #49
- Search feature by @NotFenixio in #51
- Remove saved posts link because it is broken by @davidtheplatform in #52
New Contributors
- @EngineerRunner made their first contribution in #4
- @Darth-Ness made their first contribution in #11
- @ajskateboarder made their first contribution in #13
- @NotFenixio made their first contribution in #49
Full Changelog: https://github.com/redstone-dev/Snazzle/commits/v0.2
Snazzle Stable v0.1
The first release of Snazzle! Thanks to everyone who made it possible:
New Contributors
- @EngineerRunner made their first contribution in #4
- @Darth-Ness made their first contribution in #11
- @ajskateboarder made their first contribution in #13
Full Changelog: https://github.com/redstone-scratch/Snazzle/commits/v0.1
The first "first release" (which was deleted) had a critical bug, which was fixed in main
and merged into this release.