Commit Graph

362 Commits

Author SHA1 Message Date
3wc d6f2f6d0bf Merge branch 'master' into yolocolo 2021-07-29 09:47:31 +02:00
3wordchant 72c04d8495 Docker image, & local development docker-compose.yml (#2)
continuous-integration/drone/push Build is passing Details
Adds:
- a Docker image, which can be used in both development and production
- a `docker-compose.yml` file for local development (could probably be adapted for production deployments)

Testing:
- `git checkout docker`
- `docker-compose up`
- pray 🙏
- go to http://localhost:5000

## App architecture

I added the ability to load secret config variables (`HUB_TOKEN`, `STRIPE_SECRET_KEY` etc) from files, to support [Docker Secrets](https://docs.docker.com/engine/swarm/secrets/) natively. The code should probably log an error if a specified `HUB_TOKEN_FILE` doesn't exist instead of failing silently..

## Docker architecture

This uses a multi-stage build to reduce the size of the final image -- having pipenv install to a predefined virtualenv, and then copying that over.

The compose file doesn't include a definition for a cron runner service, and I haven't tested running one yet. Here be dragons!

You can rebuild the image locally using `docker-compose build`, but this isn't required for changes to the app code, only if you edit the `Dockerfile`, or want to publish your image for use on a swarm server (in which case you will need to edit the image name to put in your own Docker hub credentials).

Currently, the image is rebuilt (should set up auto-tagging..) and published with every push to this 3wordchant/capsul-flask fork.

Reviewed-on: #2
Co-authored-by: 3wordchant <3wordchant@noreply.git.autonomic.zone>
Co-committed-by: 3wordchant <3wordchant@noreply.git.autonomic.zone>
2021-07-22 01:18:10 +02:00
3wordchant 5bb76173dd Add custom themes, THEME setting, basic "yolocolo" theme (#7)
Specify `THEME=yourtheme`, add some HTML files in `capsulflask/theme/yourtheme` 👌

We probably want to reduce copypasta in the current `yolocolo` theme by using template inheritance, at some point.

Reviewed-on: #7
Co-authored-by: 3wordchant <3wordchant@noreply.git.autonomic.zone>
Co-committed-by: 3wordchant <3wordchant@noreply.git.autonomic.zone>
2021-07-22 01:15:39 +02:00
3wc cfb323bf60 Merge branch 'yc-templates' into yolocolo
continuous-integration/drone/push Build is passing Details
2021-07-22 01:03:02 +02:00
3wc 8c7197f118 Merge branch 'docker' into yolocolo 2021-07-22 01:02:34 +02:00
3wc fb83f52162 Merge branch 'master' into yolocolo 2021-07-22 00:57:01 +02:00
3wc 982556a2c5 Tag with current branch, instead of `latest`
continuous-integration/drone/pr Build was killed Details
continuous-integration/drone/push Build is passing Details
2021-07-22 00:28:33 +02:00
3wc 13646e64da Make docker-compose file less demanding
continuous-integration/drone/pr Build is failing Details
continuous-integration/drone/push Build is passing Details
2021-07-21 23:50:47 +02:00
3wc 67149f437a Changes from @decentral1se code review 2021-07-21 23:50:47 +02:00
3wc 308ac05fe6 Add openssh-cient to Dockerfile for ssh-keyscan 2021-07-21 23:50:47 +02:00
3wc c378c2b287 STRIPE_SECRET_KEY not STRIPE_PUBLISHABLE_KEY 2021-07-21 23:50:47 +02:00
3wc 5367822747 Load secrets from files if _FILE vars are set 2021-07-21 23:50:47 +02:00
3wc e295b4420c Docker updates for libvirtd 2021-07-21 23:50:47 +02:00
3wc e4180b8306 Use Flask server in development 2021-07-21 23:50:47 +02:00
3wc 5cd5126039 Multi-stage build oh my! 2021-07-21 23:50:47 +02:00
3wc f8e9ab2482 Initial attempt at Docker 2021-07-21 23:50:47 +02:00
forest 8c0c613392 Merge remote-tracking branch 'threewordchant/master' 2021-07-21 16:47:46 -05:00
forest 50ee1144f9 Merge remote-tracking branch 'threewordchant/master' 2021-07-21 16:46:50 -05:00
3wc c4ba5ea197 Merge branch 'master' of ssh://git.autonomic.zone:2222/3wordchant/capsul-flask 2021-07-21 23:46:37 +02:00
forest 08eb38dc57 correctly enforce affordable_vm_sizes post form submission 2021-07-21 16:45:53 -05:00
3wc 33f4551cf4 Merge branch 'docs-reshuffle' 2021-07-21 23:44:42 +02:00
3wc 0fa7fb28b5 Split README up into separate files, plus:
* forest's ReadMe docs changes
* add Configuration-type-stuff that lives in the database
2021-07-21 23:43:44 +02:00
forest be6e72028c define BTCPAY_ENABLED based on URL and btcpay key, pass it explicitly 2021-07-21 23:43:44 +02:00
3wc bf7487f4f0 Don't load /btcpay if BTCPAY_PRIVATE_KEY un-set 2021-07-21 23:43:44 +02:00
3wc 8b0ce0ba71 Hide the BTCPay link if BTCPAY_PRIVATE_KEY un-set 2021-07-21 23:43:44 +02:00
3wc bca570882e Add load_config_vars context processor..
..to allow accessing config variables in the templates.

This removes the need for adding config variables manually to template
contexts.
2021-07-21 23:43:44 +02:00
forest f3ae9aae23 remove class="small" from pricing table cuz normal size fits fine 2021-07-21 23:43:44 +02:00
3wc 827ca4a50b Auto-generate the pricing table from the database 2021-07-21 23:43:44 +02:00
3wc 487a1ac0a3 Revert accidental change to main images 2021-07-21 23:30:14 +02:00
3wordchant f999adaf71 Add VMs to the database even with HUB_MODE=mock (#6)
https://todo.cyberia.club/~cyberia/services/83

Co-authored-by: 3wc <3wc.cyberia@doesthisthing.work>
Co-authored-by: forest <forest.n.johnson@gmail.com>
Reviewed-on: #6
Co-authored-by: 3wordchant <3wordchant@noreply.git.autonomic.zone>
Co-committed-by: 3wordchant <3wordchant@noreply.git.autonomic.zone>
2021-07-21 23:26:10 +02:00
3wc 71344fbf4d Merge branch 'yc-templates' into yolocolo 2021-07-21 22:49:17 +02:00
3wc 6f3ecf991d Custom theme fixes 2021-07-21 22:48:54 +02:00
3wc 40aa3bccd3 Load YOLOCOLO templates from a "theme" folder..
..configurable using the THEME env var.

Defaults to normal Capsul theme.
2021-07-21 22:24:25 +02:00
3wc bcc3f20b27 Tweak table style 2021-07-21 22:12:13 +02:00
3wc 8bd3971545 Improve form styling 2021-07-21 22:12:13 +02:00
3wc c639899cd0 Remove cash payment option 2021-07-21 22:12:13 +02:00
3wc a47c430855 Further colour tweak 2021-07-21 22:12:13 +02:00
3wc d5362897df Fix typo, tweak colours 2021-07-21 22:12:13 +02:00
3wc a52d183f2e More cheeky template changes 2021-07-21 22:12:13 +02:00
3wc 73042d1705 Disco updates for YOLOCOLO site 2021-07-21 22:12:13 +02:00
3wc 8f2becb9ee Fix SyntaxWarning on `is not ""`
`capsulflask/__init__.py:143: SyntaxWarning: "is not" with a literal. Did you mean "!="?`
2021-07-21 21:51:50 +02:00
3wc d3078fc5ce Merge branch 'yc-templates' into yolocolo 2021-07-21 21:07:59 +02:00
3wc d60238f6f0 Improve form styling 2021-07-21 21:07:51 +02:00
3wc ab55146d41 Remove cash payment option 2021-07-21 21:07:49 +02:00
3wc 7191213646 Further colour tweak 2021-07-21 21:07:27 +02:00
3wc 8c802a977a Fix typo, tweak colours 2021-07-21 21:07:27 +02:00
3wc 929aa29663 More cheeky template changes 2021-07-21 21:07:26 +02:00
3wc 61beee8d3b Disco updates for YOLOCOLO site 2021-07-21 21:07:03 +02:00
3wc 8586b85095 Merge branch 'master' into yolocolo
continuous-integration/drone/push Build is failing Details
2021-07-21 20:38:36 +02:00
3wordchant f848eda931 Merge pull request 'Disable BTCPay in the interface, if BTCPAY_PRIVATE_KEY is un-set' (#3) from optional-btcpay into master
Reviewed-on: #3
2021-07-21 20:20:40 +02:00