Start up Gitea
Create a docker.compose.yml file with the latest Gitea rootless image:
version: "3"
networks:
gitea:
external: false
services:
server:
image: gitea/gitea@sha256:ef6279e13e223d956bc417f299a3530795afcf79f3af429a5c893262c550a648
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
restart: always
networks:
- gitea
volumes:
- ./gitea:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "3000:3000"
- "222:22"
Run a command to start Gitea as a docker image in your machine:
docker-compose --project-name gitea -f docker.compose.yml up -d
docker ps -a # Check if the containers are running
Go to localhost and you can see that a local instance of Gitea is running.
Okta integration
Create a Web app in Okta:

Configure the redirect URL: http://localhost:3000/user/oauth2/okta/callback

Save the Client Id and Client secret that will be input into Gitea

You must name the authentication to be the same name under the redirect url. In this case, I have name it as okta
http://localhost:3000/user/oauth2/okta/callback
The admin should paste the Client Id and Client secrets from Okta app to the Authentication Sources tab in “Site Administration”.

Test the integration between Gitea and Okta
Sign in with OpenID

You will be redirected to Okta for authentication (ensure MFA is enabled preferably with FIDO2)

If this is the first time that you login with Gitea, you will need to fill in your username and email address to create an account.
