LEdoian's Wish ==== This is a simple Django project to create and share lists of wishes. There are two motivations for this project: 1. Christmas. Every time anybody asks me what I want for Christmas, I am totally unable to answer that. 2. The need to test various Django extensions and features before production deployment. Also: Simple TODO lists. They are lists anyway, so reusing this project seems fine. But they will only work as a plain list, no special features. Contributing and support --- Code lives at Send questions and patches to Currently there is no documentation :-/ Installing --- ### Prerequisities Psycopg2 needs PostgreSQL client library to be installed. On Debian, the package is `libpq-dev`. ### Installation 1. Pull the repository to preferred location (`git clone https://gitea.ledoian.cz/LEdoian/Wish.git ` should be sufficient). 2. Optionally create a virtualenv (the deployment script and example configuration expect it in `venv` directory at repo root). 3. Install the requirements 4. Tweak and deploy the settings: - Instance configuration template is in `conf/deploycfg.py` and should be placed in `$XDG_CONFIG_DIR/wish/deploycfg.py` (or `~/.config/wish/deploycfg.py` if `$XDG_CONFIG_DIR` is not set). Tweak to your needs according to [Django documentation](https://docs.djangoproject.com/en/4.0/ref/settings/). - Configure a web reverse proxy and WSGI server to your liking. The `conf` directory contains example configuration files for uWSGI, nginx and systemd. 5. Verify the configuration using `./manage.py check --deploy`. If there are relevant errors, tweak the configuration more. 6. If everything seems OK, start the systemd service and try reaching the site. 7. You will need a superuser to be able to add other users and use the admin site: `./manage.py createsuperuser` You will likely need to reference documentation of Django, uWSGI (or other WSGI server implementation), web reverse proxy of your liking and your service manager. If you deploy using git, have a virtualenv in `./venv/` and use systemd to run the service, you can try to use the provided script `./deploy.sh` for subsequent deploys. Keep in mind, however, that it is written so it WorksForMe™ and I do not guarantee that it will work for you. But I might be able to help you and/or am open to changes, so feel free to send me questions and/or patches. Licence --- The _code_ is distributed under WTFPL v2.0. On the other hand, documentation (including this readme) is not; its licence is not yet decided. Parts of the code are autogenerated by [Django](https://www.djangoproject.com/), not by me. IANAL, so I cannot tell the specific condition of sharing this code. (However, they do not seem to care about those bits…) ### Rationale I would like to promote free software and especially empower any user of the software to be able to access the source code. Therefore, I _recommend_ anyone to link to the source code. However, this is a playground for my experiments with Django that I might want to copy-paste to other projects, without worries. I also want to make sure that others can do the same, since there probably will be nothing special in the code, just some tricks that may actually work. I _might_ want to change the licence in the future. It will _probably_ be permissive, too. The documentation in this project, however, feels a lot like an original work, so it should get a reasonable licence with reasonable conditions (i.e. at least something like CC BY, probably stricter). I still want anyone to be able to read and contribute the docs, but it should not get easily stealable.