Departure from our old symfony internal site
There are two ways to get symfexit running locally:
Both are described below.
If your editor supports devcontainers this is the easiest way to start working.
The specifics vary between editors, but you probably need to install a plugin or extension to support devcontainers. For VSCode, you need the Remote - Containers extension.
On your machine you need to have Docker installed.
Then, the steps are as follows:
- Clone the repository:
git clone https://github.com/roodjong/symfexit.git
- Open the repository in your editor.
- You should see a notification that a devcontainer configuration is available. Click on the notification to open the repository in a devcontainer.
- The devcontainer will build and start, and you will be in a shell inside the devcontainer.
You may need to configure VSCode to use the .venv uv
created, so that Pylance can follow the dependencies.
Continue following the first time setup steps below.
The recommended setup for running symfexit locally is to use uv
Of course, you can use other tools for working with Python, but the instructions below are for uv
.
- Install uv following their instructions: https://docs.astral.sh/uv/getting-started/installation/
- Clone the repository:
git clone https://github.com/roodjong/symfexit.git
- Change into the repository:
cd symfexit
- Run
uv sync --python 3.13 --dev
to install the dependencies.uv
will also install Python 3.13 for you. A virtual environment will be created at.venv
. - Source the virtual environment:
source .venv/bin/activate
(this differs per shell, for example for fish it issource .venv/bin/activate.fish
)
You now have the Python environment set up. You also need a local database. Use your preferred way to install PostgreSQL, only version 17 is currently recommended, as symfexit is known to work with it.
Usually PostgreSQL is set up to trust your local unix user, so you can create the database and user like this:
createdb symfexit
If you have different users for PostgreSQL, you can set the DATABASE_URL
environment variable to the correct value.
The default value is postgres:///symfexit
.
To start the server, run:
python manage.py develop
If you haven't started the server before, the command will prompt you to run the migrations. You can do this by running:
python manage.py migrate
This will start the webserver, the worker for the background tasks, and the watcher for Tailwind.
Whenever you make changes to the Python code, the server will automatically reload. The watcher for Tailwind will also automatically rebuild the CSS.