cpomf
Version, currently master branch1 version
- master branchlatestMar 27, 2017
github.com/clickbait/cpomf
Pomf API compatible file host written in Crystal - The software behind nya.is.
35 stars
0 dependents
License: MIT
Installation
# Add this to your shard.yml
dependencies:
cpomf:
github: clickbait/cpomf
branch: mastermaster is a branch, not a release, so this tracks it rather than pinning a version.
Then run:
shards installshard.yml
- Crystal
- no constraint declared
- Author
- neko <neko@pomf.is>
Dependencies
Runtime Dependencies
- pg~> 0.11.0github: will/crystal-pg
- jwt~> 0.2.1github: greyblake/crystal-jwt
- pool~> 0.2.3github: ysbaddaden/pool
- redis~> 1.6.7github: stefanwille/crystal-redis
- slang*github: jeromegn/slang, branch: master
- crouter*github: jreinert/crouter, branch: master
- multipart~> 0.1.1github: RX14/multipart.cr
- CrystalEmail*github: Nephos/CrystalEmail, branch: master
Development Dependencies
- spec2*github: waterlink/spec2.cr, branch: masterdev
README
# cpomf pomf backend written in crystal for pomf.is ## Installation ### Prerequisites - Postgres - Mschematool - Crystal 0.20.4 ### Setup Set your environment variables: - `POMF_PORT` - The port that cpomf listens to. - `POMF_DEBUG` - Whether or not cpomf is in debug mode true|false - `POMF_DATABASE_URL` - The postgres URL for your database, eg; `postgres://localhost/pomf_database` - `POMF_SECRET_KEY` - Your secret key; preferably something that's long and randomly generated. - `POMF_ADMINS` - A comma seperated list of admin usernames; keeping in mind that usernames are lowercase and alphanumeric only. - `POMF_BLACKLISTED_NAMES` - A comma seperated list of banned usernames; it's usually good to blacklist names like admin or anything else you don't want users to use. - `POMF_UPLOAD_DIR` - Relative path to your pomf upload directory. - `POMF_URL` - the root URL of your site; eg. `https://pomf.is/` - `POMF_UPLOAD_URL` - The upload URL for your site; eg. `https://u.pomf.is/` Run `shards install` to install dependencies. Run `mschematool default init_db` and then `mschematool default sync` Compile the project with `crystal build --release pomf.cr` ## Usage Run cpomf like you would run any other binary file `./pomf` Use a nginx reverse proxy to cpomf; and use nginx to handle static files, including those in /src/pomf/public; google tutorials if you need to. Please make sure that you modify the default templates and styles before you host your own clone; I've left nya.is' designs in as a reference, but being unique is king in a sea of clones. Make sure you create your account before you release your site. ## Contributing 1. Fork it ( https://github.com/neko/cpomf/fork ) 2. Create your feature branch (git checkout -b my-new-feature) 3. Commit your changes (git commit -am 'Add some feature') 4. Push to the branch (git push origin my-new-feature) 5. Create a new Pull Request ## Contributors - [neko](https://github.com/neko) neko - creator, maintainer - [RX14](https://github.com/RX14) RX14 - contributor
Documentation
Built from the current release. The first visit to a release nobody has asked for starts its build.
Links
This branch
- Branch
master- Seen
- Mar 27, 2017
- Indexed
- yes
Dependents
No indexed shard depends on this one yet.
Repository
github.com/clickbait/cpomf
Metadata
- Created
- Aug 12, 2026
- Updated
- Aug 12, 2026
- Synced
- Aug 12, 2026
- Versions
- 1