To create a service that runs a FastAPI application within a virtual environment (venv) on Ubuntu boot, you can follow these steps:
sudo apt install -y libcups2-dev
Create a systemd service unit file to manage your FastAPI application as a service. Create a file named, for example, myapp.service
in the /etc/systemd/system/
directory with the following content:
[Unit]
Description=FastPrinterHost Service
After=network.target
[Service]
User=mazhar
Group=www-data
WorkingDirectory=/home/mazhar/PycharmProjects/FastAPI-Practice/server
Environment="PATH=/home/mazhar/PycharmProjects/FastAPI-Practice/venv/bin"
ExecStart=/home/mazhar/PycharmProjects/FastAPI-Practice/venv/bin/uvicorn api:app --host 0.0.0.0 --port 8000
Restart=always
[Install]
WantedBy=multi-user.target
Run the following commands to enable and start the systemd service:
sudo systemctl enable myapp.service
sudo systemctl start myapp.service
This will start your FastAPI application as a service and configure it to start on boot.
You can check the status of the service using:
sudo systemctl status myapp.service
Make sure your FastAPI application is running as expected.
Your FastAPI application should now run as a service on Ubuntu boot. Make sure to replace the placeholder values in the systemd unit file with your actual values.