Deployment Guide
================
Here you will find all the instructions for deploying your own instance of Tesy’s Tagboard.
System Requirements
-------------------
TODO
- Storage
- RAM
Deployment Process
------------------
The simplest way to get Tesy’s Tagboard up and running is with `Docker
Compose `__. First, clone the
repository.
Configure Environment
~~~~~~~~~~~~~~~~~~~~~
TODO
Bring up the app and all it’s required services.
.. code:: bash
docker compose -f docker-compose.production.yml up -d
Then run database migrations to initialize the database.
.. code:: bash
docker compose -f docker-compose.production.yml exec django python manage.py migrate
Then create an admin user following the command prompts of ``createsuperuser``.
.. code:: bash
$ docker compose -f docker-compose.production.yml exec django python manage.py createsuperuser
See all the available application settings in `Settings `__
Logs
----
Run the following to view the logs of all running services.
.. code:: bash
$ docker compose -f docker-compose.production.yml logs -f
Alternatively select a specific service by name to only show logs from that service.
For example showing logs of just the Django app.
.. code:: bash
$ docker compose -f docker-compose.production.yml logs -f django
Some Recommendations
~~~~~~~~~~~~~~~~~~~~
Following are a few recommendations for deployment.
Reverse proxy
^^^^^^^^^^^^^
TODO
Admin Endpoint
^^^^^^^^^^^^^^
Set the admin endpoint to a long randomized, alphanumeric value to avoid
scanning or brute-force attempts. The endpoint for the admin dashboard
can be set with the :ref:`DJANGO_ADMIN_URL` environment variable, which
defaults to ``/admin``.
Set a Complex Admin Password
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Set a long, complex password for your superuser / admin account. The
``createsuperuser`` command allows you to bypass password complexity
requirements, but I recommend you make a sufficiently long and complex
password. Preferably more than 24 characters.
Schedule regular database backups.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TODO
Require email confirmation
^^^^^^^^^^^^^^^^^^^^^^^^^^
Email confirmation is required by default, but it can be disabled.
Setup one of the :ref:`supported email providers ` or use your own SMTP
server.
Deployment without cloning?
---------------------------
TODO
Configuring Tesy's Tagboard with a CDN
--------------------------------------
TODO